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

Commit 71c8e578 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-qpr-dev-plus-aosp am: 1ed7bb80

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



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


    override fun getSelections(): Map<String, List<String>> {
    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 slotKeys = sharedPrefs.all.keys.filter { it.startsWith(KEY_PREFIX_SLOT) }
        val result =
        val result =
            slotKeys
            slotKeys
+2 −0
Original line number Original line Diff line number Diff line
@@ -72,6 +72,8 @@ class KeyguardQuickAffordanceLegacySettingSyncerTest : SysuiTestCase() {
        val resources: Resources = mock()
        val resources: Resources = mock()
        whenever(resources.getStringArray(R.array.config_keyguardQuickAffordanceDefaults))
        whenever(resources.getStringArray(R.array.config_keyguardQuickAffordanceDefaults))
            .thenReturn(emptyArray())
            .thenReturn(emptyArray())
        whenever(resources.getBoolean(R.bool.custom_lockscreen_shortcuts_enabled))
            .thenReturn(true)
        whenever(context.resources).thenReturn(resources)
        whenever(context.resources).thenReturn(resources)


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


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

        Dispatchers.resetMain()
        Dispatchers.resetMain()
    }
    }


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


    @Before
    @Before
    fun setUp() {
    fun setUp() {
        overrideResource(R.bool.custom_lockscreen_shortcuts_enabled, true)
        context.resources.configuration.setLayoutDirection(Locale.US)
        context.resources.configuration.setLayoutDirection(Locale.US)
        config1 = FakeKeyguardQuickAffordanceConfig(FakeCustomizationProviderClient.AFFORDANCE_1)
        config1 = FakeKeyguardQuickAffordanceConfig(FakeCustomizationProviderClient.AFFORDANCE_1)
        config2 = FakeKeyguardQuickAffordanceConfig(FakeCustomizationProviderClient.AFFORDANCE_2)
        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
    @Test
    fun setSelections() =
    fun setSelections() =
        testScope.runTest {
        testScope.runTest {
+3 −1
Original line number Original line Diff line number Diff line
@@ -102,6 +102,8 @@ class KeyguardQuickAffordanceInteractorTest : SysuiTestCase() {
    fun setUp() {
    fun setUp() {
        MockitoAnnotations.initMocks(this)
        MockitoAnnotations.initMocks(this)


        overrideResource(R.bool.custom_lockscreen_shortcuts_enabled, true)

        repository = FakeKeyguardRepository()
        repository = FakeKeyguardRepository()
        repository.setKeyguardShowing(true)
        repository.setKeyguardShowing(true)


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