summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/systemui/biometrics/AuthController.java15
1 files changed, 7 insertions, 8 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/AuthController.java b/packages/SystemUI/src/com/android/systemui/biometrics/AuthController.java
index 2a18055da232..2aa89e86d5c8 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/AuthController.java
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/AuthController.java
@@ -121,11 +121,15 @@ public class AuthController extends SystemUI implements CommandQueue.Callbacks,
}
private class BiometricOrientationEventListener extends OrientationEventListener {
- @Surface.Rotation private int mLastRotation;
+ @Surface.Rotation private int mLastRotation = ORIENTATION_UNKNOWN;
BiometricOrientationEventListener(Context context) {
super(context);
- mLastRotation = context.getDisplay().getRotation();
+
+ final Display display = context.getDisplay();
+ if (display != null) {
+ mLastRotation = display.getRotation();
+ }
}
@Override
@@ -200,7 +204,6 @@ public class AuthController extends SystemUI implements CommandQueue.Callbacks,
Log.w(TAG, "ACTION_CLOSE_SYSTEM_DIALOGS received");
mCurrentDialog.dismissWithoutCallback(true /* animate */);
mCurrentDialog = null;
- mOrientationListener.disable();
try {
if (mReceiver != null) {
@@ -229,7 +232,6 @@ public class AuthController extends SystemUI implements CommandQueue.Callbacks,
Log.w(TAG, "Evicting client due to: " + topPackage);
mCurrentDialog.dismissWithoutCallback(true /* animate */);
mCurrentDialog = null;
- mOrientationListener.disable();
if (mReceiver != null) {
mReceiver.onDialogDismissed(
@@ -469,6 +471,7 @@ public class AuthController extends SystemUI implements CommandQueue.Callbacks,
mSidefpsControllerFactory = sidefpsControllerFactory;
mWindowManager = windowManager;
mOrientationListener = new BiometricOrientationEventListener(context);
+ mOrientationListener.enable();
mFaceProps = mFaceManager != null ? mFaceManager.getSensorPropertiesInternal() : null;
@@ -663,7 +666,6 @@ public class AuthController extends SystemUI implements CommandQueue.Callbacks,
// BiometricService will have already sent the callback to the client in this case.
// This avoids a round trip to SystemUI. So, just dismiss the dialog and we're done.
mCurrentDialog = null;
- mOrientationListener.disable();
}
/**
@@ -735,7 +737,6 @@ public class AuthController extends SystemUI implements CommandQueue.Callbacks,
mReceiver = (IBiometricSysuiReceiver) args.arg2;
mCurrentDialog = newDialog;
mCurrentDialog.show(mWindowManager, savedState);
- mOrientationListener.enable();
}
private void onDialogDismissed(@DismissedReason int reason) {
@@ -745,7 +746,6 @@ public class AuthController extends SystemUI implements CommandQueue.Callbacks,
}
mReceiver = null;
mCurrentDialog = null;
- mOrientationListener.disable();
}
@Override
@@ -758,7 +758,6 @@ public class AuthController extends SystemUI implements CommandQueue.Callbacks,
mCurrentDialog.onSaveState(savedState);
mCurrentDialog.dismissWithoutCallback(false /* animate */);
mCurrentDialog = null;
- mOrientationListener.disable();
// Only show the dialog if necessary. If it was animating out, the dialog is supposed
// to send its pending callback immediately.