diff options
16 files changed, 295 insertions, 181 deletions
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/AirplaneModeTileTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/AirplaneModeTileTest.kt index 7a99aefc98fe..3f4a13414e96 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/AirplaneModeTileTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/AirplaneModeTileTest.kt @@ -31,8 +31,10 @@ import com.android.systemui.plugins.qs.QSTile import com.android.systemui.plugins.statusbar.StatusBarStateController import com.android.systemui.qs.QSHost import com.android.systemui.qs.QsEventLogger +import com.android.systemui.qs.flags.QsInCompose.isEnabled import com.android.systemui.qs.logging.QSLogger import com.android.systemui.qs.tileimpl.QSTileImpl +import com.android.systemui.qs.tileimpl.QSTileImpl.DrawableIconWithRes import com.android.systemui.res.R import com.android.systemui.settings.UserTracker import com.android.systemui.util.settings.GlobalSettings @@ -55,33 +57,22 @@ import org.mockito.kotlin.verify @SmallTest class AirplaneModeTileTest : SysuiTestCase() { - @Mock - private lateinit var mHost: QSHost - @Mock - private lateinit var mMetricsLogger: MetricsLogger - @Mock - private lateinit var mStatusBarStateController: StatusBarStateController - @Mock - private lateinit var mActivityStarter: ActivityStarter - @Mock - private lateinit var mQsLogger: QSLogger - @Mock - private lateinit var mBroadcastDispatcher: BroadcastDispatcher - @Mock - private lateinit var mLazyConnectivityManager: Lazy<ConnectivityManager> - @Mock - private lateinit var mConnectivityManager: ConnectivityManager - @Mock - private lateinit var mGlobalSettings: GlobalSettings - @Mock - private lateinit var mUserTracker: UserTracker - @Mock - private lateinit var mUiEventLogger: QsEventLogger + @Mock private lateinit var mHost: QSHost + @Mock private lateinit var mMetricsLogger: MetricsLogger + @Mock private lateinit var mStatusBarStateController: StatusBarStateController + @Mock private lateinit var mActivityStarter: ActivityStarter + @Mock private lateinit var mQsLogger: QSLogger + @Mock private lateinit var mBroadcastDispatcher: BroadcastDispatcher + @Mock private lateinit var mLazyConnectivityManager: Lazy<ConnectivityManager> + @Mock private lateinit var mConnectivityManager: ConnectivityManager + @Mock private lateinit var mGlobalSettings: GlobalSettings + @Mock private lateinit var mUserTracker: UserTracker + @Mock private lateinit var mUiEventLogger: QsEventLogger private lateinit var mTestableLooper: TestableLooper private lateinit var mTile: AirplaneModeTile - @Mock - private lateinit var mClickJob: Job + @Mock private lateinit var mClickJob: Job + @Before fun setUp() { MockitoAnnotations.initMocks(this) @@ -89,20 +80,22 @@ class AirplaneModeTileTest : SysuiTestCase() { Mockito.`when`(mHost.context).thenReturn(mContext) Mockito.`when`(mHost.userContext).thenReturn(mContext) Mockito.`when`(mLazyConnectivityManager.get()).thenReturn(mConnectivityManager) - mTile = AirplaneModeTile( - mHost, - mUiEventLogger, - mTestableLooper.looper, - Handler(mTestableLooper.looper), - FalsingManagerFake(), - mMetricsLogger, - mStatusBarStateController, - mActivityStarter, - mQsLogger, - mBroadcastDispatcher, - mLazyConnectivityManager, - mGlobalSettings, - mUserTracker) + mTile = + AirplaneModeTile( + mHost, + mUiEventLogger, + mTestableLooper.looper, + Handler(mTestableLooper.looper), + FalsingManagerFake(), + mMetricsLogger, + mStatusBarStateController, + mActivityStarter, + mQsLogger, + mBroadcastDispatcher, + mLazyConnectivityManager, + mGlobalSettings, + mUserTracker, + ) } @After @@ -117,8 +110,7 @@ class AirplaneModeTileTest : SysuiTestCase() { mTile.handleUpdateState(state, 0) - assertThat(state.icon) - .isEqualTo(QSTileImpl.ResourceIcon.get(R.drawable.qs_airplane_icon_off)) + assertThat(state.icon).isEqualTo(createExpectedIcon(R.drawable.qs_airplane_icon_off)) } @Test @@ -127,8 +119,7 @@ class AirplaneModeTileTest : SysuiTestCase() { mTile.handleUpdateState(state, 1) - assertThat(state.icon) - .isEqualTo(QSTileImpl.ResourceIcon.get(R.drawable.qs_airplane_icon_on)) + assertThat(state.icon).isEqualTo(createExpectedIcon(R.drawable.qs_airplane_icon_on)) } @Test @@ -150,4 +141,12 @@ class AirplaneModeTileTest : SysuiTestCase() { verify(mConnectivityManager, times(0)).setAirplaneMode(any()) } + + private fun createExpectedIcon(resId: Int): QSTile.Icon { + return if (isEnabled) { + DrawableIconWithRes(mContext.getDrawable(resId), resId) + } else { + QSTileImpl.ResourceIcon.get(resId) + } + } } diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/BatterySaverTileTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/BatterySaverTileTest.kt index d6be31450fc0..ae003497f9e9 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/BatterySaverTileTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/BatterySaverTileTest.kt @@ -31,8 +31,10 @@ import com.android.systemui.plugins.qs.QSTile import com.android.systemui.plugins.statusbar.StatusBarStateController import com.android.systemui.qs.QSHost import com.android.systemui.qs.QsEventLogger +import com.android.systemui.qs.flags.QsInCompose.isEnabled import com.android.systemui.qs.logging.QSLogger import com.android.systemui.qs.tileimpl.QSTileImpl +import com.android.systemui.qs.tileimpl.QSTileImpl.DrawableIconWithRes import com.android.systemui.res.R import com.android.systemui.statusbar.policy.BatteryController import com.android.systemui.util.settings.FakeSettings @@ -94,7 +96,7 @@ class BatterySaverTileTest : SysuiTestCase() { activityStarter, qsLogger, batteryController, - secureSettings + secureSettings, ) tile.initialize() @@ -150,8 +152,7 @@ class BatterySaverTileTest : SysuiTestCase() { tile.handleUpdateState(state, /* arg= */ null) - assertThat(state.icon) - .isEqualTo(QSTileImpl.ResourceIcon.get(R.drawable.qs_battery_saver_icon_off)) + assertThat(state.icon).isEqualTo(createExpectedIcon(R.drawable.qs_battery_saver_icon_off)) } @Test @@ -161,7 +162,14 @@ class BatterySaverTileTest : SysuiTestCase() { tile.handleUpdateState(state, /* arg= */ null) - assertThat(state.icon) - .isEqualTo(QSTileImpl.ResourceIcon.get(R.drawable.qs_battery_saver_icon_on)) + assertThat(state.icon).isEqualTo(createExpectedIcon(R.drawable.qs_battery_saver_icon_on)) + } + + private fun createExpectedIcon(resId: Int): QSTile.Icon { + return if (isEnabled) { + DrawableIconWithRes(mContext.getDrawable(resId), resId) + } else { + QSTileImpl.ResourceIcon.get(resId) + } } } diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/CameraToggleTileTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/CameraToggleTileTest.kt index 093cdf22a64b..31519c584daa 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/CameraToggleTileTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/CameraToggleTileTest.kt @@ -23,7 +23,6 @@ import android.testing.TestableLooper import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.internal.logging.MetricsLogger -import com.android.systemui.res.R import com.android.systemui.SysuiTestCase import com.android.systemui.classifier.FalsingManagerFake import com.android.systemui.plugins.ActivityStarter @@ -31,8 +30,11 @@ import com.android.systemui.plugins.qs.QSTile import com.android.systemui.plugins.statusbar.StatusBarStateController import com.android.systemui.qs.QSHost import com.android.systemui.qs.QsEventLoggerFake +import com.android.systemui.qs.flags.QsInCompose.isEnabled import com.android.systemui.qs.logging.QSLogger import com.android.systemui.qs.tileimpl.QSTileImpl +import com.android.systemui.qs.tileimpl.QSTileImpl.DrawableIconWithRes +import com.android.systemui.res.R import com.android.systemui.statusbar.policy.IndividualSensorPrivacyController import com.android.systemui.statusbar.policy.KeyguardStateController import com.google.common.truth.Truth.assertThat @@ -41,8 +43,8 @@ import org.junit.Before import org.junit.Test import org.junit.runner.RunWith import org.mockito.Mock -import org.mockito.MockitoAnnotations import org.mockito.Mockito.`when` as whenever +import org.mockito.MockitoAnnotations @RunWith(AndroidJUnit4::class) @TestableLooper.RunWithLooper(setAsMainLooper = true) @@ -54,24 +56,15 @@ class CameraToggleTileTest : SysuiTestCase() { const val CAMERA_TOGGLE_DISABLED: Boolean = true } - @Mock - private lateinit var host: QSHost - @Mock - private lateinit var metricsLogger: MetricsLogger - @Mock - private lateinit var statusBarStateController: StatusBarStateController - @Mock - private lateinit var activityStarter: ActivityStarter - @Mock - private lateinit var qsLogger: QSLogger - @Mock - private lateinit var privacyController: IndividualSensorPrivacyController - @Mock - private lateinit var keyguardStateController: KeyguardStateController - @Mock - private lateinit var uiEventLogger: QsEventLoggerFake - @Mock - private lateinit var safetyCenterManager: SafetyCenterManager + @Mock private lateinit var host: QSHost + @Mock private lateinit var metricsLogger: MetricsLogger + @Mock private lateinit var statusBarStateController: StatusBarStateController + @Mock private lateinit var activityStarter: ActivityStarter + @Mock private lateinit var qsLogger: QSLogger + @Mock private lateinit var privacyController: IndividualSensorPrivacyController + @Mock private lateinit var keyguardStateController: KeyguardStateController + @Mock private lateinit var uiEventLogger: QsEventLoggerFake + @Mock private lateinit var safetyCenterManager: SafetyCenterManager private lateinit var testableLooper: TestableLooper private lateinit var tile: CameraToggleTile @@ -82,7 +75,8 @@ class CameraToggleTileTest : SysuiTestCase() { testableLooper = TestableLooper.get(this) whenever(host.context).thenReturn(mContext) - tile = CameraToggleTile( + tile = + CameraToggleTile( host, uiEventLogger, testableLooper.looper, @@ -94,7 +88,8 @@ class CameraToggleTileTest : SysuiTestCase() { qsLogger, privacyController, keyguardStateController, - safetyCenterManager) + safetyCenterManager, + ) } @After @@ -109,8 +104,7 @@ class CameraToggleTileTest : SysuiTestCase() { tile.handleUpdateState(state, CAMERA_TOGGLE_ENABLED) - assertThat(state.icon) - .isEqualTo(QSTileImpl.ResourceIcon.get(R.drawable.qs_camera_access_icon_on)) + assertThat(state.icon).isEqualTo(createExpectedIcon(R.drawable.qs_camera_access_icon_on)) } @Test @@ -119,14 +113,14 @@ class CameraToggleTileTest : SysuiTestCase() { tile.handleUpdateState(state, CAMERA_TOGGLE_DISABLED) - assertThat(state.icon) - .isEqualTo(QSTileImpl.ResourceIcon.get(R.drawable.qs_camera_access_icon_off)) + assertThat(state.icon).isEqualTo(createExpectedIcon(R.drawable.qs_camera_access_icon_off)) } @Test fun testLongClickIntent_safetyCenterEnabled() { whenever(safetyCenterManager.isSafetyCenterEnabled).thenReturn(true) - val cameraTile = CameraToggleTile( + val cameraTile = + CameraToggleTile( host, uiEventLogger, testableLooper.looper, @@ -138,7 +132,8 @@ class CameraToggleTileTest : SysuiTestCase() { qsLogger, privacyController, keyguardStateController, - safetyCenterManager) + safetyCenterManager, + ) assertThat(cameraTile.longClickIntent?.action).isEqualTo(Settings.ACTION_PRIVACY_CONTROLS) cameraTile.destroy() testableLooper.processAllMessages() @@ -147,7 +142,8 @@ class CameraToggleTileTest : SysuiTestCase() { @Test fun testLongClickIntent_safetyCenterDisabled() { whenever(safetyCenterManager.isSafetyCenterEnabled).thenReturn(false) - val cameraTile = CameraToggleTile( + val cameraTile = + CameraToggleTile( host, uiEventLogger, testableLooper.looper, @@ -159,9 +155,18 @@ class CameraToggleTileTest : SysuiTestCase() { qsLogger, privacyController, keyguardStateController, - safetyCenterManager) + safetyCenterManager, + ) assertThat(tile.longClickIntent?.action).isEqualTo(Settings.ACTION_PRIVACY_SETTINGS) cameraTile.destroy() testableLooper.processAllMessages() } + + private fun createExpectedIcon(resId: Int): QSTile.Icon { + return if (isEnabled) { + DrawableIconWithRes(mContext.getDrawable(resId), resId) + } else { + QSTileImpl.ResourceIcon.get(resId) + } + } } diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/ColorInversionTileTest.java b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/ColorInversionTileTest.java index 1343527e631b..2c796a93613a 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/ColorInversionTileTest.java +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/ColorInversionTileTest.java @@ -39,6 +39,7 @@ import com.android.systemui.plugins.qs.QSTile; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.qs.QSHost; import com.android.systemui.qs.QsEventLogger; +import com.android.systemui.qs.flags.QsInCompose; import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.res.R; @@ -133,7 +134,7 @@ public class ColorInversionTileTest extends SysuiTestCase { mTile.handleUpdateState(state, COLOR_INVERSION_DISABLED); assertThat(state.icon) - .isEqualTo(QSTileImpl.ResourceIcon.get(R.drawable.qs_invert_colors_icon_off)); + .isEqualTo(createExpectedIcon(R.drawable.qs_invert_colors_icon_off)); } @Test @@ -143,6 +144,14 @@ public class ColorInversionTileTest extends SysuiTestCase { mTile.handleUpdateState(state, COLOR_INVERSION_ENABLED); assertThat(state.icon) - .isEqualTo(QSTileImpl.ResourceIcon.get(R.drawable.qs_invert_colors_icon_on)); + .isEqualTo(createExpectedIcon(R.drawable.qs_invert_colors_icon_on)); + } + + private QSTile.Icon createExpectedIcon(int resId) { + if (QsInCompose.isEnabled()) { + return new QSTileImpl.DrawableIconWithRes(mContext.getDrawable(resId), resId); + } else { + return QSTileImpl.ResourceIcon.get(resId); + } } } diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/DataSaverTileTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/DataSaverTileTest.kt index 73ae4ee5aa0d..23be9da106d9 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/DataSaverTileTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/DataSaverTileTest.kt @@ -29,8 +29,10 @@ import com.android.systemui.plugins.qs.QSTile import com.android.systemui.plugins.statusbar.StatusBarStateController import com.android.systemui.qs.QSHost import com.android.systemui.qs.QsEventLogger +import com.android.systemui.qs.flags.QsInCompose.isEnabled import com.android.systemui.qs.logging.QSLogger import com.android.systemui.qs.tileimpl.QSTileImpl +import com.android.systemui.qs.tileimpl.QSTileImpl.DrawableIconWithRes import com.android.systemui.res.R import com.android.systemui.statusbar.phone.SystemUIDialog import com.android.systemui.statusbar.policy.DataSaverController @@ -84,7 +86,7 @@ class DataSaverTileTest : SysuiTestCase() { mQsLogger, dataSaverController, mDialogTransitionAnimator, - systemUIDialogFactory + systemUIDialogFactory, ) } @@ -100,8 +102,7 @@ class DataSaverTileTest : SysuiTestCase() { tile.handleUpdateState(state, true) - assertThat(state.icon) - .isEqualTo(QSTileImpl.ResourceIcon.get(R.drawable.qs_data_saver_icon_on)) + assertThat(state.icon).isEqualTo(createExpectedIcon(R.drawable.qs_data_saver_icon_on)) } @Test @@ -110,7 +111,14 @@ class DataSaverTileTest : SysuiTestCase() { tile.handleUpdateState(state, false) - assertThat(state.icon) - .isEqualTo(QSTileImpl.ResourceIcon.get(R.drawable.qs_data_saver_icon_off)) + assertThat(state.icon).isEqualTo(createExpectedIcon(R.drawable.qs_data_saver_icon_off)) + } + + private fun createExpectedIcon(resId: Int): QSTile.Icon { + return if (isEnabled) { + DrawableIconWithRes(mContext.getDrawable(resId), resId) + } else { + QSTileImpl.ResourceIcon.get(resId) + } } } diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/FlashlightTileTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/FlashlightTileTest.kt index f90463e7f589..3cb9091459d9 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/FlashlightTileTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/FlashlightTileTest.kt @@ -6,7 +6,6 @@ import android.testing.TestableLooper import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.internal.logging.MetricsLogger -import com.android.systemui.res.R import com.android.systemui.SysuiTestCase import com.android.systemui.classifier.FalsingManagerFake import com.android.systemui.plugins.ActivityStarter @@ -14,8 +13,11 @@ import com.android.systemui.plugins.qs.QSTile import com.android.systemui.plugins.statusbar.StatusBarStateController import com.android.systemui.qs.QSHost import com.android.systemui.qs.QsEventLogger +import com.android.systemui.qs.flags.QsInCompose.isEnabled import com.android.systemui.qs.logging.QSLogger import com.android.systemui.qs.tileimpl.QSTileImpl +import com.android.systemui.qs.tileimpl.QSTileImpl.DrawableIconWithRes +import com.android.systemui.res.R import com.android.systemui.statusbar.policy.FlashlightController import com.google.common.truth.Truth import org.junit.After @@ -69,7 +71,7 @@ class FlashlightTileTest : SysuiTestCase() { statusBarStateController, activityStarter, qsLogger, - flashlightController + flashlightController, ) } @@ -87,8 +89,7 @@ class FlashlightTileTest : SysuiTestCase() { tile.handleUpdateState(state, /* arg= */ null) - Truth.assertThat(state.icon) - .isEqualTo(QSTileImpl.ResourceIcon.get(R.drawable.qs_flashlight_icon_on)) + Truth.assertThat(state.icon).isEqualTo(createExpectedIcon(R.drawable.qs_flashlight_icon_on)) } @Test @@ -100,7 +101,7 @@ class FlashlightTileTest : SysuiTestCase() { tile.handleUpdateState(state, /* arg= */ null) Truth.assertThat(state.icon) - .isEqualTo(QSTileImpl.ResourceIcon.get(R.drawable.qs_flashlight_icon_off)) + .isEqualTo(createExpectedIcon(R.drawable.qs_flashlight_icon_off)) } @Test @@ -111,6 +112,14 @@ class FlashlightTileTest : SysuiTestCase() { tile.handleUpdateState(state, /* arg= */ null) Truth.assertThat(state.icon) - .isEqualTo(QSTileImpl.ResourceIcon.get(R.drawable.qs_flashlight_icon_off)) + .isEqualTo(createExpectedIcon(R.drawable.qs_flashlight_icon_off)) + } + + private fun createExpectedIcon(resId: Int): QSTile.Icon { + return if (isEnabled) { + DrawableIconWithRes(mContext.getDrawable(resId), resId) + } else { + QSTileImpl.ResourceIcon.get(resId) + } } } diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/InternetTileTest.java b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/InternetTileTest.java index b5ec0a022dd0..b5a64b39f7ce 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/InternetTileTest.java +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/InternetTileTest.java @@ -35,9 +35,11 @@ import com.android.internal.logging.MetricsLogger; import com.android.systemui.SysuiTestCase; import com.android.systemui.classifier.FalsingManagerFake; import com.android.systemui.plugins.ActivityStarter; +import com.android.systemui.plugins.qs.QSTile; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.qs.QSHost; import com.android.systemui.qs.QsEventLogger; +import com.android.systemui.qs.flags.QsInCompose; import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.qs.tiles.dialog.InternetDialogManager; @@ -172,7 +174,7 @@ public class InternetTileTest extends SysuiTestCase { mTile.mSignalCallback.setIsAirplaneMode(state); mTestableLooper.processAllMessages(); assertThat(mTile.getState().icon).isEqualTo( - QSTileImpl.ResourceIcon.get(R.drawable.ic_qs_no_internet_unavailable)); + createExpectedIcon(R.drawable.ic_qs_no_internet_unavailable)); } @Test @@ -194,4 +196,12 @@ public class InternetTileTest extends SysuiTestCase { verify(mWifiStateWorker, times(1)).setWifiEnabled(eq(true)); } + + private QSTile.Icon createExpectedIcon(int resId) { + if (QsInCompose.isEnabled()) { + return new QSTileImpl.DrawableIconWithRes(mContext.getDrawable(resId), resId); + } else { + return QSTileImpl.ResourceIcon.get(resId); + } + } } diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/LocationTileTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/LocationTileTest.kt index 0a1455fe12cc..4be189964d6b 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/LocationTileTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/LocationTileTest.kt @@ -22,7 +22,6 @@ import android.testing.TestableLooper import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.internal.logging.MetricsLogger -import com.android.systemui.res.R import com.android.systemui.SysuiTestCase import com.android.systemui.classifier.FalsingManagerFake import com.android.systemui.plugins.ActivityStarter @@ -30,9 +29,12 @@ import com.android.systemui.plugins.qs.QSTile import com.android.systemui.plugins.statusbar.StatusBarStateController import com.android.systemui.qs.QSHost import com.android.systemui.qs.QsEventLogger +import com.android.systemui.qs.flags.QsInCompose.isEnabled import com.android.systemui.qs.logging.QSLogger import com.android.systemui.qs.pipeline.domain.interactor.PanelInteractor import com.android.systemui.qs.tileimpl.QSTileImpl +import com.android.systemui.qs.tileimpl.QSTileImpl.DrawableIconWithRes +import com.android.systemui.res.R import com.android.systemui.statusbar.policy.KeyguardStateController import com.android.systemui.statusbar.policy.LocationController import com.android.systemui.util.mockito.argumentCaptor @@ -52,27 +54,17 @@ import org.mockito.MockitoAnnotations @SmallTest class LocationTileTest : SysuiTestCase() { - @Mock - private lateinit var mockContext: Context - @Mock - private lateinit var qsLogger: QSLogger - @Mock - private lateinit var qsHost: QSHost - @Mock - private lateinit var metricsLogger: MetricsLogger + @Mock private lateinit var mockContext: Context + @Mock private lateinit var qsLogger: QSLogger + @Mock private lateinit var qsHost: QSHost + @Mock private lateinit var metricsLogger: MetricsLogger private val falsingManager = FalsingManagerFake() - @Mock - private lateinit var statusBarStateController: StatusBarStateController - @Mock - private lateinit var activityStarter: ActivityStarter - @Mock - private lateinit var locationController: LocationController - @Mock - private lateinit var keyguardStateController: KeyguardStateController - @Mock - private lateinit var panelInteractor: PanelInteractor - @Mock - private lateinit var uiEventLogger: QsEventLogger + @Mock private lateinit var statusBarStateController: StatusBarStateController + @Mock private lateinit var activityStarter: ActivityStarter + @Mock private lateinit var locationController: LocationController + @Mock private lateinit var keyguardStateController: KeyguardStateController + @Mock private lateinit var panelInteractor: PanelInteractor + @Mock private lateinit var uiEventLogger: QsEventLogger private lateinit var testableLooper: TestableLooper private lateinit var tile: LocationTile @@ -83,20 +75,21 @@ class LocationTileTest : SysuiTestCase() { testableLooper = TestableLooper.get(this) `when`(qsHost.context).thenReturn(mockContext) - tile = LocationTile( - qsHost, - uiEventLogger, - testableLooper.looper, - Handler(testableLooper.looper), - falsingManager, - metricsLogger, - statusBarStateController, - activityStarter, - qsLogger, - locationController, - keyguardStateController, - panelInteractor, - ) + tile = + LocationTile( + qsHost, + uiEventLogger, + testableLooper.looper, + Handler(testableLooper.looper), + falsingManager, + metricsLogger, + statusBarStateController, + activityStarter, + qsLogger, + locationController, + keyguardStateController, + panelInteractor, + ) } @After @@ -112,8 +105,7 @@ class LocationTileTest : SysuiTestCase() { tile.handleUpdateState(state, /* arg= */ null) - assertThat(state.icon) - .isEqualTo(QSTileImpl.ResourceIcon.get(R.drawable.qs_location_icon_off)) + assertThat(state.icon).isEqualTo(createExpectedIcon(R.drawable.qs_location_icon_off)) } @Test @@ -123,8 +115,7 @@ class LocationTileTest : SysuiTestCase() { tile.handleUpdateState(state, /* arg= */ null) - assertThat(state.icon) - .isEqualTo(QSTileImpl.ResourceIcon.get(R.drawable.qs_location_icon_on)) + assertThat(state.icon).isEqualTo(createExpectedIcon(R.drawable.qs_location_icon_on)) } @Test @@ -140,4 +131,12 @@ class LocationTileTest : SysuiTestCase() { verify(panelInteractor).openPanels() } + + private fun createExpectedIcon(resId: Int): QSTile.Icon { + return if (isEnabled) { + DrawableIconWithRes(mContext.getDrawable(resId), resId) + } else { + QSTileImpl.ResourceIcon.get(resId) + } + } } diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/MicrophoneToggleTileTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/MicrophoneToggleTileTest.kt index dbdf3a499f8b..afe9713538de 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/MicrophoneToggleTileTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/MicrophoneToggleTileTest.kt @@ -23,7 +23,6 @@ import android.testing.TestableLooper import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.internal.logging.MetricsLogger -import com.android.systemui.res.R import com.android.systemui.SysuiTestCase import com.android.systemui.classifier.FalsingManagerFake import com.android.systemui.plugins.ActivityStarter @@ -31,8 +30,11 @@ import com.android.systemui.plugins.qs.QSTile import com.android.systemui.plugins.statusbar.StatusBarStateController import com.android.systemui.qs.QSHost import com.android.systemui.qs.QsEventLogger +import com.android.systemui.qs.flags.QsInCompose.isEnabled import com.android.systemui.qs.logging.QSLogger import com.android.systemui.qs.tileimpl.QSTileImpl +import com.android.systemui.qs.tileimpl.QSTileImpl.DrawableIconWithRes +import com.android.systemui.res.R import com.android.systemui.statusbar.policy.IndividualSensorPrivacyController import com.android.systemui.statusbar.policy.KeyguardStateController import com.google.common.truth.Truth.assertThat @@ -41,8 +43,8 @@ import org.junit.Before import org.junit.Test import org.junit.runner.RunWith import org.mockito.Mock -import org.mockito.MockitoAnnotations import org.mockito.Mockito.`when` as whenever +import org.mockito.MockitoAnnotations @RunWith(AndroidJUnit4::class) @TestableLooper.RunWithLooper(setAsMainLooper = true) @@ -54,36 +56,27 @@ class MicrophoneToggleTileTest : SysuiTestCase() { const val MICROPHONE_TOGGLE_DISABLED: Boolean = true } - @Mock - private lateinit var host: QSHost - @Mock - private lateinit var metricsLogger: MetricsLogger - @Mock - private lateinit var statusBarStateController: StatusBarStateController - @Mock - private lateinit var activityStarter: ActivityStarter - @Mock - private lateinit var qsLogger: QSLogger - @Mock - private lateinit var privacyController: IndividualSensorPrivacyController - @Mock - private lateinit var keyguardStateController: KeyguardStateController - @Mock - private lateinit var uiEventLogger: QsEventLogger - @Mock - private lateinit var safetyCenterManager: SafetyCenterManager + @Mock private lateinit var host: QSHost + @Mock private lateinit var metricsLogger: MetricsLogger + @Mock private lateinit var statusBarStateController: StatusBarStateController + @Mock private lateinit var activityStarter: ActivityStarter + @Mock private lateinit var qsLogger: QSLogger + @Mock private lateinit var privacyController: IndividualSensorPrivacyController + @Mock private lateinit var keyguardStateController: KeyguardStateController + @Mock private lateinit var uiEventLogger: QsEventLogger + @Mock private lateinit var safetyCenterManager: SafetyCenterManager private lateinit var testableLooper: TestableLooper private lateinit var tile: MicrophoneToggleTile - @Before fun setUp() { MockitoAnnotations.initMocks(this) testableLooper = TestableLooper.get(this) whenever(host.context).thenReturn(mContext) - tile = MicrophoneToggleTile( + tile = + MicrophoneToggleTile( host, uiEventLogger, testableLooper.looper, @@ -95,7 +88,8 @@ class MicrophoneToggleTileTest : SysuiTestCase() { qsLogger, privacyController, keyguardStateController, - safetyCenterManager) + safetyCenterManager, + ) } @After @@ -110,7 +104,7 @@ class MicrophoneToggleTileTest : SysuiTestCase() { tile.handleUpdateState(state, MICROPHONE_TOGGLE_ENABLED) - assertThat(state.icon).isEqualTo(QSTileImpl.ResourceIcon.get(R.drawable.qs_mic_access_on)) + assertThat(state.icon).isEqualTo(createExpectedIcon(R.drawable.qs_mic_access_on)) } @Test @@ -119,13 +113,14 @@ class MicrophoneToggleTileTest : SysuiTestCase() { tile.handleUpdateState(state, MICROPHONE_TOGGLE_DISABLED) - assertThat(state.icon).isEqualTo(QSTileImpl.ResourceIcon.get(R.drawable.qs_mic_access_off)) + assertThat(state.icon).isEqualTo(createExpectedIcon(R.drawable.qs_mic_access_off)) } @Test fun testLongClickIntent_safetyCenterEnabled() { whenever(safetyCenterManager.isSafetyCenterEnabled).thenReturn(true) - val micTile = MicrophoneToggleTile( + val micTile = + MicrophoneToggleTile( host, uiEventLogger, testableLooper.looper, @@ -137,7 +132,8 @@ class MicrophoneToggleTileTest : SysuiTestCase() { qsLogger, privacyController, keyguardStateController, - safetyCenterManager) + safetyCenterManager, + ) assertThat(micTile.longClickIntent?.action).isEqualTo(Settings.ACTION_PRIVACY_CONTROLS) micTile.destroy() testableLooper.processAllMessages() @@ -146,7 +142,8 @@ class MicrophoneToggleTileTest : SysuiTestCase() { @Test fun testLongClickIntent_safetyCenterDisabled() { whenever(safetyCenterManager.isSafetyCenterEnabled).thenReturn(false) - val micTile = MicrophoneToggleTile( + val micTile = + MicrophoneToggleTile( host, uiEventLogger, testableLooper.looper, @@ -158,9 +155,18 @@ class MicrophoneToggleTileTest : SysuiTestCase() { qsLogger, privacyController, keyguardStateController, - safetyCenterManager) + safetyCenterManager, + ) assertThat(micTile.longClickIntent?.action).isEqualTo(Settings.ACTION_PRIVACY_SETTINGS) micTile.destroy() testableLooper.processAllMessages() } + + private fun createExpectedIcon(resId: Int): QSTile.Icon { + return if (isEnabled) { + DrawableIconWithRes(mContext.getDrawable(resId), resId) + } else { + QSTileImpl.ResourceIcon.get(resId) + } + } } diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/NightDisplayTileTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/NightDisplayTileTest.kt index f1c589512895..69dab39b279c 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/NightDisplayTileTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/NightDisplayTileTest.kt @@ -23,7 +23,6 @@ import android.testing.TestableLooper import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.internal.logging.MetricsLogger -import com.android.systemui.res.R import com.android.systemui.SysuiTestCase import com.android.systemui.classifier.FalsingManagerFake import com.android.systemui.dagger.NightDisplayListenerModule @@ -32,8 +31,11 @@ import com.android.systemui.plugins.qs.QSTile import com.android.systemui.plugins.statusbar.StatusBarStateController import com.android.systemui.qs.QSHost import com.android.systemui.qs.QsEventLogger +import com.android.systemui.qs.flags.QsInCompose.isEnabled import com.android.systemui.qs.logging.QSLogger import com.android.systemui.qs.tileimpl.QSTileImpl +import com.android.systemui.qs.tileimpl.QSTileImpl.DrawableIconWithRes +import com.android.systemui.res.R import com.android.systemui.statusbar.policy.LocationController import com.google.common.truth.Truth import org.junit.After @@ -42,8 +44,8 @@ import org.junit.Test import org.junit.runner.RunWith import org.mockito.Mock import org.mockito.Mockito.anyInt -import org.mockito.MockitoAnnotations import org.mockito.Mockito.`when` as whenever +import org.mockito.MockitoAnnotations @RunWith(AndroidJUnit4::class) @TestableLooper.RunWithLooper(setAsMainLooper = true) @@ -72,8 +74,6 @@ class NightDisplayTileTest : SysuiTestCase() { private lateinit var mTestableLooper: TestableLooper private lateinit var mTile: NightDisplayTile - - @Before fun setUp() { MockitoAnnotations.initMocks(this) @@ -97,7 +97,7 @@ class NightDisplayTileTest : SysuiTestCase() { mQsLogger, mLocationController, mColorDisplayManager, - mNightDisplayListenerBuilder + mNightDisplayListenerBuilder, ) } @@ -115,7 +115,7 @@ class NightDisplayTileTest : SysuiTestCase() { mTile.handleUpdateState(state, /* arg= */ null) Truth.assertThat(state.icon) - .isEqualTo(QSTileImpl.ResourceIcon.get(R.drawable.qs_nightlight_icon_off)) + .isEqualTo(createExpectedIcon(R.drawable.qs_nightlight_icon_off)) } @Test @@ -125,7 +125,14 @@ class NightDisplayTileTest : SysuiTestCase() { mTile.handleUpdateState(state, /* arg= */ null) - Truth.assertThat(state.icon) - .isEqualTo(QSTileImpl.ResourceIcon.get(R.drawable.qs_nightlight_icon_on)) + Truth.assertThat(state.icon).isEqualTo(createExpectedIcon(R.drawable.qs_nightlight_icon_on)) + } + + private fun createExpectedIcon(resId: Int): QSTile.Icon { + return if (isEnabled) { + DrawableIconWithRes(mContext.getDrawable(resId), resId) + } else { + QSTileImpl.ResourceIcon.get(resId) + } } } diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/QRCodeScannerTileTest.java b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/QRCodeScannerTileTest.java index f8f82f2c2ed8..682daea2cb1f 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/QRCodeScannerTileTest.java +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/QRCodeScannerTileTest.java @@ -38,6 +38,7 @@ import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.qrcodescanner.controller.QRCodeScannerController; import com.android.systemui.qs.QSHost; import com.android.systemui.qs.QsEventLogger; +import com.android.systemui.qs.flags.QsInCompose; import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.res.R; @@ -112,7 +113,7 @@ public class QRCodeScannerTileTest extends SysuiTestCase { assertEquals(state.label, mContext.getString(R.string.qr_code_scanner_title)); assertEquals(state.contentDescription, mContext.getString(R.string.qr_code_scanner_title)); - assertEquals(state.icon, QSTileImpl.ResourceIcon.get(R.drawable.ic_qr_code_scanner)); + assertEquals(state.icon, createExpectedIcon(R.drawable.ic_qr_code_scanner)); } @Test @@ -133,4 +134,12 @@ public class QRCodeScannerTileTest extends SysuiTestCase { assertEquals(state.state, Tile.STATE_INACTIVE); assertNull(state.secondaryLabel); } + + private QSTile.Icon createExpectedIcon(int resId) { + if (QsInCompose.isEnabled()) { + return new QSTileImpl.DrawableIconWithRes(mContext.getDrawable(resId), resId); + } else { + return QSTileImpl.ResourceIcon.get(resId); + } + } } diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/QuickAccessWalletTileTest.java b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/QuickAccessWalletTileTest.java index 4068d9fd7f3d..33951672d05b 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/QuickAccessWalletTileTest.java +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/QuickAccessWalletTileTest.java @@ -68,6 +68,7 @@ import com.android.systemui.plugins.qs.QSTile; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.qs.QSHost; import com.android.systemui.qs.QsEventLogger; +import com.android.systemui.qs.flags.QsInCompose; import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.res.R; @@ -294,7 +295,7 @@ public class QuickAccessWalletTileTest extends SysuiTestCase { public void testHandleUpdateState_updateLabelAndIcon_noIconFromApi() { when(mQuickAccessWalletClient.getTileIcon()).thenReturn(null); QSTile.State state = new QSTile.State(); - QSTile.Icon icon = QSTileImpl.ResourceIcon.get(R.drawable.ic_wallet_lockscreen); + QSTile.Icon icon = createExpectedIcon(R.drawable.ic_wallet_lockscreen); mTile.handleUpdateState(state, null); @@ -574,5 +575,13 @@ public class QuickAccessWalletTileTest extends SysuiTestCase { CARD_ID, INVALID_CARD_IMAGE, CARD_DESCRIPTION, pendingIntent).build(); } + private QSTile.Icon createExpectedIcon(int resId) { + if (QsInCompose.isEnabled()) { + return new QSTileImpl.DrawableIconWithRes(mContext.getDrawable(resId), resId); + } else { + return QSTileImpl.ResourceIcon.get(resId); + } + } + } diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/ReduceBrightColorsTileTest.java b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/ReduceBrightColorsTileTest.java index 1aff45bf581d..2345128e8c84 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/ReduceBrightColorsTileTest.java +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/ReduceBrightColorsTileTest.java @@ -46,6 +46,7 @@ import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.qs.QSHost; import com.android.systemui.qs.QsEventLogger; import com.android.systemui.qs.ReduceBrightColorsController; +import com.android.systemui.qs.flags.QsInCompose; import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.res.R.drawable; @@ -234,7 +235,7 @@ public class ReduceBrightColorsTileTest extends SysuiTestCase { mTile.handleUpdateState(state, /* arg= */ null); - assertEquals(state.icon, QSTileImpl.ResourceIcon.get(drawable.qs_extra_dim_icon_on)); + assertEquals(state.icon, createExpectedIcon(drawable.qs_extra_dim_icon_on)); } @Test @@ -245,7 +246,15 @@ public class ReduceBrightColorsTileTest extends SysuiTestCase { mTile.handleUpdateState(state, /* arg= */ null); - assertEquals(state.icon, QSTileImpl.ResourceIcon.get(drawable.qs_extra_dim_icon_off)); + assertEquals(state.icon, createExpectedIcon(drawable.qs_extra_dim_icon_off)); + } + + private QSTile.Icon createExpectedIcon(int resId) { + if (QsInCompose.isEnabled()) { + return new QSTileImpl.DrawableIconWithRes(mContext.getDrawable(resId), resId); + } else { + return QSTileImpl.ResourceIcon.get(resId); + } } } diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/RotationLockTileTest.java b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/RotationLockTileTest.java index 41930636cfa3..7fb0eabe96e5 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/RotationLockTileTest.java +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/RotationLockTileTest.java @@ -41,6 +41,7 @@ import com.android.systemui.plugins.qs.QSTile; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.qs.QSHost; import com.android.systemui.qs.QsEventLogger; +import com.android.systemui.qs.flags.QsInCompose; import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.res.R; @@ -247,7 +248,7 @@ public class RotationLockTileTest extends SysuiTestCase { mLockTile.handleUpdateState(state, /* arg= */ null); - assertEquals(state.icon, QSTileImpl.ResourceIcon.get(R.drawable.qs_auto_rotate_icon_off)); + assertEquals(state.icon, createExpectedIcon(R.drawable.qs_auto_rotate_icon_off)); } @Test @@ -257,7 +258,7 @@ public class RotationLockTileTest extends SysuiTestCase { mLockTile.handleUpdateState(state, /* arg= */ null); - assertEquals(state.icon, QSTileImpl.ResourceIcon.get(R.drawable.qs_auto_rotate_icon_on)); + assertEquals(state.icon, createExpectedIcon(R.drawable.qs_auto_rotate_icon_on)); } @@ -281,4 +282,12 @@ public class RotationLockTileTest extends SysuiTestCase { private void disableCameraBasedRotation() { when(mRotationPolicyWrapper.isCameraRotationEnabled()).thenReturn(false); } + + private QSTile.Icon createExpectedIcon(int resId) { + if (QsInCompose.isEnabled()) { + return new QSTileImpl.DrawableIconWithRes(mContext.getDrawable(resId), resId); + } else { + return QSTileImpl.ResourceIcon.get(resId); + } + } } diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/ScreenRecordTileTest.java b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/ScreenRecordTileTest.java index 6ebe8309bf69..a7c7a78dae5f 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/ScreenRecordTileTest.java +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/ScreenRecordTileTest.java @@ -48,6 +48,7 @@ import com.android.systemui.plugins.qs.QSTile; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.qs.QSHost; import com.android.systemui.qs.QsEventLogger; +import com.android.systemui.qs.flags.QsInCompose; import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.qs.pipeline.domain.interactor.PanelInteractor; import com.android.systemui.qs.tileimpl.QSTileImpl; @@ -268,7 +269,7 @@ public class ScreenRecordTileTest extends SysuiTestCase { mTile.handleUpdateState(state, /* arg= */ null); - assertEquals(state.icon, QSTileImpl.ResourceIcon.get(R.drawable.qs_screen_record_icon_on)); + assertEquals(state.icon, createExpectedIcon(R.drawable.qs_screen_record_icon_on)); } @Test @@ -279,7 +280,7 @@ public class ScreenRecordTileTest extends SysuiTestCase { mTile.handleUpdateState(state, /* arg= */ null); - assertEquals(state.icon, QSTileImpl.ResourceIcon.get(R.drawable.qs_screen_record_icon_on)); + assertEquals(state.icon, createExpectedIcon(R.drawable.qs_screen_record_icon_on)); } @Test @@ -290,7 +291,7 @@ public class ScreenRecordTileTest extends SysuiTestCase { mTile.handleUpdateState(state, /* arg= */ null); - assertEquals(state.icon, QSTileImpl.ResourceIcon.get(R.drawable.qs_screen_record_icon_off)); + assertEquals(state.icon, createExpectedIcon(R.drawable.qs_screen_record_icon_off)); } @Test @@ -316,4 +317,12 @@ public class ScreenRecordTileTest extends SysuiTestCase { .notifyPermissionRequestDisplayed(mContext.getUserId()); } + private QSTile.Icon createExpectedIcon(int resId) { + if (QsInCompose.isEnabled()) { + return new QSTileImpl.DrawableIconWithRes(mContext.getDrawable(resId), resId); + } else { + return QSTileImpl.ResourceIcon.get(resId); + } + } + } diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/UiModeNightTileTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/UiModeNightTileTest.kt index 8324a7303cff..773e225a6a35 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/UiModeNightTileTest.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/UiModeNightTileTest.kt @@ -25,7 +25,6 @@ import android.testing.TestableLooper import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.internal.logging.MetricsLogger -import com.android.systemui.res.R import com.android.systemui.SysuiTestCase import com.android.systemui.classifier.FalsingManagerFake import com.android.systemui.plugins.ActivityStarter @@ -33,8 +32,11 @@ import com.android.systemui.plugins.qs.QSTile import com.android.systemui.plugins.statusbar.StatusBarStateController import com.android.systemui.qs.QSHost import com.android.systemui.qs.QsEventLogger +import com.android.systemui.qs.flags.QsInCompose.isEnabled import com.android.systemui.qs.logging.QSLogger import com.android.systemui.qs.tileimpl.QSTileImpl +import com.android.systemui.qs.tileimpl.QSTileImpl.DrawableIconWithRes +import com.android.systemui.res.R import com.android.systemui.statusbar.policy.BatteryController import com.android.systemui.statusbar.policy.ConfigurationController import com.android.systemui.statusbar.policy.LocationController @@ -95,7 +97,7 @@ class UiModeNightTileTest : SysuiTestCase() { qsLogger, configurationController, batteryController, - locationController + locationController, ) } @@ -112,8 +114,7 @@ class UiModeNightTileTest : SysuiTestCase() { tile.handleUpdateState(state, /* arg= */ null) - assertThat(state.icon) - .isEqualTo(QSTileImpl.ResourceIcon.get(R.drawable.qs_light_dark_theme_icon_on)) + assertThat(state.icon).isEqualTo(createExpectedIcon(R.drawable.qs_light_dark_theme_icon_on)) } @Test @@ -124,7 +125,7 @@ class UiModeNightTileTest : SysuiTestCase() { tile.handleUpdateState(state, /* arg= */ null) assertThat(state.icon) - .isEqualTo(QSTileImpl.ResourceIcon.get(R.drawable.qs_light_dark_theme_icon_off)) + .isEqualTo(createExpectedIcon(R.drawable.qs_light_dark_theme_icon_off)) } private fun setNightModeOn() { @@ -136,4 +137,12 @@ class UiModeNightTileTest : SysuiTestCase() { `when`(uiModeManager.nightMode).thenReturn(UiModeManager.MODE_NIGHT_NO) configuration.uiMode = Configuration.UI_MODE_NIGHT_NO } + + private fun createExpectedIcon(resId: Int): QSTile.Icon { + return if (isEnabled) { + DrawableIconWithRes(mContext.getDrawable(resId), resId) + } else { + QSTileImpl.ResourceIcon.get(resId) + } + } } |