summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Wu Ahan <ahanwu@google.com> 2021-11-19 10:22:57 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2021-11-19 10:22:57 +0000
commitb2f4c0a186c3d035fc9b8ea8823629126fc6b7ae (patch)
treed2dc25f8ddbfab6f91bb4d0201619059c293b7ac
parent3e7d377cf7c9224a66e3458643c138e515348949 (diff)
parent69cd4caaa8a401d1d244976e886f6b0f4bdd6e3a (diff)
Merge "Fix NPE while running UserSwitcherController" into sc-v2-dev am: 69cd4caaa8
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16262375 Change-Id: I84c96cafe2333d4adf3b735bcdc20d7f9ac56755
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/UserSwitcherControllerTest.kt14
1 files changed, 14 insertions, 0 deletions
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/UserSwitcherControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/UserSwitcherControllerTest.kt
index bdd189a9215b..724f841922ff 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/UserSwitcherControllerTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/UserSwitcherControllerTest.kt
@@ -31,6 +31,7 @@ import android.os.UserHandle
import android.os.UserManager
import android.testing.AndroidTestingRunner
import android.testing.TestableLooper
+import android.view.ThreadedRenderer
import androidx.test.filters.SmallTest
import com.android.internal.jank.InteractionJankMonitor
import com.android.internal.logging.testing.UiEventLoggerFake
@@ -63,6 +64,8 @@ import org.mockito.Mock
import org.mockito.Mockito.`when`
import org.mockito.Mockito.any
import org.mockito.Mockito.anyString
+import org.mockito.Mockito.doNothing
+import org.mockito.Mockito.doReturn
import org.mockito.Mockito.mock
import org.mockito.Mockito.verify
import org.mockito.MockitoAnnotations
@@ -90,6 +93,7 @@ class UserSwitcherControllerTest : SysuiTestCase() {
@Mock private lateinit var latencyTracker: LatencyTracker
@Mock private lateinit var dialogShower: UserSwitchDialogController.DialogShower
@Mock private lateinit var notificationShadeWindowView: NotificationShadeWindowView
+ @Mock private lateinit var threadedRenderer: ThreadedRenderer
private lateinit var testableLooper: TestableLooper
private lateinit var uiBgExecutor: FakeExecutor
private lateinit var uiEventLogger: UiEventLoggerFake
@@ -146,6 +150,16 @@ class UserSwitcherControllerTest : SysuiTestCase() {
dumpManager)
userSwitcherController.mPauseRefreshUsers = true
+ // Since userSwitcherController involves InteractionJankMonitor.
+ // Let's fulfill the dependencies.
+ val mockedContext = mock(Context::class.java)
+ doReturn(mockedContext).`when`(notificationShadeWindowView).context
+ doReturn(true).`when`(notificationShadeWindowView).isAttachedToWindow
+ doNothing().`when`(threadedRenderer).addObserver(any())
+ doNothing().`when`(threadedRenderer).removeObserver(any())
+ doReturn(threadedRenderer).`when`(notificationShadeWindowView).threadedRenderer
+ userSwitcherController.init(notificationShadeWindowView)
+
picture = UserIcons.convertToBitmap(context.getDrawable(R.drawable.ic_avatar_user))
userSwitcherController.init(notificationShadeWindowView)
}