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

Commit 90567929 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

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



Change-Id: I67e7aa54eeeb5655149a6428c4065c475f7ded42
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents a8e5cc1b 1fe8b30f
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,
            )
    }