Ensure swipe down works for bouncer to dismiss

Also ensure that we don't set translation for sim screens. The
translation is causing some nasty flickering and the translation does
not serve any purpose.

Fixes: 191211136
Test: swipe down to dismiss from sim pin/puk view.
Test: swipe down to dismiss from pin view.
Test: swipe down to dismis from pattern/password view.

Change-Id: I8c2d2ccd7907fa732551fbecb8f0a7c37d4c4755
This commit is contained in:
Aaron Liu
2023-06-22 09:46:33 -07:00
parent 15a27cdeaf
commit 3bb092b408
5 changed files with 28 additions and 1 deletions

View File

@@ -281,6 +281,8 @@ public class KeyguardSecurityContainer extends ConstraintLayout {
public interface SwipeListener {
void onSwipeUp();
/** */
void onSwipeDown();
}
@VisibleForTesting
@@ -543,6 +545,11 @@ public class KeyguardSecurityContainer extends ConstraintLayout {
if (mSwipeListener != null) {
mSwipeListener.onSwipeUp();
}
} else if (getTranslationY() > TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
MIN_DRAG_SIZE, getResources().getDisplayMetrics())) {
if (mSwipeListener != null) {
mSwipeListener.onSwipeDown();
}
}
}
return true;

View File

@@ -70,11 +70,11 @@ import com.android.systemui.Gefingerpoken;
import com.android.systemui.R;
import com.android.systemui.biometrics.SideFpsController;
import com.android.systemui.biometrics.SideFpsUiRequestSource;
import com.android.systemui.bouncer.domain.interactor.BouncerMessageInteractor;
import com.android.systemui.classifier.FalsingA11yDelegate;
import com.android.systemui.classifier.FalsingCollector;
import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.flags.Flags;
import com.android.systemui.bouncer.domain.interactor.BouncerMessageInteractor;
import com.android.systemui.keyguard.domain.interactor.KeyguardFaceAuthInteractor;
import com.android.systemui.log.SessionTracker;
import com.android.systemui.plugins.ActivityStarter;
@@ -319,6 +319,11 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
"swipeUpOnBouncer");
}
}
@Override
public void onSwipeDown() {
mViewMediatorCallback.onBouncerSwipeDown();
}
};
private final ConfigurationController.ConfigurationListener mConfigurationListener =
new ConfigurationController.ConfigurationListener() {

View File

@@ -104,4 +104,9 @@ public interface ViewMediatorCallback {
* Call when cancel button is pressed in bouncer.
*/
void onCancelClicked();
/**
* Determines if bouncer has swiped down.
*/
void onBouncerSwipeDown();
}

View File

@@ -834,6 +834,11 @@ public class KeyguardViewMediator implements CoreStartable, Dumpable,
mKeyguardViewControllerLazy.get().onCancelClicked();
}
@Override
public void onBouncerSwipeDown() {
mKeyguardViewControllerLazy.get().reset(/* hideBouncerWhenShowing= */ true);
}
@Override
public void playTrustedSound() {
KeyguardViewMediator.this.playTrustedSound();

View File

@@ -758,6 +758,11 @@ public class KeyguardViewMediatorTest extends SysuiTestCase {
assertTrue(mViewMediator.isShowingAndNotOccluded());
}
@Test
public void testBouncerSwipeDown() {
mViewMediator.getViewMediatorCallback().onBouncerSwipeDown();
verify(mStatusBarKeyguardViewManager).reset(true);
}
private void createAndStartViewMediator() {
mViewMediator = new KeyguardViewMediator(
mContext,