Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b1971f4a authored by Olivier St-Onge's avatar Olivier St-Onge Committed by Android (Google) Code Review
Browse files

Merge "Use correct expected icons" into main

parents 8220c6b6 340b9ec1
Loading
Loading
Loading
Loading
+41 −42
Original line number Diff line number Diff line
@@ -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,7 +80,8 @@ class AirplaneModeTileTest : SysuiTestCase() {
        Mockito.`when`(mHost.context).thenReturn(mContext)
        Mockito.`when`(mHost.userContext).thenReturn(mContext)
        Mockito.`when`(mLazyConnectivityManager.get()).thenReturn(mConnectivityManager)
        mTile = AirplaneModeTile(
        mTile =
            AirplaneModeTile(
                mHost,
                mUiEventLogger,
                mTestableLooper.looper,
@@ -102,7 +94,8 @@ class AirplaneModeTileTest : SysuiTestCase() {
                mBroadcastDispatcher,
                mLazyConnectivityManager,
                mGlobalSettings,
            mUserTracker)
                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)
        }
    }
}
+13 −5
Original line number Diff line number Diff line
@@ -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)
        }
    }
}
+35 −30
Original line number Diff line number Diff line
@@ -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)
        }
    }
}
+11 −2
Original line number Diff line number Diff line
@@ -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);
        }
    }
}
+13 −5
Original line number Diff line number Diff line
@@ -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)
        }
    }
}
Loading