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

Commit ac810641 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix expected icons for additional tests" into main

parents f458429e 528cc83a
Loading
Loading
Loading
Loading
+25 −20
Original line number Diff line number Diff line
@@ -22,8 +22,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.BluetoothController
import com.android.systemui.util.mockito.any
@@ -81,7 +83,7 @@ class BluetoothTileTest : SysuiTestCase() {
                qsLogger,
                bluetoothController,
                featureFlags,
                bluetoothTileDialogViewModel
                bluetoothTileDialogViewModel,
            )

        tile.initialize()
@@ -109,8 +111,7 @@ class BluetoothTileTest : SysuiTestCase() {

        tile.handleUpdateState(state, /* arg= */ null)

        assertThat(state.icon)
            .isEqualTo(QSTileImpl.ResourceIcon.get(R.drawable.qs_bluetooth_icon_off))
        assertThat(state.icon).isEqualTo(createExpectedIcon(R.drawable.qs_bluetooth_icon_off))
    }

    @Test
@@ -121,8 +122,7 @@ class BluetoothTileTest : SysuiTestCase() {

        tile.handleUpdateState(state, /* arg= */ null)

        assertThat(state.icon)
            .isEqualTo(QSTileImpl.ResourceIcon.get(R.drawable.qs_bluetooth_icon_off))
        assertThat(state.icon).isEqualTo(createExpectedIcon(R.drawable.qs_bluetooth_icon_off))
    }

    @Test
@@ -133,8 +133,7 @@ class BluetoothTileTest : SysuiTestCase() {

        tile.handleUpdateState(state, /* arg= */ null)

        assertThat(state.icon)
            .isEqualTo(QSTileImpl.ResourceIcon.get(R.drawable.qs_bluetooth_icon_on))
        assertThat(state.icon).isEqualTo(createExpectedIcon(R.drawable.qs_bluetooth_icon_on))
    }

    @Test
@@ -145,8 +144,7 @@ class BluetoothTileTest : SysuiTestCase() {

        tile.handleUpdateState(state, /* arg= */ null)

        assertThat(state.icon)
            .isEqualTo(QSTileImpl.ResourceIcon.get(R.drawable.qs_bluetooth_icon_search))
        assertThat(state.icon).isEqualTo(createExpectedIcon(R.drawable.qs_bluetooth_icon_search))
    }

    @Test
@@ -161,11 +159,10 @@ class BluetoothTileTest : SysuiTestCase() {
            .isEqualTo(
                mContext.getString(
                    R.string.quick_settings_bluetooth_secondary_label_battery_level,
                    Utils.formatPercentage(50)
                    Utils.formatPercentage(50),
                )
            )
        verify(bluetoothController)
            .addOnMetadataChangedListener(eq(cachedDevice), any(), any())
        verify(bluetoothController).addOnMetadataChangedListener(eq(cachedDevice), any(), any())
    }

    @Test
@@ -186,7 +183,7 @@ class BluetoothTileTest : SysuiTestCase() {
            .isEqualTo(
                mContext.getString(
                    R.string.quick_settings_bluetooth_secondary_label_battery_level,
                    Utils.formatPercentage(25)
                    Utils.formatPercentage(25),
                )
            )
        verify(bluetoothController, times(1))
@@ -265,7 +262,7 @@ class BluetoothTileTest : SysuiTestCase() {
        qsLogger: QSLogger,
        bluetoothController: BluetoothController,
        featureFlags: FeatureFlagsClassic,
        bluetoothTileDialogViewModel: BluetoothTileDialogViewModel
        bluetoothTileDialogViewModel: BluetoothTileDialogViewModel,
    ) :
        BluetoothTile(
            qsHost,
@@ -279,13 +276,13 @@ class BluetoothTileTest : SysuiTestCase() {
            qsLogger,
            bluetoothController,
            featureFlags,
            bluetoothTileDialogViewModel
            bluetoothTileDialogViewModel,
        ) {
        var restrictionChecked: String? = null

        override fun checkIfRestrictionEnforcedByAdminOnly(
            state: QSTile.State?,
            userRestriction: String?
            userRestriction: String?,
        ) {
            restrictionChecked = userRestriction
        }
@@ -321,7 +318,7 @@ class BluetoothTileTest : SysuiTestCase() {
    fun listenToDeviceMetadata(
        state: QSTile.BooleanState,
        cachedDevice: CachedBluetoothDevice,
        batteryLevel: Int
        batteryLevel: Int,
    ) {
        val btDevice = mock<BluetoothDevice>()
        whenever(cachedDevice.device).thenReturn(btDevice)
@@ -332,4 +329,12 @@ class BluetoothTileTest : SysuiTestCase() {
        addConnectedDevice(cachedDevice)
        tile.handleUpdateState(state, /* arg= */ null)
    }

    private fun createExpectedIcon(resId: Int): QSTile.Icon {
        return if (isEnabled) {
            DrawableIconWithRes(mContext.getDrawable(resId), resId)
        } else {
            QSTileImpl.ResourceIcon.get(resId)
        }
    }
}
+49 −50
Original line number Diff line number Diff line
@@ -29,7 +29,6 @@ import android.view.ContextThemeWrapper
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.animation.DialogTransitionAnimator
import com.android.systemui.animation.Expandable
@@ -39,14 +38,18 @@ 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.ZenModeController
import com.android.systemui.util.mockito.any
import com.android.systemui.util.mockito.nullable
import com.android.systemui.util.settings.FakeSettings
import com.android.systemui.util.settings.SecureSettings
import com.google.common.truth.Truth.assertThat
import java.io.File
import org.junit.After
import org.junit.Before
import org.junit.Test
@@ -55,9 +58,8 @@ import org.mockito.Mock
import org.mockito.Mockito.anyBoolean
import org.mockito.Mockito.never
import org.mockito.Mockito.verify
import org.mockito.MockitoAnnotations
import java.io.File
import org.mockito.Mockito.`when` as whenever
import org.mockito.MockitoAnnotations

@SmallTest
@RunWith(AndroidJUnit4::class)
@@ -70,41 +72,29 @@ class DndTileTest : SysuiTestCase() {
        private const val KEY = Settings.Secure.ZEN_DURATION
    }

    @Mock
    private lateinit var qsHost: QSHost
    @Mock private lateinit var qsHost: QSHost

    @Mock
    private lateinit var metricsLogger: MetricsLogger
    @Mock private lateinit var metricsLogger: MetricsLogger

    @Mock
    private lateinit var statusBarStateController: StatusBarStateController
    @Mock private lateinit var statusBarStateController: StatusBarStateController

    @Mock
    private lateinit var activityStarter: ActivityStarter
    @Mock private lateinit var activityStarter: ActivityStarter

    @Mock
    private lateinit var qsLogger: QSLogger
    @Mock private lateinit var qsLogger: QSLogger

    @Mock
    private lateinit var uiEventLogger: QsEventLogger
    @Mock private lateinit var uiEventLogger: QsEventLogger

    @Mock
    private lateinit var zenModeController: ZenModeController
    @Mock private lateinit var zenModeController: ZenModeController

    @Mock
    private lateinit var sharedPreferences: SharedPreferences
    @Mock private lateinit var sharedPreferences: SharedPreferences

    @Mock
    private lateinit var mDialogTransitionAnimator: DialogTransitionAnimator
    @Mock private lateinit var mDialogTransitionAnimator: DialogTransitionAnimator

    @Mock
    private lateinit var hostDialog: Dialog
    @Mock private lateinit var hostDialog: Dialog

    @Mock
    private lateinit var expandable: Expandable
    @Mock private lateinit var expandable: Expandable

    @Mock
    private lateinit var controller: DialogTransitionAnimator.Controller
    @Mock private lateinit var controller: DialogTransitionAnimator.Controller

    private lateinit var secureSettings: SecureSettings
    private lateinit var testableLooper: TestableLooper
@@ -118,9 +108,9 @@ class DndTileTest : SysuiTestCase() {

        whenever(qsHost.userId).thenReturn(DEFAULT_USER)

        val wrappedContext = object : ContextWrapper(
                ContextThemeWrapper(context, R.style.Theme_SystemUI_QuickSettings)
        ) {
        val wrappedContext =
            object :
                ContextWrapper(ContextThemeWrapper(context, R.style.Theme_SystemUI_QuickSettings)) {
                override fun getSharedPreferences(file: File?, mode: Int): SharedPreferences {
                    return sharedPreferences
                }
@@ -128,7 +118,8 @@ class DndTileTest : SysuiTestCase() {
        whenever(qsHost.context).thenReturn(wrappedContext)
        whenever(expandable.dialogTransitionController(any())).thenReturn(controller)

        tile = DndTile(
        tile =
            DndTile(
                qsHost,
                uiEventLogger,
                testableLooper.looper,
@@ -141,7 +132,7 @@ class DndTileTest : SysuiTestCase() {
                zenModeController,
                sharedPreferences,
                secureSettings,
            mDialogTransitionAnimator
                mDialogTransitionAnimator,
            )
    }

@@ -222,7 +213,7 @@ class DndTileTest : SysuiTestCase() {

        tile.handleUpdateState(state, /* arg= */ null)

        assertThat(state.icon).isEqualTo(QSTileImpl.ResourceIcon.get(R.drawable.qs_dnd_icon_off))
        assertThat(state.icon).isEqualTo(createExpectedIcon(R.drawable.qs_dnd_icon_off))
    }

    @Test
@@ -232,6 +223,14 @@ class DndTileTest : SysuiTestCase() {

        tile.handleUpdateState(state, /* arg= */ null)

        assertThat(state.icon).isEqualTo(QSTileImpl.ResourceIcon.get(R.drawable.qs_dnd_icon_on))
        assertThat(state.icon).isEqualTo(createExpectedIcon(R.drawable.qs_dnd_icon_on))
    }

    private fun createExpectedIcon(resId: Int): QSTile.Icon {
        return if (isEnabled) {
            DrawableIconWithRes(mContext.getDrawable(resId), resId)
        } else {
            QSTileImpl.ResourceIcon.get(resId)
        }
    }
}
+12 −2
Original line number Diff line number Diff line
@@ -45,9 +45,11 @@ import com.android.systemui.SysuiTestCase;
import com.android.systemui.broadcast.BroadcastDispatcher;
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.res.R;
@@ -246,13 +248,13 @@ public class DreamTileTest extends SysuiTestCase {
        dockIntent.putExtra(Intent.EXTRA_DOCK_STATE, Intent.EXTRA_DOCK_STATE_DESK);
        receiver.onReceive(mContext, dockIntent);
        mTestableLooper.processAllMessages();
        assertEquals(QSTileImpl.ResourceIcon.get(R.drawable.ic_qs_screen_saver),
        assertEquals(createExpectedIcon(R.drawable.ic_qs_screen_saver),
                dockedTile.getState().icon);

        dockIntent.putExtra(Intent.EXTRA_DOCK_STATE, Intent.EXTRA_DOCK_STATE_UNDOCKED);
        receiver.onReceive(mContext, dockIntent);
        mTestableLooper.processAllMessages();
        assertEquals(QSTileImpl.ResourceIcon.get(R.drawable.ic_qs_screen_saver_undocked),
        assertEquals(createExpectedIcon(R.drawable.ic_qs_screen_saver_undocked),
                dockedTile.getState().icon);

        destroyTile(dockedTile);
@@ -268,6 +270,14 @@ public class DreamTileTest extends SysuiTestCase {
        mTestableLooper.processAllMessages();
    }

    private QSTile.Icon createExpectedIcon(int resId) {
        if (QsInCompose.isEnabled()) {
            return new QSTileImpl.DrawableIconWithRes(mContext.getDrawable(resId), resId);
        } else {
            return QSTileImpl.ResourceIcon.get(resId);
        }
    }

    private DreamTile constructTileForTest(boolean dreamSupported,
            boolean dreamOnlyEnabledForSystemUser) {
        return new DreamTile(
+12 −3
Original line number Diff line number Diff line
@@ -38,6 +38,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;
@@ -144,7 +145,7 @@ public class HotspotTileTest extends SysuiTestCase {
        mTile.handleUpdateState(state, /* arg= */ null);

        assertThat(state.icon)
                .isEqualTo(QSTileImpl.ResourceIcon.get(R.drawable.qs_hotspot_icon_off));
                .isEqualTo(createExpectedIcon(R.drawable.qs_hotspot_icon_off));
    }

    @Test
@@ -156,7 +157,7 @@ public class HotspotTileTest extends SysuiTestCase {
        mTile.handleUpdateState(state, /* arg= */ null);

        assertThat(state.icon)
                .isEqualTo(QSTileImpl.ResourceIcon.get(R.drawable.qs_hotspot_icon_search));
                .isEqualTo(createExpectedIcon(R.drawable.qs_hotspot_icon_search));
    }

    @Test
@@ -168,6 +169,14 @@ public class HotspotTileTest extends SysuiTestCase {
        mTile.handleUpdateState(state, /* arg= */ null);

        assertThat(state.icon)
                .isEqualTo(QSTileImpl.ResourceIcon.get(R.drawable.qs_hotspot_icon_on));
                .isEqualTo(createExpectedIcon(R.drawable.qs_hotspot_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);
        }
    }
}