RESTRICT AUTOMERGE Show primary bouncer on TOUCH_OUTSIDE am: 95e0af8c47
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/22182082 Change-Id: I136dd2f5dd560d5d4909bcdcb8e04ad406ac4ee1 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -1452,11 +1452,13 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
|
|||||||
public boolean onTouch(MotionEvent event) {
|
public boolean onTouch(MotionEvent event) {
|
||||||
boolean handledTouch = false;
|
boolean handledTouch = false;
|
||||||
if (mAlternateBouncerInteractor.isVisibleState()) {
|
if (mAlternateBouncerInteractor.isVisibleState()) {
|
||||||
if (event.getAction() == MotionEvent.ACTION_DOWN) {
|
final boolean downThenUp = event.getActionMasked() == MotionEvent.ACTION_UP
|
||||||
|
&& mAlternateBouncerReceivedDownTouch;
|
||||||
|
final boolean outsideTouch = event.getActionMasked() == MotionEvent.ACTION_OUTSIDE;
|
||||||
|
if (event.getActionMasked() == MotionEvent.ACTION_DOWN) {
|
||||||
mAlternateBouncerReceivedDownTouch = true;
|
mAlternateBouncerReceivedDownTouch = true;
|
||||||
} else if (event.getAction() == MotionEvent.ACTION_UP
|
} else if ((downThenUp || outsideTouch)
|
||||||
&& mAlternateBouncerInteractor.hasAlternateBouncerShownWithMinTime()
|
&& mAlternateBouncerInteractor.hasAlternateBouncerShownWithMinTime()) {
|
||||||
&& mAlternateBouncerReceivedDownTouch) {
|
|
||||||
showPrimaryBouncer(true);
|
showPrimaryBouncer(true);
|
||||||
}
|
}
|
||||||
handledTouch = true;
|
handledTouch = true;
|
||||||
|
|||||||
@@ -786,4 +786,20 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase {
|
|||||||
// THEN the alternateBouncer doesn't hide
|
// THEN the alternateBouncer doesn't hide
|
||||||
verify(mAlternateBouncerInteractor, never()).hide();
|
verify(mAlternateBouncerInteractor, never()).hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testAlternateBouncerOnTouch_actionOutside_hidesAlternateBouncer() {
|
||||||
|
reset(mAlternateBouncerInteractor);
|
||||||
|
|
||||||
|
// GIVEN the alternate bouncer has shown for a minimum amount of time
|
||||||
|
when(mAlternateBouncerInteractor.hasAlternateBouncerShownWithMinTime()).thenReturn(true);
|
||||||
|
when(mAlternateBouncerInteractor.isVisibleState()).thenReturn(true);
|
||||||
|
|
||||||
|
// WHEN only ACTION_OUTSIDE touch event comes
|
||||||
|
mStatusBarKeyguardViewManager.onTouch(
|
||||||
|
MotionEvent.obtain(0L, 0L, MotionEvent.ACTION_OUTSIDE, 0f, 0f, 0));
|
||||||
|
|
||||||
|
// THEN the alternateBouncer hides
|
||||||
|
verify(mAlternateBouncerInteractor).hide();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user