Loading packages/SystemUI/src/com/android/systemui/SystemUIFactory.java +4 −3 Original line number Diff line number Diff line Loading @@ -99,10 +99,11 @@ public class SystemUIFactory { } public KeyguardBouncer createKeyguardBouncer(Context context, ViewMediatorCallback callback, LockPatternUtils lockPatternUtils, ViewGroup container, DismissCallbackRegistry dismissCallbackRegistry) { LockPatternUtils lockPatternUtils, ViewGroup container, DismissCallbackRegistry dismissCallbackRegistry, KeyguardBouncer.BouncerExpansionCallback expansionCallback) { return new KeyguardBouncer(context, callback, lockPatternUtils, container, dismissCallbackRegistry, FalsingManager.getInstance(context)); dismissCallbackRegistry, FalsingManager.getInstance(context), expansionCallback); } public ScrimController createScrimController(ScrimView scrimBehind, ScrimView scrimInFront, Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java +34 −6 Original line number Diff line number Diff line Loading @@ -45,6 +45,8 @@ import com.android.systemui.DejankUtils; import com.android.systemui.classifier.FalsingManager; import com.android.systemui.keyguard.DismissCallbackRegistry; import java.io.PrintWriter; /** * A class which manages the bouncer on the lockscreen. */ Loading @@ -60,6 +62,7 @@ public class KeyguardBouncer { private final FalsingManager mFalsingManager; private final DismissCallbackRegistry mDismissCallbackRegistry; private final Handler mHandler; private final BouncerExpansionCallback mExpansionCallback; private final KeyguardUpdateMonitorCallback mUpdateMonitorCallback = new KeyguardUpdateMonitorCallback() { @Override Loading @@ -79,7 +82,8 @@ public class KeyguardBouncer { public KeyguardBouncer(Context context, ViewMediatorCallback callback, LockPatternUtils lockPatternUtils, ViewGroup container, DismissCallbackRegistry dismissCallbackRegistry, FalsingManager falsingManager) { DismissCallbackRegistry dismissCallbackRegistry, FalsingManager falsingManager, BouncerExpansionCallback expansionCallback) { mContext = context; mCallback = callback; mLockPatternUtils = lockPatternUtils; Loading @@ -87,6 +91,7 @@ public class KeyguardBouncer { KeyguardUpdateMonitor.getInstance(mContext).registerCallback(mUpdateMonitorCallback); mFalsingManager = falsingManager; mDismissCallbackRegistry = dismissCallbackRegistry; mExpansionCallback = expansionCallback; mHandler = new Handler(); } Loading Loading @@ -157,7 +162,7 @@ public class KeyguardBouncer { * the translation is performed manually by the user, otherwise FalsingManager * will never be notified and its internal state will be out of sync. */ public void onFullyShown() { private void onFullyShown() { mFalsingManager.onBouncerShown(); if (mKeyguardView == null) { Log.wtf(TAG, "onFullyShown when view was null"); Loading @@ -167,11 +172,9 @@ public class KeyguardBouncer { } /** * This method must be called at the end of the bouncer animation when * the translation is performed manually by the user, otherwise FalsingManager * will never be notified and its internal state will be out of sync. * @see #onFullyShown() */ public void onFullyHidden() { private void onFullyHidden() { if (!mShowingSoon) { cancelShowRunnable(); if (mRoot != null) { Loading Loading @@ -326,12 +329,21 @@ public class KeyguardBouncer { * @see StatusBarKeyguardViewManager#onPanelExpansionChanged */ public void setExpansion(float fraction) { float oldExpansion = mExpansion; mExpansion = fraction; if (mKeyguardView != null && !mIsAnimatingAway) { float alpha = MathUtils.map(ALPHA_EXPANSION_THRESHOLD, 1, 1, 0, fraction); mKeyguardView.setAlpha(MathUtils.constrain(alpha, 0f, 1f)); mKeyguardView.setTranslationY(fraction * mKeyguardView.getHeight()); } if (fraction == 0 && oldExpansion != 0) { onFullyShown(); mExpansionCallback.onFullyShown(); } else if (fraction == 1 && oldExpansion != 0) { onFullyHidden(); mExpansionCallback.onFullyHidden(); } } public boolean willDismissWithAction() { Loading Loading @@ -437,4 +449,20 @@ public class KeyguardBouncer { ensureView(); mKeyguardView.finish(strongAuth, KeyguardUpdateMonitor.getCurrentUser()); } public void dump(PrintWriter pw) { pw.println("KeyguardBouncer"); pw.println(" isShowing(): " + isShowing()); pw.println(" mStatusBarHeight: " + mStatusBarHeight); pw.println(" mExpansion: " + mExpansion); pw.println(" mKeyguardView; " + mKeyguardView); pw.println(" mShowingSoon: " + mKeyguardView); pw.println(" mBouncerPromptReason: " + mBouncerPromptReason); pw.println(" mIsAnimatingAway: " + mIsAnimatingAway); } public interface BouncerExpansionCallback { void onFullyShown(); void onFullyHidden(); } } packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +4 −0 Original line number Diff line number Diff line Loading @@ -2763,6 +2763,10 @@ public class StatusBar extends SystemUI implements DemoMode, mScrimController.dump(fd, pw, args); } if (mStatusBarKeyguardViewManager != null) { mStatusBarKeyguardViewManager.dump(pw); } if (DUMPTRUCK) { synchronized (mEntryManager.getNotificationData()) { mEntryManager.getNotificationData().dump(pw, " "); Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java +31 −8 Original line number Diff line number Diff line Loading @@ -42,7 +42,9 @@ import com.android.systemui.SystemUIFactory; import com.android.systemui.keyguard.DismissCallbackRegistry; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.RemoteInputController; import com.android.systemui.statusbar.phone.KeyguardBouncer.BouncerExpansionCallback; import java.io.PrintWriter; import java.util.ArrayList; /** Loading Loading @@ -71,6 +73,17 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb protected final Context mContext; private final StatusBarWindowManager mStatusBarWindowManager; private final BouncerExpansionCallback mExpansionCallback = new BouncerExpansionCallback() { @Override public void onFullyShown() { updateStates(); } @Override public void onFullyHidden() { updateStates(); } }; protected LockPatternUtils mLockPatternUtils; protected ViewMediatorCallback mViewMediatorCallback; Loading Loading @@ -133,7 +146,8 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb mContainer = container; mFingerprintUnlockController = fingerprintUnlockController; mBouncer = SystemUIFactory.getInstance().createKeyguardBouncer(mContext, mViewMediatorCallback, mLockPatternUtils, container, dismissCallbackRegistry); mViewMediatorCallback, mLockPatternUtils, container, dismissCallbackRegistry, mExpansionCallback); mContainer.addOnLayoutChangeListener(this::onContainerLayout); mNotificationPanelView = notificationPanelView; notificationPanelView.setExpansionListener(this::onPanelExpansionChanged); Loading @@ -160,8 +174,6 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb if (expansion != 1 && tracking && !mBouncer.isShowing() && !mBouncer.isAnimatingAway()) { mBouncer.show(false /* resetSecuritySelection */, false /* animated */); } else if (expansion == 0 || expansion == 1) { updateStates(); } } } Loading Loading @@ -588,11 +600,6 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb if (bouncerShowing != mLastBouncerShowing || mFirstUpdate) { mStatusBarWindowManager.setBouncerShowing(bouncerShowing); mStatusBar.setBouncerShowing(bouncerShowing); if (bouncerShowing) { mBouncer.onFullyShown(); } else { mBouncer.onFullyHidden(); } } KeyguardUpdateMonitor updateMonitor = KeyguardUpdateMonitor.getInstance(mContext); Loading Loading @@ -709,6 +716,22 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb return mBouncer.willDismissWithAction(); } public void dump(PrintWriter pw) { pw.println("StatusBarKeyguardViewManager:"); pw.println(" mShowing: " + mShowing); pw.println(" mOccluded: " + mOccluded); pw.println(" mRemoteInputActive: " + mRemoteInputActive); pw.println(" mDozing: " + mDozing); pw.println(" mGoingToSleepVisibleNotOccluded: " + mGoingToSleepVisibleNotOccluded); pw.println(" mAfterKeyguardGoneAction: " + mAfterKeyguardGoneAction); pw.println(" mAfterKeyguardGoneRunnables: " + mAfterKeyguardGoneRunnables); pw.println(" mPendingWakeupAction: " + mPendingWakeupAction); if (mBouncer != null) { mBouncer.dump(pw); } } private static class DismissWithActionRequest { final OnDismissAction dismissAction; final Runnable cancelAction; Loading packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/KeyguardBouncerTest.java +25 −17 Original line number Diff line number Diff line Loading @@ -16,16 +16,11 @@ package com.android.systemui.statusbar.phone; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyFloat; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.reset; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.verifyZeroInteractions; Loading @@ -33,7 +28,6 @@ import static org.mockito.Mockito.when; import android.graphics.Color; import android.support.test.filters.SmallTest; import android.test.UiThreadTest; import android.testing.AndroidTestingRunner; import android.testing.TestableLooper; import android.view.ViewGroup; Loading Loading @@ -73,6 +67,8 @@ public class KeyguardBouncerTest extends SysuiTestCase { private KeyguardHostView mKeyguardHostView; @Mock private ViewTreeObserver mViewTreeObserver; @Mock private KeyguardBouncer.BouncerExpansionCallback mExpansionCallback; private KeyguardBouncer mBouncer; Loading @@ -84,7 +80,8 @@ public class KeyguardBouncerTest extends SysuiTestCase { when(mKeyguardHostView.getViewTreeObserver()).thenReturn(mViewTreeObserver); when(mKeyguardHostView.getHeight()).thenReturn(500); mBouncer = new KeyguardBouncer(getContext(), mViewMediatorCallback, mLockPatternUtils, container, mDismissCallbackRegistry, mFalsingManager) { mLockPatternUtils, container, mDismissCallbackRegistry, mFalsingManager, mExpansionCallback) { @Override protected void inflateView() { super.inflateView(); Loading Loading @@ -166,23 +163,26 @@ public class KeyguardBouncerTest extends SysuiTestCase { } @Test public void testOnFullyShown_notifiesFalsingManager() { public void testSetExpansion_notifiesFalsingManager() { mBouncer.ensureView(); mBouncer.onFullyShown(); mBouncer.setExpansion(0.5f); mBouncer.setExpansion(1); verify(mFalsingManager).onBouncerHidden(); verify(mExpansionCallback).onFullyHidden(); mBouncer.setExpansion(0); verify(mFalsingManager).onBouncerShown(); verify(mExpansionCallback).onFullyShown(); } @Test public void testOnFullyShown_notifiesKeyguardView() { public void testSetExpansion_notifiesKeyguardView() { mBouncer.ensureView(); mBouncer.onFullyShown(); verify(mKeyguardHostView).onResume(); } mBouncer.setExpansion(0.1f); @Test public void testOnFullyHidden_notifiesFalsingManager() { mBouncer.onFullyHidden(); verify(mFalsingManager).onBouncerHidden(); mBouncer.setExpansion(0); verify(mKeyguardHostView).onResume(); } @Test Loading @@ -206,6 +206,14 @@ public class KeyguardBouncerTest extends SysuiTestCase { verify(mDismissCallbackRegistry).notifyDismissCancelled(); } @Test public void testHide_notShowingAnymore() { mBouncer.ensureView(); mBouncer.show(false /* resetSecuritySelection */); mBouncer.hide(false /* destroyViews */); Assert.assertFalse("Not showing", mBouncer.isShowing()); } @Test public void testShowPromptReason_propagates() { mBouncer.ensureView(); Loading Loading
packages/SystemUI/src/com/android/systemui/SystemUIFactory.java +4 −3 Original line number Diff line number Diff line Loading @@ -99,10 +99,11 @@ public class SystemUIFactory { } public KeyguardBouncer createKeyguardBouncer(Context context, ViewMediatorCallback callback, LockPatternUtils lockPatternUtils, ViewGroup container, DismissCallbackRegistry dismissCallbackRegistry) { LockPatternUtils lockPatternUtils, ViewGroup container, DismissCallbackRegistry dismissCallbackRegistry, KeyguardBouncer.BouncerExpansionCallback expansionCallback) { return new KeyguardBouncer(context, callback, lockPatternUtils, container, dismissCallbackRegistry, FalsingManager.getInstance(context)); dismissCallbackRegistry, FalsingManager.getInstance(context), expansionCallback); } public ScrimController createScrimController(ScrimView scrimBehind, ScrimView scrimInFront, Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java +34 −6 Original line number Diff line number Diff line Loading @@ -45,6 +45,8 @@ import com.android.systemui.DejankUtils; import com.android.systemui.classifier.FalsingManager; import com.android.systemui.keyguard.DismissCallbackRegistry; import java.io.PrintWriter; /** * A class which manages the bouncer on the lockscreen. */ Loading @@ -60,6 +62,7 @@ public class KeyguardBouncer { private final FalsingManager mFalsingManager; private final DismissCallbackRegistry mDismissCallbackRegistry; private final Handler mHandler; private final BouncerExpansionCallback mExpansionCallback; private final KeyguardUpdateMonitorCallback mUpdateMonitorCallback = new KeyguardUpdateMonitorCallback() { @Override Loading @@ -79,7 +82,8 @@ public class KeyguardBouncer { public KeyguardBouncer(Context context, ViewMediatorCallback callback, LockPatternUtils lockPatternUtils, ViewGroup container, DismissCallbackRegistry dismissCallbackRegistry, FalsingManager falsingManager) { DismissCallbackRegistry dismissCallbackRegistry, FalsingManager falsingManager, BouncerExpansionCallback expansionCallback) { mContext = context; mCallback = callback; mLockPatternUtils = lockPatternUtils; Loading @@ -87,6 +91,7 @@ public class KeyguardBouncer { KeyguardUpdateMonitor.getInstance(mContext).registerCallback(mUpdateMonitorCallback); mFalsingManager = falsingManager; mDismissCallbackRegistry = dismissCallbackRegistry; mExpansionCallback = expansionCallback; mHandler = new Handler(); } Loading Loading @@ -157,7 +162,7 @@ public class KeyguardBouncer { * the translation is performed manually by the user, otherwise FalsingManager * will never be notified and its internal state will be out of sync. */ public void onFullyShown() { private void onFullyShown() { mFalsingManager.onBouncerShown(); if (mKeyguardView == null) { Log.wtf(TAG, "onFullyShown when view was null"); Loading @@ -167,11 +172,9 @@ public class KeyguardBouncer { } /** * This method must be called at the end of the bouncer animation when * the translation is performed manually by the user, otherwise FalsingManager * will never be notified and its internal state will be out of sync. * @see #onFullyShown() */ public void onFullyHidden() { private void onFullyHidden() { if (!mShowingSoon) { cancelShowRunnable(); if (mRoot != null) { Loading Loading @@ -326,12 +329,21 @@ public class KeyguardBouncer { * @see StatusBarKeyguardViewManager#onPanelExpansionChanged */ public void setExpansion(float fraction) { float oldExpansion = mExpansion; mExpansion = fraction; if (mKeyguardView != null && !mIsAnimatingAway) { float alpha = MathUtils.map(ALPHA_EXPANSION_THRESHOLD, 1, 1, 0, fraction); mKeyguardView.setAlpha(MathUtils.constrain(alpha, 0f, 1f)); mKeyguardView.setTranslationY(fraction * mKeyguardView.getHeight()); } if (fraction == 0 && oldExpansion != 0) { onFullyShown(); mExpansionCallback.onFullyShown(); } else if (fraction == 1 && oldExpansion != 0) { onFullyHidden(); mExpansionCallback.onFullyHidden(); } } public boolean willDismissWithAction() { Loading Loading @@ -437,4 +449,20 @@ public class KeyguardBouncer { ensureView(); mKeyguardView.finish(strongAuth, KeyguardUpdateMonitor.getCurrentUser()); } public void dump(PrintWriter pw) { pw.println("KeyguardBouncer"); pw.println(" isShowing(): " + isShowing()); pw.println(" mStatusBarHeight: " + mStatusBarHeight); pw.println(" mExpansion: " + mExpansion); pw.println(" mKeyguardView; " + mKeyguardView); pw.println(" mShowingSoon: " + mKeyguardView); pw.println(" mBouncerPromptReason: " + mBouncerPromptReason); pw.println(" mIsAnimatingAway: " + mIsAnimatingAway); } public interface BouncerExpansionCallback { void onFullyShown(); void onFullyHidden(); } }
packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +4 −0 Original line number Diff line number Diff line Loading @@ -2763,6 +2763,10 @@ public class StatusBar extends SystemUI implements DemoMode, mScrimController.dump(fd, pw, args); } if (mStatusBarKeyguardViewManager != null) { mStatusBarKeyguardViewManager.dump(pw); } if (DUMPTRUCK) { synchronized (mEntryManager.getNotificationData()) { mEntryManager.getNotificationData().dump(pw, " "); Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java +31 −8 Original line number Diff line number Diff line Loading @@ -42,7 +42,9 @@ import com.android.systemui.SystemUIFactory; import com.android.systemui.keyguard.DismissCallbackRegistry; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.RemoteInputController; import com.android.systemui.statusbar.phone.KeyguardBouncer.BouncerExpansionCallback; import java.io.PrintWriter; import java.util.ArrayList; /** Loading Loading @@ -71,6 +73,17 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb protected final Context mContext; private final StatusBarWindowManager mStatusBarWindowManager; private final BouncerExpansionCallback mExpansionCallback = new BouncerExpansionCallback() { @Override public void onFullyShown() { updateStates(); } @Override public void onFullyHidden() { updateStates(); } }; protected LockPatternUtils mLockPatternUtils; protected ViewMediatorCallback mViewMediatorCallback; Loading Loading @@ -133,7 +146,8 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb mContainer = container; mFingerprintUnlockController = fingerprintUnlockController; mBouncer = SystemUIFactory.getInstance().createKeyguardBouncer(mContext, mViewMediatorCallback, mLockPatternUtils, container, dismissCallbackRegistry); mViewMediatorCallback, mLockPatternUtils, container, dismissCallbackRegistry, mExpansionCallback); mContainer.addOnLayoutChangeListener(this::onContainerLayout); mNotificationPanelView = notificationPanelView; notificationPanelView.setExpansionListener(this::onPanelExpansionChanged); Loading @@ -160,8 +174,6 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb if (expansion != 1 && tracking && !mBouncer.isShowing() && !mBouncer.isAnimatingAway()) { mBouncer.show(false /* resetSecuritySelection */, false /* animated */); } else if (expansion == 0 || expansion == 1) { updateStates(); } } } Loading Loading @@ -588,11 +600,6 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb if (bouncerShowing != mLastBouncerShowing || mFirstUpdate) { mStatusBarWindowManager.setBouncerShowing(bouncerShowing); mStatusBar.setBouncerShowing(bouncerShowing); if (bouncerShowing) { mBouncer.onFullyShown(); } else { mBouncer.onFullyHidden(); } } KeyguardUpdateMonitor updateMonitor = KeyguardUpdateMonitor.getInstance(mContext); Loading Loading @@ -709,6 +716,22 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb return mBouncer.willDismissWithAction(); } public void dump(PrintWriter pw) { pw.println("StatusBarKeyguardViewManager:"); pw.println(" mShowing: " + mShowing); pw.println(" mOccluded: " + mOccluded); pw.println(" mRemoteInputActive: " + mRemoteInputActive); pw.println(" mDozing: " + mDozing); pw.println(" mGoingToSleepVisibleNotOccluded: " + mGoingToSleepVisibleNotOccluded); pw.println(" mAfterKeyguardGoneAction: " + mAfterKeyguardGoneAction); pw.println(" mAfterKeyguardGoneRunnables: " + mAfterKeyguardGoneRunnables); pw.println(" mPendingWakeupAction: " + mPendingWakeupAction); if (mBouncer != null) { mBouncer.dump(pw); } } private static class DismissWithActionRequest { final OnDismissAction dismissAction; final Runnable cancelAction; Loading
packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/KeyguardBouncerTest.java +25 −17 Original line number Diff line number Diff line Loading @@ -16,16 +16,11 @@ package com.android.systemui.statusbar.phone; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyFloat; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.reset; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.verifyZeroInteractions; Loading @@ -33,7 +28,6 @@ import static org.mockito.Mockito.when; import android.graphics.Color; import android.support.test.filters.SmallTest; import android.test.UiThreadTest; import android.testing.AndroidTestingRunner; import android.testing.TestableLooper; import android.view.ViewGroup; Loading Loading @@ -73,6 +67,8 @@ public class KeyguardBouncerTest extends SysuiTestCase { private KeyguardHostView mKeyguardHostView; @Mock private ViewTreeObserver mViewTreeObserver; @Mock private KeyguardBouncer.BouncerExpansionCallback mExpansionCallback; private KeyguardBouncer mBouncer; Loading @@ -84,7 +80,8 @@ public class KeyguardBouncerTest extends SysuiTestCase { when(mKeyguardHostView.getViewTreeObserver()).thenReturn(mViewTreeObserver); when(mKeyguardHostView.getHeight()).thenReturn(500); mBouncer = new KeyguardBouncer(getContext(), mViewMediatorCallback, mLockPatternUtils, container, mDismissCallbackRegistry, mFalsingManager) { mLockPatternUtils, container, mDismissCallbackRegistry, mFalsingManager, mExpansionCallback) { @Override protected void inflateView() { super.inflateView(); Loading Loading @@ -166,23 +163,26 @@ public class KeyguardBouncerTest extends SysuiTestCase { } @Test public void testOnFullyShown_notifiesFalsingManager() { public void testSetExpansion_notifiesFalsingManager() { mBouncer.ensureView(); mBouncer.onFullyShown(); mBouncer.setExpansion(0.5f); mBouncer.setExpansion(1); verify(mFalsingManager).onBouncerHidden(); verify(mExpansionCallback).onFullyHidden(); mBouncer.setExpansion(0); verify(mFalsingManager).onBouncerShown(); verify(mExpansionCallback).onFullyShown(); } @Test public void testOnFullyShown_notifiesKeyguardView() { public void testSetExpansion_notifiesKeyguardView() { mBouncer.ensureView(); mBouncer.onFullyShown(); verify(mKeyguardHostView).onResume(); } mBouncer.setExpansion(0.1f); @Test public void testOnFullyHidden_notifiesFalsingManager() { mBouncer.onFullyHidden(); verify(mFalsingManager).onBouncerHidden(); mBouncer.setExpansion(0); verify(mKeyguardHostView).onResume(); } @Test Loading @@ -206,6 +206,14 @@ public class KeyguardBouncerTest extends SysuiTestCase { verify(mDismissCallbackRegistry).notifyDismissCancelled(); } @Test public void testHide_notShowingAnymore() { mBouncer.ensureView(); mBouncer.show(false /* resetSecuritySelection */); mBouncer.hide(false /* destroyViews */); Assert.assertFalse("Not showing", mBouncer.isShowing()); } @Test public void testShowPromptReason_propagates() { mBouncer.ensureView(); Loading