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

Commit 82f93253 authored by Brad Hinegardner's avatar Brad Hinegardner Committed by Automerger Merge Worker
Browse files

Merge "Fall back to default custom shortcuts if custom shortcuts are disabled"...

Merge "Fall back to default custom shortcuts if custom shortcuts are disabled" into udc-dev am: 1fe8b30f am: c92b8f86

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23197030



Change-Id: Ib1dfe51440e1a4ffd23d0f5bae392d27aea742a9
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 0c5f2169 c92b8f86
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -47,7 +47,7 @@ import kotlinx.coroutines.flow.onStart
class KeyguardQuickAffordanceLocalUserSelectionManager
@Inject
constructor(
    @Application context: Context,
    @Application private val context: Context,
    private val userFileManager: UserFileManager,
    private val userTracker: UserTracker,
    broadcastDispatcher: BroadcastDispatcher,
@@ -126,6 +126,11 @@ constructor(
            }

    override fun getSelections(): Map<String, List<String>> {
        // If the custom shortcuts feature is not enabled, ignore prior selections and use defaults
        if (!context.resources.getBoolean(R.bool.custom_lockscreen_shortcuts_enabled)) {
            return defaults
        }

        val slotKeys = sharedPrefs.all.keys.filter { it.startsWith(KEY_PREFIX_SLOT) }
        val result =
            slotKeys
+2 −0
Original line number Diff line number Diff line
@@ -72,6 +72,8 @@ class KeyguardQuickAffordanceLegacySettingSyncerTest : SysuiTestCase() {
        val resources: Resources = mock()
        whenever(resources.getStringArray(R.array.config_keyguardQuickAffordanceDefaults))
            .thenReturn(emptyArray())
        whenever(resources.getBoolean(R.bool.custom_lockscreen_shortcuts_enabled))
            .thenReturn(true)
        whenever(context.resources).thenReturn(resources)

        testDispatcher = UnconfinedTestDispatcher()
+24 −0
Original line number Diff line number Diff line
@@ -66,6 +66,7 @@ class KeyguardQuickAffordanceLocalUserSelectionManagerTest : SysuiTestCase() {
    @Before
    fun setUp() {
        MockitoAnnotations.initMocks(this)
        overrideResource(R.bool.custom_lockscreen_shortcuts_enabled, true)
        sharedPrefs = mutableMapOf()
        whenever(userFileManager.getSharedPreferences(anyString(), anyInt(), anyInt())).thenAnswer {
            val userId = it.arguments[2] as Int
@@ -86,6 +87,13 @@ class KeyguardQuickAffordanceLocalUserSelectionManagerTest : SysuiTestCase() {

    @After
    fun tearDown() {
        mContext
            .getOrCreateTestableResources()
            .removeOverride(R.bool.custom_lockscreen_shortcuts_enabled)
        mContext
            .getOrCreateTestableResources()
            .removeOverride(R.array.config_keyguardQuickAffordanceDefaults)

        Dispatchers.resetMain()
    }

@@ -358,6 +366,22 @@ class KeyguardQuickAffordanceLocalUserSelectionManagerTest : SysuiTestCase() {
        job.cancel()
    }

    @Test
    fun getSelections_alwaysReturnsDefaultsIfCustomShortcutsFeatureDisabled() {
        overrideResource(R.bool.custom_lockscreen_shortcuts_enabled, false)
        overrideResource(
            R.array.config_keyguardQuickAffordanceDefaults,
            arrayOf("leftTest:testShortcut1", "rightTest:testShortcut2")
        )

        assertThat(underTest.getSelections()).isEqualTo(
            mapOf(
                "leftTest" to listOf("testShortcut1"),
                "rightTest" to listOf("testShortcut2"),
            )
        )
    }

    private fun assertSelections(
        observed: Map<String, List<String>>?,
        expected: Map<String, List<String>>,
+9 −0
Original line number Diff line number Diff line
@@ -47,6 +47,7 @@ import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.StandardTestDispatcher
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.runTest
import org.junit.After
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
@@ -70,6 +71,7 @@ class KeyguardQuickAffordanceRepositoryTest : SysuiTestCase() {

    @Before
    fun setUp() {
        overrideResource(R.bool.custom_lockscreen_shortcuts_enabled, true)
        context.resources.configuration.setLayoutDirection(Locale.US)
        config1 = FakeKeyguardQuickAffordanceConfig(FakeCustomizationProviderClient.AFFORDANCE_1)
        config2 = FakeKeyguardQuickAffordanceConfig(FakeCustomizationProviderClient.AFFORDANCE_2)
@@ -137,6 +139,13 @@ class KeyguardQuickAffordanceRepositoryTest : SysuiTestCase() {
            )
    }

    @After
    fun tearDown() {
        mContext
            .getOrCreateTestableResources()
            .removeOverride(R.bool.custom_lockscreen_shortcuts_enabled)
    }

    @Test
    fun setSelections() =
        testScope.runTest {
+3 −1
Original line number Diff line number Diff line
@@ -102,6 +102,8 @@ class KeyguardQuickAffordanceInteractorTest : SysuiTestCase() {
    fun setUp() {
        MockitoAnnotations.initMocks(this)

        overrideResource(R.bool.custom_lockscreen_shortcuts_enabled, true)

        repository = FakeKeyguardRepository()
        repository.setKeyguardShowing(true)

@@ -200,7 +202,7 @@ class KeyguardQuickAffordanceInteractorTest : SysuiTestCase() {
                devicePolicyManager = devicePolicyManager,
                dockManager = dockManager,
                backgroundDispatcher = testDispatcher,
                appContext = mContext,
                appContext = context,
            )
    }