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

Commit c4096d15 authored by Beverly Tai's avatar Beverly Tai Committed by Beverly
Browse files

Revert "Cancel pending tasks by callling underTest.onPause to avoid mockito-npe"

Fixes: 432963778
Bug: 423646800

This reverts commit 0345218e.

Reason for revert: b/432963778 The cancellation was causing another
mockito-npe in the onCancel callback instead

Change-Id: Ib480a266e5b47ecbbd25949d6a65eaefc01db8b7
parent 2397c213
Loading
Loading
Loading
Loading
+21 −26
Original line number Diff line number Diff line
@@ -45,8 +45,8 @@ import com.android.systemui.util.mockito.mock
import com.android.systemui.util.mockito.whenever
import junit.framework.Assert.assertFalse
import junit.framework.Assert.assertTrue
import org.junit.After
import org.junit.Before
import org.junit.Ignore
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.ArgumentCaptor
@@ -61,6 +61,7 @@ import org.mockito.Mockito.verify
import org.mockito.Mockito.`when`
import org.mockito.MockitoAnnotations

@Ignore("b/423646800")
@SmallTest
@RunWith(AndroidJUnit4::class)
// collectFlow in KeyguardPinBasedInputViewController.onViewAttached calls JavaAdapter.CollectFlow,
@@ -81,13 +82,13 @@ class KeyguardPasswordViewControllerTest : SysuiTestCase() {
    @Mock lateinit var mainExecutor: DelayableExecutor
    @Mock lateinit var falsingCollector: FalsingCollector
    @Mock lateinit var keyguardViewController: KeyguardViewController
    @Mock lateinit var selectedUserInteractor: SelectedUserInteractor
    @Mock private lateinit var keyguardMessageArea: BouncerKeyguardMessageArea
    @Mock lateinit var mSelectedUserInteractor: SelectedUserInteractor
    @Mock private lateinit var mKeyguardMessageArea: BouncerKeyguardMessageArea
    @Mock
    private lateinit var keyguardMessageAreaController:
    private lateinit var mKeyguardMessageAreaController:
        KeyguardMessageAreaController<BouncerKeyguardMessageArea>
    @Mock private lateinit var postureController: DevicePostureController
    @Mock private lateinit var userActivityNotifier: UserActivityNotifier
    @Mock private lateinit var mUserActivityNotifier: UserActivityNotifier
    @Captor private lateinit var keyListenerArgumentCaptor: ArgumentCaptor<View.OnKeyListener>
    private val kosmos = testKosmos()

@@ -101,16 +102,15 @@ class KeyguardPasswordViewControllerTest : SysuiTestCase() {
                    R.id.bouncer_message_area
                )
            )
            .thenReturn(keyguardMessageArea)
        `when`(messageAreaControllerFactory.create(keyguardMessageArea))
            .thenReturn(keyguardMessageAreaController)
        `when`(keyguardPasswordView.passwordTextViewId).thenReturn(R.id.passwordEntry)
        `when`(keyguardPasswordView.findViewById<EditText>(R.id.passwordEntry))
            .thenReturn(mKeyguardMessageArea)
        Mockito.`when`(messageAreaControllerFactory.create(mKeyguardMessageArea))
            .thenReturn(mKeyguardMessageAreaController)
        Mockito.`when`(keyguardPasswordView.passwordTextViewId).thenReturn(R.id.passwordEntry)
        Mockito.`when`(keyguardPasswordView.findViewById<EditText>(R.id.passwordEntry))
            .thenReturn(passwordEntry)
        whenever(keyguardPasswordView.findViewById<ImageView>(R.id.switch_ime_button))
            .thenReturn(mock(ImageView::class.java))
        `when`(keyguardPasswordView.resources).thenReturn(context.resources)
        `when`(keyguardMessageArea.resources).thenReturn(context.resources)
        // TODO(b/362362385): No need to mock keyguardPasswordView.context once this bug is fixed.
        `when`(keyguardPasswordView.context).thenReturn(context)
        whenever(passwordEntry.layoutParams).thenReturn(passwordEntryLayoutParams)
@@ -135,22 +135,17 @@ class KeyguardPasswordViewControllerTest : SysuiTestCase() {
                keyguardViewController,
                postureController,
                fakeFeatureFlags,
                selectedUserInteractor,
                mSelectedUserInteractor,
                keyguardKeyboardInteractor,
                kosmos.bouncerHapticPlayer,
                userActivityNotifier,
                mUserActivityNotifier,
            )
    }

    @After
    fun tearDown() {
        keyguardPasswordViewController.onPause()
    }

    @Test
    fun testFocusWhenBouncerIsShown() {
        `when`(keyguardViewController.isBouncerShowing).thenReturn(true)
        `when`(keyguardPasswordView.isShown).thenReturn(true)
        Mockito.`when`(keyguardViewController.isBouncerShowing).thenReturn(true)
        Mockito.`when`(keyguardPasswordView.isShown).thenReturn(true)
        keyguardPasswordViewController.onResume(KeyguardSecurityView.VIEW_REVEALED)
        keyguardPasswordView.post {
            verify(keyguardPasswordView).requestFocus()
@@ -160,8 +155,8 @@ class KeyguardPasswordViewControllerTest : SysuiTestCase() {

    @Test
    fun testDoNotFocusWhenBouncerIsHidden() {
        `when`(keyguardViewController.isBouncerShowing).thenReturn(false)
        `when`(keyguardPasswordView.isShown).thenReturn(true)
        Mockito.`when`(keyguardViewController.isBouncerShowing).thenReturn(false)
        Mockito.`when`(keyguardPasswordView.isShown).thenReturn(true)
        keyguardPasswordViewController.onResume(KeyguardSecurityView.VIEW_REVEALED)
        verify(keyguardPasswordView, never()).requestFocus()
    }
@@ -178,21 +173,21 @@ class KeyguardPasswordViewControllerTest : SysuiTestCase() {
    @Test
    fun testOnViewAttached() {
        keyguardPasswordViewController.onViewAttached()
        verify(keyguardMessageAreaController)
        verify(mKeyguardMessageAreaController)
            .setMessage(context.resources.getString(R.string.keyguard_enter_your_password), false)
    }

    @Test
    fun testOnViewAttached_withExistingMessage() {
        `when`(keyguardMessageAreaController.message).thenReturn("Unlock to continue.")
        `when`(mKeyguardMessageAreaController.message).thenReturn("Unlock to continue.")
        keyguardPasswordViewController.onViewAttached()
        verify(keyguardMessageAreaController, never()).setMessage(anyString(), anyBoolean())
        verify(mKeyguardMessageAreaController, never()).setMessage(anyString(), anyBoolean())
    }

    @Test
    fun testMessageIsSetWhenReset() {
        keyguardPasswordViewController.resetState()
        verify(keyguardMessageAreaController).setMessage(R.string.keyguard_enter_your_password)
        verify(mKeyguardMessageAreaController).setMessage(R.string.keyguard_enter_your_password)
    }

    @Test