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

Commit 7a7c9c3a authored by Michael Cheng's avatar Michael Cheng
Browse files

Migrate `HeaderPrivacyIconsControllerTest` to `mockito-kotlin`.

Fixes: 435617897
Test: atest frameworks/base/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/HeaderPrivacyIconsControllerTest.kt
Change-Id: Ia450571d86fead27a43d84b895d9c203e80c0a0f
Flag: EXEMPT TEST_ONLY
parent c4eb5b5e
Loading
Loading
Loading
Loading
+36 −40
Original line number Diff line number Diff line
@@ -30,29 +30,25 @@ import com.android.systemui.statusbar.phone.StatusIconContainer
import com.android.systemui.statusbar.policy.DeviceProvisionedController
import com.android.systemui.testKosmos
import com.android.systemui.util.concurrency.FakeExecutor
import com.android.systemui.util.mockito.any
import com.android.systemui.util.mockito.argumentCaptor
import com.android.systemui.util.mockito.capture
import com.android.systemui.util.mockito.eq
import com.android.systemui.util.mockito.nullable
import com.android.systemui.util.time.FakeSystemClock
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNotNull
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.ArgumentMatchers.anyInt
import org.mockito.Mock
import org.mockito.Mockito
import org.mockito.Mockito.never
import org.mockito.Mockito.times
import org.mockito.Mockito.verify
import org.mockito.kotlin.never
import org.mockito.kotlin.capture
import org.mockito.kotlin.argumentCaptor
import org.mockito.kotlin.times
import org.mockito.kotlin.verify
import org.mockito.kotlin.eq
import org.mockito.kotlin.any
import org.mockito.kotlin.anyOrNull
import org.mockito.MockitoAnnotations
import org.mockito.Mockito.`when` as whenever

private fun <T> eq(value: T): T = Mockito.eq(value) ?: value
private fun <T> any(): T = Mockito.any<T>()

@SmallTest
@RunWith(AndroidJUnit4::class)
class HeaderPrivacyIconsControllerTest : SysuiTestCase() {
@@ -183,11 +179,11 @@ class HeaderPrivacyIconsControllerTest : SysuiTestCase() {
        whenever(safetyCenterManager.isSafetyCenterEnabled).thenReturn(false)
        controller.onParentVisible()
        val captor = argumentCaptor<View.OnClickListener>()
        verify(privacyChip).setOnClickListener(capture(captor))
        captor.value.onClick(privacyChip)
        verify(privacyDialogController).showDialog(any(Context::class.java))
        verify(privacyChip).setOnClickListener(captor.capture())
        captor.firstValue.onClick(privacyChip)
        verify(privacyDialogController).showDialog(any<Context>())
        verify(privacyDialogControllerV2, never())
            .showDialog(any(Context::class.java), any(OngoingPrivacyChip::class.java))
            .showDialog(any<Context>(), any<OngoingPrivacyChip>())
    }

    @Test
@@ -196,11 +192,11 @@ class HeaderPrivacyIconsControllerTest : SysuiTestCase() {
        whenever(safetyCenterManager.isSafetyCenterEnabled).thenReturn(false)
        controller.onParentVisible()
        val captor = argumentCaptor<View.OnClickListener>()
        verify(privacyChip).setOnClickListener(capture(captor))
        captor.value.onClick(privacyChip)
        verify(privacyDialogController).showDialog(any(Context::class.java))
        verify(privacyChip).setOnClickListener(captor.capture())
        captor.firstValue.onClick(privacyChip)
        verify(privacyDialogController).showDialog(any<Context>())
        verify(privacyDialogControllerV2, never())
                .showDialog(any(Context::class.java), any(OngoingPrivacyChip::class.java))
                .showDialog(any<Context>(), any<OngoingPrivacyChip>())
    }

    @Test
@@ -208,20 +204,20 @@ class HeaderPrivacyIconsControllerTest : SysuiTestCase() {
        whenever(featureFlags.isEnabled(Flags.ENABLE_NEW_PRIVACY_DIALOG)).thenReturn(false)
        val receiverCaptor = argumentCaptor<BroadcastReceiver>()
        whenever(safetyCenterManager.isSafetyCenterEnabled).thenReturn(true)
        verify(broadcastDispatcher).registerReceiver(capture(receiverCaptor),
                any(), any(), nullable(), anyInt(), nullable())
        receiverCaptor.value.onReceive(
        verify(broadcastDispatcher).registerReceiver(receiverCaptor.capture(),
                any(), any(), anyOrNull(), any<Int>(), anyOrNull())
        receiverCaptor.firstValue.onReceive(
                context,
                Intent(SafetyCenterManager.ACTION_SAFETY_CENTER_ENABLED_CHANGED)
        )
        backgroundExecutor.runAllReady()
        controller.onParentVisible()
        val captor = argumentCaptor<View.OnClickListener>()
        verify(privacyChip).setOnClickListener(capture(captor))
        captor.value.onClick(privacyChip)
        verify(privacyDialogController, never()).showDialog(any(Context::class.java))
        verify(privacyChip).setOnClickListener(captor.capture())
        captor.firstValue.onClick(privacyChip)
        verify(privacyDialogController, never()).showDialog(any<Context>())
        verify(privacyDialogControllerV2, never())
            .showDialog(any(Context::class.java), any(OngoingPrivacyChip::class.java))
            .showDialog(any<Context>(), any<OngoingPrivacyChip>())
    }

    @Test
@@ -229,19 +225,19 @@ class HeaderPrivacyIconsControllerTest : SysuiTestCase() {
        whenever(featureFlags.isEnabled(Flags.ENABLE_NEW_PRIVACY_DIALOG)).thenReturn(true)
        val receiverCaptor = argumentCaptor<BroadcastReceiver>()
        whenever(safetyCenterManager.isSafetyCenterEnabled).thenReturn(true)
        verify(broadcastDispatcher).registerReceiver(capture(receiverCaptor),
                any(), any(), nullable(), anyInt(), nullable())
        receiverCaptor.value.onReceive(
        verify(broadcastDispatcher).registerReceiver(receiverCaptor.capture(),
                any(), any(), anyOrNull(), any<Int>(), anyOrNull())
        receiverCaptor.firstValue.onReceive(
                context,
                Intent(SafetyCenterManager.ACTION_SAFETY_CENTER_ENABLED_CHANGED)
        )
        backgroundExecutor.runAllReady()
        controller.onParentVisible()
        val captor = argumentCaptor<View.OnClickListener>()
        verify(privacyChip).setOnClickListener(capture(captor))
        captor.value.onClick(privacyChip)
        verify(privacyDialogControllerV2).showDialog(any(Context::class.java), eq(privacyChip))
        verify(privacyDialogController, never()).showDialog(any(Context::class.java))
        verify(privacyChip).setOnClickListener(captor.capture())
        captor.firstValue.onClick(privacyChip)
        verify(privacyDialogControllerV2).showDialog(any<Context>(), eq(privacyChip))
        verify(privacyDialogController, never()).showDialog(any<Context>())
    }

    @Test
@@ -250,7 +246,7 @@ class HeaderPrivacyIconsControllerTest : SysuiTestCase() {
        controller.attachStateChangeListener.onViewDetachedFromWindow(privacyChip)
        backgroundExecutor.runAllReady()
        val broadcastReceiverCaptor = argumentCaptor<BroadcastReceiver>()
        verify(broadcastDispatcher).unregisterReceiver(capture(broadcastReceiverCaptor))
        verify(broadcastDispatcher).unregisterReceiver(broadcastReceiverCaptor.capture())
    }

    @Test
@@ -262,8 +258,8 @@ class HeaderPrivacyIconsControllerTest : SysuiTestCase() {
        val intentFilterCaptor = argumentCaptor<IntentFilter>()
        // Broadcast receiver is registered on init and when privacy chip is attached
        verify(broadcastDispatcher, times(2)).registerReceiver(
            capture(broadcastReceiverCaptor),
            capture(intentFilterCaptor), any(), nullable(), anyInt(), nullable()
            broadcastReceiverCaptor.capture(),
            intentFilterCaptor.capture(), any(), anyOrNull(), any<Int>(), anyOrNull()
        )
    }

@@ -273,10 +269,10 @@ class HeaderPrivacyIconsControllerTest : SysuiTestCase() {
        controller.onParentVisible()

        val captor = argumentCaptor<View.OnClickListener>()
        verify(privacyChip).setOnClickListener(capture(captor))
        verify(privacyChip).setOnClickListener(captor.capture())

        captor.value.onClick(privacyChip)
        verify(privacyDialogController, never()).showDialog(any(Context::class.java))
        captor.firstValue.onClick(privacyChip)
        verify(privacyDialogController, never()).showDialog(any<Context>())
    }

    @Test