Enable orientation listener at all times.

Fix: 186372522
Test: manual (Settings -> enroll fingerprint, flip device in all orientations)
Change-Id: Icce7846c5637711d8abad1121095fd7a25ed644f
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/AuthController.java b/packages/SystemUI/src/com/android/systemui/biometrics/AuthController.java
index 2a18055..2aa89e86 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 @@
     }
 
     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 @@
                 Log.w(TAG, "ACTION_CLOSE_SYSTEM_DIALOGS received");
                 mCurrentDialog.dismissWithoutCallback(true /* animate */);
                 mCurrentDialog = null;
-                mOrientationListener.disable();
 
                 try {
                     if (mReceiver != null) {
@@ -229,7 +232,6 @@
                         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 @@
         mSidefpsControllerFactory = sidefpsControllerFactory;
         mWindowManager = windowManager;
         mOrientationListener = new BiometricOrientationEventListener(context);
+        mOrientationListener.enable();
 
         mFaceProps = mFaceManager != null ? mFaceManager.getSensorPropertiesInternal() : null;
 
@@ -663,7 +666,6 @@
         // 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 @@
         mReceiver = (IBiometricSysuiReceiver) args.arg2;
         mCurrentDialog = newDialog;
         mCurrentDialog.show(mWindowManager, savedState);
-        mOrientationListener.enable();
     }
 
     private void onDialogDismissed(@DismissedReason int reason) {
@@ -745,7 +746,6 @@
         }
         mReceiver = null;
         mCurrentDialog = null;
-        mOrientationListener.disable();
     }
 
     @Override
@@ -758,7 +758,6 @@
             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.