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

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

Merge "Make edit mode only accessible after screen unlock" into main

parents c4b7983f 84df3828
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -23,11 +23,16 @@ import com.android.systemui.classifier.fakeFalsingManager
import com.android.systemui.kosmos.collectLastValue
import com.android.systemui.kosmos.runCurrent
import com.android.systemui.kosmos.runTest
import com.android.systemui.plugins.activityStarter
import com.android.systemui.qs.panels.ui.viewmodel.toolbar.editModeButtonViewModelFactory
import com.android.systemui.testKosmos
import com.google.common.truth.Truth.assertThat
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.kotlin.any
import org.mockito.kotlin.doAnswer
import org.mockito.kotlin.whenever

@RunWith(AndroidJUnit4::class)
@SmallTest
@@ -36,6 +41,15 @@ class EditModeButtonViewModelTest : SysuiTestCase() {

    val underTest = kosmos.editModeButtonViewModelFactory.create()

    @Before
    fun setUp() {
        with(kosmos) {
            whenever(activityStarter.postQSRunnableDismissingKeyguard(any())).doAnswer {
                (it.getArgument(0) as Runnable).run()
            }
        }
    }

    @Test
    fun falsingFalseTap_editModeDoesntStart() =
        kosmos.runTest {
+3 −1
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.systemui.qs.panels.ui.viewmodel.toolbar

import com.android.systemui.classifier.domain.interactor.FalsingInteractor
import com.android.systemui.plugins.ActivityStarter
import com.android.systemui.plugins.FalsingManager
import com.android.systemui.qs.panels.ui.viewmodel.EditModeViewModel
import dagger.assisted.AssistedFactory
@@ -27,11 +28,12 @@ class EditModeButtonViewModel
constructor(
    private val editModeViewModel: EditModeViewModel,
    private val falsingInteractor: FalsingInteractor,
    private val activityStarter: ActivityStarter,
) {

    fun onButtonClick() {
        if (!falsingInteractor.isFalseTap(FalsingManager.LOW_PENALTY)) {
            editModeViewModel.startEditing()
            activityStarter.postQSRunnableDismissingKeyguard { editModeViewModel.startEditing() }
        }
    }

+6 −1
Original line number Diff line number Diff line
@@ -18,13 +18,18 @@ package com.android.systemui.qs.panels.ui.viewmodel.toolbar

import com.android.systemui.classifier.domain.interactor.falsingInteractor
import com.android.systemui.kosmos.Kosmos
import com.android.systemui.plugins.activityStarter
import com.android.systemui.qs.panels.ui.viewmodel.editModeViewModel

val Kosmos.editModeButtonViewModelFactory by
    Kosmos.Fixture {
        object : EditModeButtonViewModel.Factory {
            override fun create(): EditModeButtonViewModel {
                return EditModeButtonViewModel(editModeViewModel, falsingInteractor)
                return EditModeButtonViewModel(
                    editModeViewModel,
                    falsingInteractor,
                    activityStarter,
                )
            }
        }
    }