Loading packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToGoneTransitionViewModel.kt +17 −0 Original line number Diff line number Diff line Loading @@ -66,6 +66,23 @@ constructor( }, ) /** Lockscreen alpha */ val lockscreenAlpha: Flow<Float> = transitionAnimation.createFlow( duration = 50.milliseconds, onStart = { leaveShadeOpen = statusBarStateController.leaveOpenOnKeyguardHide() willRunDismissFromKeyguard = primaryBouncerInteractor.willRunDismissFromKeyguard() }, onStep = { if (willRunDismissFromKeyguard || leaveShadeOpen) { 1f } else { 0f } }, ) /** Scrim alpha values */ val scrimAlpha: Flow<ScrimAlpha> = transitionAnimation Loading packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java +8 −0 Original line number Diff line number Diff line Loading @@ -147,6 +147,7 @@ import com.android.systemui.keyguard.ui.viewmodel.KeyguardLongPressViewModel; import com.android.systemui.keyguard.ui.viewmodel.LockscreenToDreamingTransitionViewModel; import com.android.systemui.keyguard.ui.viewmodel.LockscreenToOccludedTransitionViewModel; import com.android.systemui.keyguard.ui.viewmodel.OccludedToLockscreenTransitionViewModel; import com.android.systemui.keyguard.ui.viewmodel.PrimaryBouncerToGoneTransitionViewModel; import com.android.systemui.media.controls.pipeline.MediaDataManager; import com.android.systemui.media.controls.ui.KeyguardMediaController; import com.android.systemui.media.controls.ui.MediaHierarchyManager; Loading Loading @@ -602,6 +603,7 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump mGoneToDreamingLockscreenHostedTransitionViewModel; private final LockscreenToOccludedTransitionViewModel mLockscreenToOccludedTransitionViewModel; private final PrimaryBouncerToGoneTransitionViewModel mPrimaryBouncerToGoneTransitionViewModel; private final KeyguardTransitionInteractor mKeyguardTransitionInteractor; private final KeyguardInteractor mKeyguardInteractor; Loading Loading @@ -761,6 +763,7 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump GoneToDreamingLockscreenHostedTransitionViewModel goneToDreamingLockscreenHostedTransitionViewModel, LockscreenToOccludedTransitionViewModel lockscreenToOccludedTransitionViewModel, PrimaryBouncerToGoneTransitionViewModel primaryBouncerToGoneTransitionViewModel, @Main CoroutineDispatcher mainDispatcher, KeyguardTransitionInteractor keyguardTransitionInteractor, DumpManager dumpManager, Loading Loading @@ -790,6 +793,7 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump mGoneToDreamingLockscreenHostedTransitionViewModel = goneToDreamingLockscreenHostedTransitionViewModel; mLockscreenToOccludedTransitionViewModel = lockscreenToOccludedTransitionViewModel; mPrimaryBouncerToGoneTransitionViewModel = primaryBouncerToGoneTransitionViewModel; mKeyguardTransitionInteractor = keyguardTransitionInteractor; mKeyguardInteractor = keyguardInteractor; mKeyguardViewConfigurator = keyguardViewConfigurator; Loading Loading @@ -1172,6 +1176,10 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump collectFlow(mView, mLockscreenToOccludedTransitionViewModel.lockscreenTranslationY( mLockscreenToOccludedTransitionTranslationY), setTransitionY(mNotificationStackScrollLayoutController), mMainDispatcher); // Primary bouncer->Gone (ensures lockscreen content is not visible on successful auth) collectFlow(mView, mPrimaryBouncerToGoneTransitionViewModel.getLockscreenAlpha(), setTransitionAlpha(mNotificationStackScrollLayoutController), mMainDispatcher); } @VisibleForTesting Loading packages/SystemUI/tests/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToGoneTransitionViewModelTest.kt +45 −26 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import androidx.test.filters.SmallTest import com.android.systemui.RoboPilotTest import com.android.systemui.SysuiTestCase import com.android.systemui.bouncer.domain.interactor.PrimaryBouncerInteractor import com.android.systemui.coroutines.collectValues import com.android.systemui.keyguard.data.repository.FakeKeyguardTransitionRepository import com.android.systemui.keyguard.domain.interactor.KeyguardTransitionInteractorFactory import com.android.systemui.keyguard.shared.model.KeyguardState Loading @@ -31,8 +32,6 @@ import com.android.systemui.statusbar.SysuiStatusBarStateController import com.android.systemui.util.mockito.whenever import com.google.common.collect.Range import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.test.TestScope import kotlinx.coroutines.test.UnconfinedTestDispatcher import kotlinx.coroutines.test.runTest Loading Loading @@ -75,9 +74,7 @@ class PrimaryBouncerToGoneTransitionViewModelTest : SysuiTestCase() { @Test fun bouncerAlpha() = runTest(UnconfinedTestDispatcher()) { val values = mutableListOf<Float>() val job = underTest.bouncerAlpha.onEach { values.add(it) }.launchIn(this) val values by collectValues(underTest.bouncerAlpha) repository.sendTransitionStep(step(0f, TransitionState.STARTED)) repository.sendTransitionStep(step(0.3f)) Loading @@ -85,16 +82,12 @@ class PrimaryBouncerToGoneTransitionViewModelTest : SysuiTestCase() { assertThat(values.size).isEqualTo(3) values.forEach { assertThat(it).isIn(Range.closed(0f, 1f)) } job.cancel() } @Test fun bouncerAlpha_runDimissFromKeyguard() = runTest(UnconfinedTestDispatcher()) { val values = mutableListOf<Float>() val job = underTest.bouncerAlpha.onEach { values.add(it) }.launchIn(this) val values by collectValues(underTest.bouncerAlpha) whenever(primaryBouncerInteractor.willRunDismissFromKeyguard()).thenReturn(true) Loading @@ -104,16 +97,52 @@ class PrimaryBouncerToGoneTransitionViewModelTest : SysuiTestCase() { assertThat(values.size).isEqualTo(3) values.forEach { assertThat(it).isEqualTo(0f) } } @Test fun lockscreenAlpha() = runTest(UnconfinedTestDispatcher()) { val values by collectValues(underTest.lockscreenAlpha) repository.sendTransitionStep(step(0f, TransitionState.STARTED)) repository.sendTransitionStep(step(1f)) job.cancel() assertThat(values.size).isEqualTo(2) values.forEach { assertThat(it).isEqualTo(0f) } } @Test fun scrimAlpha_runDimissFromKeyguard() = fun lockscreenAlpha_runDimissFromKeyguard() = runTest(UnconfinedTestDispatcher()) { val values = mutableListOf<ScrimAlpha>() val values by collectValues(underTest.lockscreenAlpha) val job = underTest.scrimAlpha.onEach { values.add(it) }.launchIn(this) whenever(primaryBouncerInteractor.willRunDismissFromKeyguard()).thenReturn(true) repository.sendTransitionStep(step(0f, TransitionState.STARTED)) repository.sendTransitionStep(step(1f)) assertThat(values.size).isEqualTo(2) values.forEach { assertThat(it).isEqualTo(1f) } } @Test fun lockscreenAlpha_leaveShadeOpen() = runTest(UnconfinedTestDispatcher()) { val values by collectValues(underTest.lockscreenAlpha) whenever(statusBarStateController.leaveOpenOnKeyguardHide()).thenReturn(true) repository.sendTransitionStep(step(0f, TransitionState.STARTED)) repository.sendTransitionStep(step(1f)) assertThat(values.size).isEqualTo(2) values.forEach { assertThat(it).isEqualTo(1f) } } @Test fun scrimAlpha_runDimissFromKeyguard() = runTest(UnconfinedTestDispatcher()) { val values by collectValues(underTest.scrimAlpha) whenever(primaryBouncerInteractor.willRunDismissFromKeyguard()).thenReturn(true) Loading @@ -124,16 +153,12 @@ class PrimaryBouncerToGoneTransitionViewModelTest : SysuiTestCase() { assertThat(values.size).isEqualTo(4) values.forEach { assertThat(it).isEqualTo(ScrimAlpha()) } job.cancel() } @Test fun scrimBehindAlpha_leaveShadeOpen() = runTest(UnconfinedTestDispatcher()) { val values = mutableListOf<ScrimAlpha>() val job = underTest.scrimAlpha.onEach { values.add(it) }.launchIn(this) val values by collectValues(underTest.scrimAlpha) whenever(statusBarStateController.leaveOpenOnKeyguardHide()).thenReturn(true) Loading @@ -146,16 +171,12 @@ class PrimaryBouncerToGoneTransitionViewModelTest : SysuiTestCase() { values.forEach { assertThat(it).isEqualTo(ScrimAlpha(notificationsAlpha = 1f, behindAlpha = 1f)) } job.cancel() } @Test fun scrimBehindAlpha_doNotLeaveShadeOpen() = runTest(UnconfinedTestDispatcher()) { val values = mutableListOf<ScrimAlpha>() val job = underTest.scrimAlpha.onEach { values.add(it) }.launchIn(this) val values by collectValues(underTest.scrimAlpha) whenever(statusBarStateController.leaveOpenOnKeyguardHide()).thenReturn(false) Loading @@ -169,8 +190,6 @@ class PrimaryBouncerToGoneTransitionViewModelTest : SysuiTestCase() { values.forEach { assertThat(it.frontAlpha).isEqualTo(0f) } values.forEach { assertThat(it.behindAlpha).isIn(Range.closed(0f, 1f)) } assertThat(values[3].behindAlpha).isEqualTo(0f) job.cancel() } private fun step( Loading packages/SystemUI/tests/src/com/android/systemui/shade/NotificationPanelViewControllerBaseTest.java +8 −0 Original line number Diff line number Diff line Loading @@ -106,6 +106,7 @@ import com.android.systemui.keyguard.ui.viewmodel.KeyguardLongPressViewModel; import com.android.systemui.keyguard.ui.viewmodel.LockscreenToDreamingTransitionViewModel; import com.android.systemui.keyguard.ui.viewmodel.LockscreenToOccludedTransitionViewModel; import com.android.systemui.keyguard.ui.viewmodel.OccludedToLockscreenTransitionViewModel; import com.android.systemui.keyguard.ui.viewmodel.PrimaryBouncerToGoneTransitionViewModel; import com.android.systemui.media.controls.pipeline.MediaDataManager; import com.android.systemui.media.controls.ui.KeyguardMediaController; import com.android.systemui.media.controls.ui.MediaHierarchyManager; Loading Loading @@ -300,6 +301,8 @@ public class NotificationPanelViewControllerBaseTest extends SysuiTestCase { @Mock protected GoneToDreamingTransitionViewModel mGoneToDreamingTransitionViewModel; @Mock protected GoneToDreamingLockscreenHostedTransitionViewModel mGoneToDreamingLockscreenHostedTransitionViewModel; @Mock protected PrimaryBouncerToGoneTransitionViewModel mPrimaryBouncerToGoneTransitionViewModel; @Mock protected KeyguardTransitionInteractor mKeyguardTransitionInteractor; @Mock protected KeyguardLongPressViewModel mKeyuardLongPressViewModel; @Mock protected AlternateBouncerInteractor mAlternateBouncerInteractor; Loading Loading @@ -502,6 +505,10 @@ public class NotificationPanelViewControllerBaseTest extends SysuiTestCase { when(mLockscreenToOccludedTransitionViewModel.lockscreenTranslationY(anyInt())) .thenReturn(emptyFlow()); // Primary Bouncer->Gone when(mPrimaryBouncerToGoneTransitionViewModel.getLockscreenAlpha()) .thenReturn(emptyFlow()); NotificationWakeUpCoordinator coordinator = new NotificationWakeUpCoordinator( mDumpManager, Loading Loading @@ -631,6 +638,7 @@ public class NotificationPanelViewControllerBaseTest extends SysuiTestCase { mGoneToDreamingTransitionViewModel, mGoneToDreamingLockscreenHostedTransitionViewModel, mLockscreenToOccludedTransitionViewModel, mPrimaryBouncerToGoneTransitionViewModel, mMainDispatcher, mKeyguardTransitionInteractor, mDumpManager, Loading Loading
packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToGoneTransitionViewModel.kt +17 −0 Original line number Diff line number Diff line Loading @@ -66,6 +66,23 @@ constructor( }, ) /** Lockscreen alpha */ val lockscreenAlpha: Flow<Float> = transitionAnimation.createFlow( duration = 50.milliseconds, onStart = { leaveShadeOpen = statusBarStateController.leaveOpenOnKeyguardHide() willRunDismissFromKeyguard = primaryBouncerInteractor.willRunDismissFromKeyguard() }, onStep = { if (willRunDismissFromKeyguard || leaveShadeOpen) { 1f } else { 0f } }, ) /** Scrim alpha values */ val scrimAlpha: Flow<ScrimAlpha> = transitionAnimation Loading
packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java +8 −0 Original line number Diff line number Diff line Loading @@ -147,6 +147,7 @@ import com.android.systemui.keyguard.ui.viewmodel.KeyguardLongPressViewModel; import com.android.systemui.keyguard.ui.viewmodel.LockscreenToDreamingTransitionViewModel; import com.android.systemui.keyguard.ui.viewmodel.LockscreenToOccludedTransitionViewModel; import com.android.systemui.keyguard.ui.viewmodel.OccludedToLockscreenTransitionViewModel; import com.android.systemui.keyguard.ui.viewmodel.PrimaryBouncerToGoneTransitionViewModel; import com.android.systemui.media.controls.pipeline.MediaDataManager; import com.android.systemui.media.controls.ui.KeyguardMediaController; import com.android.systemui.media.controls.ui.MediaHierarchyManager; Loading Loading @@ -602,6 +603,7 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump mGoneToDreamingLockscreenHostedTransitionViewModel; private final LockscreenToOccludedTransitionViewModel mLockscreenToOccludedTransitionViewModel; private final PrimaryBouncerToGoneTransitionViewModel mPrimaryBouncerToGoneTransitionViewModel; private final KeyguardTransitionInteractor mKeyguardTransitionInteractor; private final KeyguardInteractor mKeyguardInteractor; Loading Loading @@ -761,6 +763,7 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump GoneToDreamingLockscreenHostedTransitionViewModel goneToDreamingLockscreenHostedTransitionViewModel, LockscreenToOccludedTransitionViewModel lockscreenToOccludedTransitionViewModel, PrimaryBouncerToGoneTransitionViewModel primaryBouncerToGoneTransitionViewModel, @Main CoroutineDispatcher mainDispatcher, KeyguardTransitionInteractor keyguardTransitionInteractor, DumpManager dumpManager, Loading Loading @@ -790,6 +793,7 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump mGoneToDreamingLockscreenHostedTransitionViewModel = goneToDreamingLockscreenHostedTransitionViewModel; mLockscreenToOccludedTransitionViewModel = lockscreenToOccludedTransitionViewModel; mPrimaryBouncerToGoneTransitionViewModel = primaryBouncerToGoneTransitionViewModel; mKeyguardTransitionInteractor = keyguardTransitionInteractor; mKeyguardInteractor = keyguardInteractor; mKeyguardViewConfigurator = keyguardViewConfigurator; Loading Loading @@ -1172,6 +1176,10 @@ public final class NotificationPanelViewController implements ShadeSurface, Dump collectFlow(mView, mLockscreenToOccludedTransitionViewModel.lockscreenTranslationY( mLockscreenToOccludedTransitionTranslationY), setTransitionY(mNotificationStackScrollLayoutController), mMainDispatcher); // Primary bouncer->Gone (ensures lockscreen content is not visible on successful auth) collectFlow(mView, mPrimaryBouncerToGoneTransitionViewModel.getLockscreenAlpha(), setTransitionAlpha(mNotificationStackScrollLayoutController), mMainDispatcher); } @VisibleForTesting Loading
packages/SystemUI/tests/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToGoneTransitionViewModelTest.kt +45 −26 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import androidx.test.filters.SmallTest import com.android.systemui.RoboPilotTest import com.android.systemui.SysuiTestCase import com.android.systemui.bouncer.domain.interactor.PrimaryBouncerInteractor import com.android.systemui.coroutines.collectValues import com.android.systemui.keyguard.data.repository.FakeKeyguardTransitionRepository import com.android.systemui.keyguard.domain.interactor.KeyguardTransitionInteractorFactory import com.android.systemui.keyguard.shared.model.KeyguardState Loading @@ -31,8 +32,6 @@ import com.android.systemui.statusbar.SysuiStatusBarStateController import com.android.systemui.util.mockito.whenever import com.google.common.collect.Range import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.test.TestScope import kotlinx.coroutines.test.UnconfinedTestDispatcher import kotlinx.coroutines.test.runTest Loading Loading @@ -75,9 +74,7 @@ class PrimaryBouncerToGoneTransitionViewModelTest : SysuiTestCase() { @Test fun bouncerAlpha() = runTest(UnconfinedTestDispatcher()) { val values = mutableListOf<Float>() val job = underTest.bouncerAlpha.onEach { values.add(it) }.launchIn(this) val values by collectValues(underTest.bouncerAlpha) repository.sendTransitionStep(step(0f, TransitionState.STARTED)) repository.sendTransitionStep(step(0.3f)) Loading @@ -85,16 +82,12 @@ class PrimaryBouncerToGoneTransitionViewModelTest : SysuiTestCase() { assertThat(values.size).isEqualTo(3) values.forEach { assertThat(it).isIn(Range.closed(0f, 1f)) } job.cancel() } @Test fun bouncerAlpha_runDimissFromKeyguard() = runTest(UnconfinedTestDispatcher()) { val values = mutableListOf<Float>() val job = underTest.bouncerAlpha.onEach { values.add(it) }.launchIn(this) val values by collectValues(underTest.bouncerAlpha) whenever(primaryBouncerInteractor.willRunDismissFromKeyguard()).thenReturn(true) Loading @@ -104,16 +97,52 @@ class PrimaryBouncerToGoneTransitionViewModelTest : SysuiTestCase() { assertThat(values.size).isEqualTo(3) values.forEach { assertThat(it).isEqualTo(0f) } } @Test fun lockscreenAlpha() = runTest(UnconfinedTestDispatcher()) { val values by collectValues(underTest.lockscreenAlpha) repository.sendTransitionStep(step(0f, TransitionState.STARTED)) repository.sendTransitionStep(step(1f)) job.cancel() assertThat(values.size).isEqualTo(2) values.forEach { assertThat(it).isEqualTo(0f) } } @Test fun scrimAlpha_runDimissFromKeyguard() = fun lockscreenAlpha_runDimissFromKeyguard() = runTest(UnconfinedTestDispatcher()) { val values = mutableListOf<ScrimAlpha>() val values by collectValues(underTest.lockscreenAlpha) val job = underTest.scrimAlpha.onEach { values.add(it) }.launchIn(this) whenever(primaryBouncerInteractor.willRunDismissFromKeyguard()).thenReturn(true) repository.sendTransitionStep(step(0f, TransitionState.STARTED)) repository.sendTransitionStep(step(1f)) assertThat(values.size).isEqualTo(2) values.forEach { assertThat(it).isEqualTo(1f) } } @Test fun lockscreenAlpha_leaveShadeOpen() = runTest(UnconfinedTestDispatcher()) { val values by collectValues(underTest.lockscreenAlpha) whenever(statusBarStateController.leaveOpenOnKeyguardHide()).thenReturn(true) repository.sendTransitionStep(step(0f, TransitionState.STARTED)) repository.sendTransitionStep(step(1f)) assertThat(values.size).isEqualTo(2) values.forEach { assertThat(it).isEqualTo(1f) } } @Test fun scrimAlpha_runDimissFromKeyguard() = runTest(UnconfinedTestDispatcher()) { val values by collectValues(underTest.scrimAlpha) whenever(primaryBouncerInteractor.willRunDismissFromKeyguard()).thenReturn(true) Loading @@ -124,16 +153,12 @@ class PrimaryBouncerToGoneTransitionViewModelTest : SysuiTestCase() { assertThat(values.size).isEqualTo(4) values.forEach { assertThat(it).isEqualTo(ScrimAlpha()) } job.cancel() } @Test fun scrimBehindAlpha_leaveShadeOpen() = runTest(UnconfinedTestDispatcher()) { val values = mutableListOf<ScrimAlpha>() val job = underTest.scrimAlpha.onEach { values.add(it) }.launchIn(this) val values by collectValues(underTest.scrimAlpha) whenever(statusBarStateController.leaveOpenOnKeyguardHide()).thenReturn(true) Loading @@ -146,16 +171,12 @@ class PrimaryBouncerToGoneTransitionViewModelTest : SysuiTestCase() { values.forEach { assertThat(it).isEqualTo(ScrimAlpha(notificationsAlpha = 1f, behindAlpha = 1f)) } job.cancel() } @Test fun scrimBehindAlpha_doNotLeaveShadeOpen() = runTest(UnconfinedTestDispatcher()) { val values = mutableListOf<ScrimAlpha>() val job = underTest.scrimAlpha.onEach { values.add(it) }.launchIn(this) val values by collectValues(underTest.scrimAlpha) whenever(statusBarStateController.leaveOpenOnKeyguardHide()).thenReturn(false) Loading @@ -169,8 +190,6 @@ class PrimaryBouncerToGoneTransitionViewModelTest : SysuiTestCase() { values.forEach { assertThat(it.frontAlpha).isEqualTo(0f) } values.forEach { assertThat(it.behindAlpha).isIn(Range.closed(0f, 1f)) } assertThat(values[3].behindAlpha).isEqualTo(0f) job.cancel() } private fun step( Loading
packages/SystemUI/tests/src/com/android/systemui/shade/NotificationPanelViewControllerBaseTest.java +8 −0 Original line number Diff line number Diff line Loading @@ -106,6 +106,7 @@ import com.android.systemui.keyguard.ui.viewmodel.KeyguardLongPressViewModel; import com.android.systemui.keyguard.ui.viewmodel.LockscreenToDreamingTransitionViewModel; import com.android.systemui.keyguard.ui.viewmodel.LockscreenToOccludedTransitionViewModel; import com.android.systemui.keyguard.ui.viewmodel.OccludedToLockscreenTransitionViewModel; import com.android.systemui.keyguard.ui.viewmodel.PrimaryBouncerToGoneTransitionViewModel; import com.android.systemui.media.controls.pipeline.MediaDataManager; import com.android.systemui.media.controls.ui.KeyguardMediaController; import com.android.systemui.media.controls.ui.MediaHierarchyManager; Loading Loading @@ -300,6 +301,8 @@ public class NotificationPanelViewControllerBaseTest extends SysuiTestCase { @Mock protected GoneToDreamingTransitionViewModel mGoneToDreamingTransitionViewModel; @Mock protected GoneToDreamingLockscreenHostedTransitionViewModel mGoneToDreamingLockscreenHostedTransitionViewModel; @Mock protected PrimaryBouncerToGoneTransitionViewModel mPrimaryBouncerToGoneTransitionViewModel; @Mock protected KeyguardTransitionInteractor mKeyguardTransitionInteractor; @Mock protected KeyguardLongPressViewModel mKeyuardLongPressViewModel; @Mock protected AlternateBouncerInteractor mAlternateBouncerInteractor; Loading Loading @@ -502,6 +505,10 @@ public class NotificationPanelViewControllerBaseTest extends SysuiTestCase { when(mLockscreenToOccludedTransitionViewModel.lockscreenTranslationY(anyInt())) .thenReturn(emptyFlow()); // Primary Bouncer->Gone when(mPrimaryBouncerToGoneTransitionViewModel.getLockscreenAlpha()) .thenReturn(emptyFlow()); NotificationWakeUpCoordinator coordinator = new NotificationWakeUpCoordinator( mDumpManager, Loading Loading @@ -631,6 +638,7 @@ public class NotificationPanelViewControllerBaseTest extends SysuiTestCase { mGoneToDreamingTransitionViewModel, mGoneToDreamingLockscreenHostedTransitionViewModel, mLockscreenToOccludedTransitionViewModel, mPrimaryBouncerToGoneTransitionViewModel, mMainDispatcher, mKeyguardTransitionInteractor, mDumpManager, Loading