Handle the WatchRotation failed

WindowManagerService#WatchRotation throw the IllegalArgumentException
when trying to register the rotation event with invalid display.
There is a case in MultiDisplaySystemDecorationTests when the display
is invalid, but the RotationButtonController still tries to register
the rotation event. The symptom impact the WindowManager CTS to
execute tesing completely.

This CL do the basic protection first to make the WM CTS more smooth.

Bug: 153607881
Test: atest MultiDisplaySystemDecorationTests
Change-Id: Ie3c240c3bc270d1f145640ee420b33ce95902e5d
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/RotationButtonController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/RotationButtonController.java
index 0147e7f..ba32327 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/RotationButtonController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/RotationButtonController.java
@@ -29,6 +29,7 @@
 import android.os.Looper;
 import android.os.RemoteException;
 import android.provider.Settings;
+import android.util.Log;
 import android.view.IRotationWatcher.Stub;
 import android.view.MotionEvent;
 import android.view.Surface;
@@ -53,6 +54,7 @@
 /** Contains logic that deals with showing a rotate suggestion button with animation. */
 public class RotationButtonController {
 
+    private static final String TAG = "StatusBar/RotationButtonController";
     private static final int BUTTON_FADE_IN_OUT_DURATION_MS = 100;
     private static final int NAVBAR_HIDDEN_PENDING_ICON_TIMEOUT_MS = 20000;
 
@@ -138,6 +140,9 @@
         try {
             WindowManagerGlobal.getWindowManagerService()
                     .watchRotation(mRotationWatcher, mContext.getDisplay().getDisplayId());
+        } catch (IllegalArgumentException e) {
+            mListenersRegistered = false;
+            Log.w(TAG, "RegisterListeners for the display failed");
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }