diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 9434cea48..217544884 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -85,7 +85,7 @@ dependencies {
implementation(projects.core.data)
implementation(projects.core.model)
implementation(projects.core.analytics)
- implementation(projects.sync.work)
+ implementation(projects.sync)
implementation(libs.androidx.activity.compose)
implementation(libs.androidx.compose.material3.adaptive)
@@ -112,11 +112,11 @@ dependencies {
kspTest(libs.hilt.compiler)
testImplementation(projects.core.testing)
- testImplementation(projects.sync.syncTest)
testImplementation(libs.androidx.compose.ui.test)
testImplementation(libs.androidx.work.testing)
testImplementation(libs.hilt.android.testing)
testImplementation(testFixtures(projects.core.data))
+ testImplementation(testFixtures(projects.sync))
testDemoImplementation(libs.robolectric)
testDemoImplementation(libs.roborazzi)
diff --git a/docs/images/graphs/dep_graph_sync_sync_test.svg b/docs/images/graphs/dep_graph_sync_sync_test.svg
deleted file mode 100644
index 58a31af19..000000000
--- a/docs/images/graphs/dep_graph_sync_sync_test.svg
+++ /dev/null
@@ -1,153 +0,0 @@
-
-
-
diff --git a/docs/images/graphs/dep_graph_sync_work.svg b/docs/images/graphs/dep_graph_sync_work.svg
deleted file mode 100644
index 2581a10ae..000000000
--- a/docs/images/graphs/dep_graph_sync_work.svg
+++ /dev/null
@@ -1,138 +0,0 @@
-
-
-
diff --git a/settings.gradle.kts b/settings.gradle.kts
index b1d8e505f..29d51c90f 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -59,7 +59,6 @@ include(":feature:topic")
include(":feature:search")
include(":feature:settings")
include(":lint")
-include(":sync:work")
-include(":sync:sync-test")
+include(":sync")
include(":ui-test-hilt-manifest")
diff --git a/sync/sync-test/.gitignore b/sync/.gitignore
similarity index 100%
rename from sync/sync-test/.gitignore
rename to sync/.gitignore
diff --git a/sync/work/README.md b/sync/README.md
similarity index 100%
rename from sync/work/README.md
rename to sync/README.md
diff --git a/sync/work/build.gradle.kts b/sync/build.gradle.kts
similarity index 89%
rename from sync/work/build.gradle.kts
rename to sync/build.gradle.kts
index 7e61c7389..053a0ec9a 100644
--- a/sync/work/build.gradle.kts
+++ b/sync/build.gradle.kts
@@ -23,6 +23,7 @@ android {
defaultConfig {
testInstrumentationRunner = "com.google.samples.apps.nowinandroid.core.testing.NiaTestRunner"
}
+ testFixtures.enable = true
namespace = "com.google.samples.apps.nowinandroid.sync"
}
@@ -42,4 +43,8 @@ dependencies {
androidTestImplementation(libs.hilt.android.testing)
androidTestImplementation(libs.kotlinx.coroutines.guava)
androidTestImplementation(projects.core.testing)
+
+ kspTestFixtures(libs.hilt.compiler)
+ testFixturesImplementation(libs.hilt.android.testing)
+ testFixturesImplementation(projects.core.data)
}
diff --git a/sync/work/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/sync/workers/SyncWorkerTest.kt b/sync/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/sync/workers/SyncWorkerTest.kt
similarity index 92%
rename from sync/work/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/sync/workers/SyncWorkerTest.kt
rename to sync/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/sync/workers/SyncWorkerTest.kt
index 9c9d13510..ad0a29469 100644
--- a/sync/work/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/sync/workers/SyncWorkerTest.kt
+++ b/sync/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/sync/workers/SyncWorkerTest.kt
@@ -23,11 +23,13 @@ import androidx.work.WorkInfo
import androidx.work.WorkManager
import androidx.work.testing.SynchronousExecutor
import androidx.work.testing.WorkManagerTestInitHelper
+import dagger.hilt.android.testing.BindValue
import dagger.hilt.android.testing.HiltAndroidRule
import dagger.hilt.android.testing.HiltAndroidTest
import org.junit.Before
import org.junit.Rule
import org.junit.Test
+import org.junit.rules.TemporaryFolder
import kotlin.test.assertEquals
@HiltAndroidTest
@@ -36,6 +38,10 @@ class SyncWorkerTest {
@get:Rule(order = 0)
val hiltRule = HiltAndroidRule(this)
+ @BindValue
+ @get:Rule(order = 1)
+ val tmpFolder: TemporaryFolder = TemporaryFolder.builder().assureDeletion().build()
+
private val context get() = InstrumentationRegistry.getInstrumentation().context
@Before
diff --git a/sync/work/src/demo/kotlin/com/google/samples/apps/nowinandroid/sync/di/SyncModule.kt b/sync/src/demo/kotlin/com/google/samples/apps/nowinandroid/sync/di/SyncModule.kt
similarity index 100%
rename from sync/work/src/demo/kotlin/com/google/samples/apps/nowinandroid/sync/di/SyncModule.kt
rename to sync/src/demo/kotlin/com/google/samples/apps/nowinandroid/sync/di/SyncModule.kt
diff --git a/sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/initializers/SyncInitializer.kt b/sync/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/initializers/SyncInitializer.kt
similarity index 100%
rename from sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/initializers/SyncInitializer.kt
rename to sync/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/initializers/SyncInitializer.kt
diff --git a/sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/initializers/SyncWorkHelpers.kt b/sync/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/initializers/SyncWorkHelpers.kt
similarity index 100%
rename from sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/initializers/SyncWorkHelpers.kt
rename to sync/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/initializers/SyncWorkHelpers.kt
diff --git a/sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/status/StubSyncSubscriber.kt b/sync/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/status/StubSyncSubscriber.kt
similarity index 100%
rename from sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/status/StubSyncSubscriber.kt
rename to sync/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/status/StubSyncSubscriber.kt
diff --git a/sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/status/SyncSubscriber.kt b/sync/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/status/SyncSubscriber.kt
similarity index 100%
rename from sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/status/SyncSubscriber.kt
rename to sync/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/status/SyncSubscriber.kt
diff --git a/sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/status/WorkManagerSyncManager.kt b/sync/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/status/WorkManagerSyncManager.kt
similarity index 100%
rename from sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/status/WorkManagerSyncManager.kt
rename to sync/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/status/WorkManagerSyncManager.kt
diff --git a/sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/workers/AnalyticsExtensions.kt b/sync/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/workers/AnalyticsExtensions.kt
similarity index 100%
rename from sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/workers/AnalyticsExtensions.kt
rename to sync/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/workers/AnalyticsExtensions.kt
diff --git a/sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/workers/DelegatingWorker.kt b/sync/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/workers/DelegatingWorker.kt
similarity index 100%
rename from sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/workers/DelegatingWorker.kt
rename to sync/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/workers/DelegatingWorker.kt
diff --git a/sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/workers/SyncWorker.kt b/sync/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/workers/SyncWorker.kt
similarity index 100%
rename from sync/work/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/workers/SyncWorker.kt
rename to sync/src/main/kotlin/com/google/samples/apps/nowinandroid/sync/workers/SyncWorker.kt
diff --git a/sync/work/src/main/res/values/strings.xml b/sync/src/main/res/values/strings.xml
similarity index 100%
rename from sync/work/src/main/res/values/strings.xml
rename to sync/src/main/res/values/strings.xml
diff --git a/sync/work/src/prod/AndroidManifest.xml b/sync/src/prod/AndroidManifest.xml
similarity index 100%
rename from sync/work/src/prod/AndroidManifest.xml
rename to sync/src/prod/AndroidManifest.xml
diff --git a/sync/work/src/prod/kotlin/com/google/samples/apps/nowinandroid/sync/di/SyncModule.kt b/sync/src/prod/kotlin/com/google/samples/apps/nowinandroid/sync/di/SyncModule.kt
similarity index 100%
rename from sync/work/src/prod/kotlin/com/google/samples/apps/nowinandroid/sync/di/SyncModule.kt
rename to sync/src/prod/kotlin/com/google/samples/apps/nowinandroid/sync/di/SyncModule.kt
diff --git a/sync/work/src/prod/kotlin/com/google/samples/apps/nowinandroid/sync/services/SyncNotificationsService.kt b/sync/src/prod/kotlin/com/google/samples/apps/nowinandroid/sync/services/SyncNotificationsService.kt
similarity index 100%
rename from sync/work/src/prod/kotlin/com/google/samples/apps/nowinandroid/sync/services/SyncNotificationsService.kt
rename to sync/src/prod/kotlin/com/google/samples/apps/nowinandroid/sync/services/SyncNotificationsService.kt
diff --git a/sync/work/src/prod/kotlin/com/google/samples/apps/nowinandroid/sync/status/FirebaseSyncSubscriber.kt b/sync/src/prod/kotlin/com/google/samples/apps/nowinandroid/sync/status/FirebaseSyncSubscriber.kt
similarity index 100%
rename from sync/work/src/prod/kotlin/com/google/samples/apps/nowinandroid/sync/status/FirebaseSyncSubscriber.kt
rename to sync/src/prod/kotlin/com/google/samples/apps/nowinandroid/sync/status/FirebaseSyncSubscriber.kt
diff --git a/sync/sync-test/src/main/kotlin/com/google/samples/apps/nowinandroid/core/sync/test/TestSyncModule.kt b/sync/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/sync/di/TestSyncModule.kt
similarity index 81%
rename from sync/sync-test/src/main/kotlin/com/google/samples/apps/nowinandroid/core/sync/test/TestSyncModule.kt
rename to sync/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/sync/di/TestSyncModule.kt
index ceca1cb5c..397844d5a 100644
--- a/sync/sync-test/src/main/kotlin/com/google/samples/apps/nowinandroid/core/sync/test/TestSyncModule.kt
+++ b/sync/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/sync/di/TestSyncModule.kt
@@ -14,10 +14,11 @@
* limitations under the License.
*/
-package com.google.samples.apps.nowinandroid.core.sync.test
+package com.google.samples.apps.nowinandroid.core.sync.di
import com.google.samples.apps.nowinandroid.core.data.util.SyncManager
import com.google.samples.apps.nowinandroid.sync.di.SyncModule
+import com.google.samples.apps.nowinandroid.sync.status.NeverSyncingSyncManager
import com.google.samples.apps.nowinandroid.sync.status.StubSyncSubscriber
import com.google.samples.apps.nowinandroid.sync.status.SyncSubscriber
import dagger.Binds
@@ -32,12 +33,8 @@ import dagger.hilt.testing.TestInstallIn
)
internal interface TestSyncModule {
@Binds
- fun bindsSyncStatusMonitor(
- syncStatusMonitor: NeverSyncingSyncManager,
- ): SyncManager
+ fun bindsSyncManager(it: NeverSyncingSyncManager): SyncManager
@Binds
- fun bindsSyncSubscriber(
- syncSubscriber: StubSyncSubscriber,
- ): SyncSubscriber
+ fun bindsSyncSubscriber(it: StubSyncSubscriber): SyncSubscriber
}
diff --git a/sync/sync-test/src/main/kotlin/com/google/samples/apps/nowinandroid/core/sync/test/NeverSyncingSyncManager.kt b/sync/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/sync/status/NeverSyncingSyncManager.kt
similarity index 94%
rename from sync/sync-test/src/main/kotlin/com/google/samples/apps/nowinandroid/core/sync/test/NeverSyncingSyncManager.kt
rename to sync/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/sync/status/NeverSyncingSyncManager.kt
index c13b409e6..da44a635d 100644
--- a/sync/sync-test/src/main/kotlin/com/google/samples/apps/nowinandroid/core/sync/test/NeverSyncingSyncManager.kt
+++ b/sync/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/sync/status/NeverSyncingSyncManager.kt
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.google.samples.apps.nowinandroid.core.sync.test
+package com.google.samples.apps.nowinandroid.sync.status
import com.google.samples.apps.nowinandroid.core.data.util.SyncManager
import kotlinx.coroutines.flow.Flow
diff --git a/sync/sync-test/README.md b/sync/sync-test/README.md
deleted file mode 100644
index 78876290f..000000000
--- a/sync/sync-test/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# :sync:sync-test module
-## Dependency graph
-
diff --git a/sync/sync-test/build.gradle.kts b/sync/sync-test/build.gradle.kts
deleted file mode 100644
index 0fac2cf83..000000000
--- a/sync/sync-test/build.gradle.kts
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-plugins {
- alias(libs.plugins.nowinandroid.android.library)
- alias(libs.plugins.nowinandroid.android.hilt)
-}
-
-android {
- namespace = "com.google.samples.apps.nowinandroid.core.sync.test"
-}
-
-dependencies {
- implementation(libs.hilt.android.testing)
- implementation(projects.core.data)
- implementation(projects.sync.work)
-}
diff --git a/sync/sync-test/src/main/AndroidManifest.xml b/sync/sync-test/src/main/AndroidManifest.xml
deleted file mode 100644
index 27a3ea8b0..000000000
--- a/sync/sync-test/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
diff --git a/sync/work/.gitignore b/sync/work/.gitignore
deleted file mode 100644
index 42afabfd2..000000000
--- a/sync/work/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
\ No newline at end of file