diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/biometrics/AuthController.java | 15 |
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. |