Revert "Revert "Revert "Revert "Replace field injection with con..."
Revert submission 3342809-revert-3340780-revert-3344343-revert-3343291-k2-upgrade-wpp-KWLCODKLEN-OROSEWLQYI-UXWYBKSHRY
Reason for revert: One more try
Reverted changes: /q/submissionid:3342809-revert-3340780-revert-3344343-revert-3343291-k2-upgrade-wpp-KWLCODKLEN-OROSEWLQYI-UXWYBKSHRY
Change-Id: Icbbd8abb17846ae626091c941bda7a7509c72280
Merged-In: I49dcf5fa23ed7e902b67c371a963f37d36d524d2
Merged-In: Ia8750cd6b654bee82d4f2907cfb3b9ebd56297fd
diff --git a/src/com/android/wallpaper/module/WallpaperPicker2Injector.kt b/src/com/android/wallpaper/module/WallpaperPicker2Injector.kt
index 4fa84d5..8392927 100755
--- a/src/com/android/wallpaper/module/WallpaperPicker2Injector.kt
+++ b/src/com/android/wallpaper/module/WallpaperPicker2Injector.kt
@@ -69,6 +69,15 @@
constructor(
@MainDispatcher private val mainScope: CoroutineScope,
@BackgroundDispatcher private val bgDispatcher: CoroutineDispatcher,
+ private val displayUtils: Lazy<DisplayUtils>,
+ private val requester: Lazy<Requester>,
+ private val networkStatusNotifier: Lazy<NetworkStatusNotifier>,
+ private val partnerProvider: Lazy<PartnerProvider>,
+ private val uiModeManager: Lazy<UiModeManagerWrapper>,
+ private val userEventLogger: Lazy<UserEventLogger>,
+ private val injectedWallpaperClient: Lazy<WallpaperClient>,
+ private val injectedWallpaperInteractor: Lazy<WallpaperInteractor>,
+ private val prefs: Lazy<WallpaperPreferences>,
) : Injector {
private var alarmManagerWrapper: AlarmManagerWrapper? = null
private var bitmapCropper: BitmapCropper? = null
@@ -94,17 +103,6 @@
private var previewActivityIntentFactory: InlinePreviewIntentFactory? = null
private var viewOnlyPreviewActivityIntentFactory: InlinePreviewIntentFactory? = null
- // Injected objects, sorted by alphabetical order on the type of object
- @Inject lateinit var displayUtils: Lazy<DisplayUtils>
- @Inject lateinit var requester: Lazy<Requester>
- @Inject lateinit var networkStatusNotifier: Lazy<NetworkStatusNotifier>
- @Inject lateinit var partnerProvider: Lazy<PartnerProvider>
- @Inject lateinit var uiModeManager: Lazy<UiModeManagerWrapper>
- @Inject lateinit var userEventLogger: Lazy<UserEventLogger>
- @Inject lateinit var injectedWallpaperClient: Lazy<WallpaperClient>
- @Inject lateinit var injectedWallpaperInteractor: Lazy<WallpaperInteractor>
- @Inject lateinit var prefs: Lazy<WallpaperPreferences>
-
override fun getApplicationCoroutineScope(): CoroutineScope {
return mainScope
}
@@ -163,9 +161,7 @@
?: DefaultDrawableLayerResolver().also { drawableLayerResolver = it }
}
- override fun getEffectsController(
- context: Context,
- ): EffectsController? {
+ override fun getEffectsController(context: Context): EffectsController? {
return null
}
@@ -281,7 +277,7 @@
override fun getWallpaperStatusChecker(context: Context): WallpaperStatusChecker {
return wallpaperStatusChecker
?: DefaultWallpaperStatusChecker(
- wallpaperManager = WallpaperManager.getInstance(context.applicationContext),
+ wallpaperManager = WallpaperManager.getInstance(context.applicationContext)
)
.also { wallpaperStatusChecker = it }
}
@@ -292,7 +288,7 @@
override fun getUndoInteractor(
context: Context,
- lifecycleOwner: LifecycleOwner
+ lifecycleOwner: LifecycleOwner,
): UndoInteractor {
return undoInteractor
?: UndoInteractor(
@@ -317,7 +313,7 @@
client = getWallpaperClient(context),
wallpaperPreferences = getPreferences(context = appContext),
backgroundDispatcher = bgDispatcher,
- ),
+ )
)
.also { wallpaperInteractor = it }
}
@@ -362,7 +358,7 @@
override fun getWallpaperColorResources(
wallpaperColors: WallpaperColors,
- context: Context
+ context: Context,
): WallpaperColorResources {
return DefaultWallpaperColorResources(wallpaperColors)
}
diff --git a/tests/common/src/com/android/wallpaper/testing/TestInjector.kt b/tests/common/src/com/android/wallpaper/testing/TestInjector.kt
index 10d1c80..df2d724 100644
--- a/tests/common/src/com/android/wallpaper/testing/TestInjector.kt
+++ b/tests/common/src/com/android/wallpaper/testing/TestInjector.kt
@@ -71,8 +71,18 @@
/** Test implementation of [Injector] */
@Singleton
-open class TestInjector @Inject constructor(private val userEventLogger: UserEventLogger) :
- Injector {
+open class TestInjector
+@Inject
+constructor(
+ private val userEventLogger: UserEventLogger,
+ private val displayUtils: DisplayUtils,
+ private val requester: Requester,
+ private val networkStatusNotifier: NetworkStatusNotifier,
+ private val partnerProvider: PartnerProvider,
+ private val wallpaperClient: FakeWallpaperClient,
+ private val injectedWallpaperInteractor: WallpaperInteractor,
+ private val prefs: WallpaperPreferences,
+) : Injector {
private var appScope: CoroutineScope? = null
private var alarmManagerWrapper: AlarmManagerWrapper? = null
private var bitmapCropper: BitmapCropper? = null
@@ -95,15 +105,6 @@
private var previewActivityIntentFactory: InlinePreviewIntentFactory? = null
private var viewOnlyPreviewActivityIntentFactory: InlinePreviewIntentFactory? = null
- // Injected objects, sorted by alphabetical order of the type of object
- @Inject lateinit var displayUtils: DisplayUtils
- @Inject lateinit var requester: Requester
- @Inject lateinit var networkStatusNotifier: NetworkStatusNotifier
- @Inject lateinit var partnerProvider: PartnerProvider
- @Inject lateinit var wallpaperClient: FakeWallpaperClient
- @Inject lateinit var injectedWallpaperInteractor: WallpaperInteractor
- @Inject lateinit var prefs: WallpaperPreferences
-
override fun getApplicationCoroutineScope(): CoroutineScope {
return appScope ?: CoroutineScope(Dispatchers.Main).also { appScope = it }
}
@@ -149,9 +150,7 @@
?: TestDrawableLayerResolver().also { drawableLayerResolver = it }
}
- override fun getEffectsController(
- context: Context,
- ): EffectsController? {
+ override fun getEffectsController(context: Context): EffectsController? {
return null
}
@@ -161,7 +160,7 @@
override fun getIndividualPickerFragment(
context: Context,
- collectionId: String
+ collectionId: String,
): IndividualPickerFragment {
return IndividualPickerFragment.newInstance(collectionId)
}
@@ -257,13 +256,13 @@
override fun getUndoInteractor(
context: Context,
- lifecycleOwner: LifecycleOwner
+ lifecycleOwner: LifecycleOwner,
): UndoInteractor {
return undoInteractor
?: UndoInteractor(
getApplicationCoroutineScope(),
UndoRepository(),
- HashMap()
+ HashMap(),
) // Empty because we don't support undoing in WallpaperPicker2..also{}
}
@@ -280,7 +279,7 @@
client = getWallpaperClient(context),
wallpaperPreferences = getPreferences(context = context),
backgroundDispatcher = Dispatchers.IO,
- ),
+ )
)
.also { wallpaperInteractor = it }
}
@@ -296,7 +295,7 @@
override fun getWallpaperColorResources(
wallpaperColors: WallpaperColors,
- context: Context
+ context: Context,
): WallpaperColorResources {
return DefaultWallpaperColorResources(wallpaperColors)
}
diff --git a/tests/robotests/src/com/android/wallpaper/module/DefaultWallpaperPersisterTest.java b/tests/robotests/src/com/android/wallpaper/module/DefaultWallpaperPersisterTest.java
index ab23396..8c0df46 100644
--- a/tests/robotests/src/com/android/wallpaper/module/DefaultWallpaperPersisterTest.java
+++ b/tests/robotests/src/com/android/wallpaper/module/DefaultWallpaperPersisterTest.java
@@ -22,7 +22,10 @@
import static com.google.common.truth.Truth.assertThat;
+import static kotlinx.coroutines.test.TestCoroutineDispatchersKt.StandardTestDispatcher;
+
import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.robolectric.shadows.ShadowLooper.shadowMainLooper;
@@ -38,7 +41,11 @@
import com.android.wallpaper.module.DefaultWallpaperPersisterTest.TestSetWallpaperCallback.SetWallpaperStatus;
import com.android.wallpaper.module.WallpaperPersister.SetWallpaperCallback;
import com.android.wallpaper.module.logging.TestUserEventLogger;
+import com.android.wallpaper.network.Requester;
+import com.android.wallpaper.picker.customization.data.repository.WallpaperRepository;
+import com.android.wallpaper.picker.customization.domain.interactor.WallpaperInteractor;
import com.android.wallpaper.testing.FakeDisplaysProvider;
+import com.android.wallpaper.testing.FakeWallpaperClient;
import com.android.wallpaper.testing.TestAsset;
import com.android.wallpaper.testing.TestBitmapCropper;
import com.android.wallpaper.testing.TestCurrentWallpaperInfoFactory;
@@ -47,6 +54,11 @@
import com.android.wallpaper.testing.TestWallpaperPreferences;
import com.android.wallpaper.testing.TestWallpaperStatusChecker;
import com.android.wallpaper.util.DisplayUtils;
+import com.android.wallpaper.util.DisplaysProvider;
+
+import kotlinx.coroutines.test.TestDispatcher;
+import kotlinx.coroutines.test.TestScope;
+import kotlinx.coroutines.test.TestScopeKt;
import org.junit.Before;
import org.junit.Test;
@@ -75,7 +87,6 @@
@Before
public void setUp() {
- InjectorProvider.setInjector(new TestInjector(new TestUserEventLogger()));
mContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
mManager = spy(WallpaperManager.getInstance(mContext));
mPrefs = new TestWallpaperPreferences();
@@ -83,6 +94,29 @@
DisplayUtils displayUtils = new DisplayUtils(mContext, new FakeDisplaysProvider(mContext));
TestBitmapCropper cropper = new TestBitmapCropper();
TestWallpaperStatusChecker statusChecker = new TestWallpaperStatusChecker();
+ TestDispatcher testDispatcher = StandardTestDispatcher(null, null);
+ TestScope testScope = TestScopeKt.TestScope(testDispatcher);
+ WallpaperInteractor wallpaperInteractor =
+ new WallpaperInteractor(
+ new WallpaperRepository(
+ testScope.getBackgroundScope(),
+ new FakeWallpaperClient(),
+ new TestWallpaperPreferences(),
+ testDispatcher
+ ),
+ () -> true
+ );
+
+ InjectorProvider.setInjector(new TestInjector(
+ new TestUserEventLogger(),
+ new DisplayUtils(mContext, mock(DisplaysProvider.class)),
+ mock(Requester.class),
+ mock(NetworkStatusNotifier.class),
+ mock(PartnerProvider.class),
+ new FakeWallpaperClient(),
+ wallpaperInteractor,
+ mock(WallpaperPreferences.class)
+ ));
TestCurrentWallpaperInfoFactory wallpaperInfoFactory =
new TestCurrentWallpaperInfoFactory(mContext);
diff --git a/tests/src/com/android/wallpaper/picker/preview/ui/fragment/SmallPreviewFragmentTest.kt b/tests/src/com/android/wallpaper/picker/preview/ui/fragment/SmallPreviewFragmentTest.kt
deleted file mode 100644
index c661931..0000000
--- a/tests/src/com/android/wallpaper/picker/preview/ui/fragment/SmallPreviewFragmentTest.kt
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2023 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
- *
- * http://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.
- */
-package com.android.wallpaper.picker.preview.ui.fragment
-
-import androidx.test.filters.MediumTest
-import androidx.test.runner.AndroidJUnit4
-import com.android.wallpaper.model.WallpaperInfo
-import com.android.wallpaper.module.InjectorProvider
-import com.android.wallpaper.module.logging.TestUserEventLogger
-import com.android.wallpaper.testing.TestInjector
-import com.android.wallpaper.testing.TestStaticWallpaperInfo
-import org.junit.Before
-import org.junit.Ignore
-import org.junit.Test
-import org.junit.runner.RunWith
-
-@MediumTest
-@RunWith(AndroidJUnit4::class)
-class SmallPreviewFragmentTest {
- private val testStaticWallpaper =
- TestStaticWallpaperInfo(TestStaticWallpaperInfo.COLOR_DEFAULT).setWallpaperAttributions()
- private val testUserEventLogger = TestUserEventLogger()
-
- @Before
- fun setUp() {
- InjectorProvider.setInjector(TestInjector(testUserEventLogger))
- }
-
- @Test @Ignore("b/295958495") fun testWallpaperInfoIsNotNull() {}
-
- private fun TestStaticWallpaperInfo.setWallpaperAttributions(): WallpaperInfo {
- setAttributions(listOf("Title", "Subtitle 1", "Subtitle 2"))
- setCollectionId("collectionStatic")
- setWallpaperId("wallpaperStatic")
- setActionUrl("http://google.com")
- return this
- }
-}