diff --git a/core/java/android/view/IWindowManager.aidl b/core/java/android/view/IWindowManager.aidl index c83869c9ee686..ee49d7bf5c28f 100644 --- a/core/java/android/view/IWindowManager.aidl +++ b/core/java/android/view/IWindowManager.aidl @@ -251,18 +251,6 @@ interface IWindowManager */ void refreshScreenCaptureDisabled(); - // These can only be called with the SET_ORIENTATION permission. - /** - * Update the current screen rotation based on the current state of - * the world. - * @param alwaysSendConfiguration Flag to force a new configuration to - * be evaluated. This can be used when there are other parameters in - * configuration that are changing. - * @param forceRelayout If true, the window manager will always do a relayout - * of its windows even if the rotation hasn't changed. - */ - void updateRotation(boolean alwaysSendConfiguration, boolean forceRelayout); - /** * Retrieve the current orientation of the primary screen. * @return Constant as per {@link android.view.Surface.Rotation}. @@ -442,11 +430,6 @@ interface IWindowManager @UnsupportedAppUsage boolean isSafeModeEnabled(); - /** - * Enables the screen if all conditions are met. - */ - void enableScreenIfNeeded(); - /** * Clears the frame statistics for a given window. * diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index f14bdca909772..ba4175b05d27c 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -171,7 +171,6 @@ import android.util.proto.ProtoOutputStream; import android.view.Display; import android.view.HapticFeedbackConstants; import android.view.IDisplayFoldListener; -import android.view.IWindowManager; import android.view.InputDevice; import android.view.KeyCharacterMap; import android.view.KeyCharacterMap.FallbackAction; @@ -383,7 +382,6 @@ public class PhoneWindowManager implements WindowManagerPolicy { private final SparseArray mScreenOnListeners = new SparseArray<>(); Context mContext; - IWindowManager mWindowManager; WindowManagerFuncs mWindowManagerFuncs; WindowManagerInternal mWindowManagerInternal; PowerManager mPowerManager; @@ -1883,10 +1881,8 @@ public class PhoneWindowManager implements WindowManagerPolicy { /** {@inheritDoc} */ @Override - public void init(Context context, IWindowManager windowManager, - WindowManagerFuncs windowManagerFuncs) { + public void init(Context context, WindowManagerFuncs windowManagerFuncs) { mContext = context; - mWindowManager = windowManager; mWindowManagerFuncs = windowManagerFuncs; mWindowManagerInternal = LocalServices.getService(WindowManagerInternal.class); mActivityManagerInternal = LocalServices.getService(ActivityManagerInternal.class); @@ -4814,10 +4810,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { } if (enableScreen) { - try { - mWindowManager.enableScreenIfNeeded(); - } catch (RemoteException unhandled) { - } + mWindowManagerFuncs.enableScreenIfNeeded(); } } @@ -5274,12 +5267,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { } void updateRotation(boolean alwaysSendConfiguration) { - try { - // Set orientation on WindowManager. - mWindowManager.updateRotation(alwaysSendConfiguration, false /* forceRelayout */); - } catch (RemoteException e) { - // Ignore - } + mWindowManagerFuncs.updateRotation(alwaysSendConfiguration, false /* forceRelayout */); } /** diff --git a/services/core/java/com/android/server/policy/WindowManagerPolicy.java b/services/core/java/com/android/server/policy/WindowManagerPolicy.java index 7ca09ab5154f4..e8a3dcd5635f2 100644 --- a/services/core/java/com/android/server/policy/WindowManagerPolicy.java +++ b/services/core/java/com/android/server/policy/WindowManagerPolicy.java @@ -78,7 +78,6 @@ import android.util.Slog; import android.util.proto.ProtoOutputStream; import android.view.Display; import android.view.IDisplayFoldListener; -import android.view.IWindowManager; import android.view.KeyEvent; import android.view.WindowManager; import android.view.WindowManagerGlobal; @@ -343,6 +342,22 @@ public interface WindowManagerPolicy extends WindowManagerPolicyConstants { * @return {@code true} if app transition state is idle on the default display. */ boolean isAppTransitionStateIdle(); + + /** + * Enables the screen if all conditions are met. + */ + void enableScreenIfNeeded(); + + /** + * Updates the current screen rotation based on the current state of the world. + * + * @param alwaysSendConfiguration Flag to force a new configuration to be evaluated. + * This can be used when there are other parameters in + * configuration that are changing. + * @param forceRelayout If true, the window manager will always do a relayout of its + * windows even if the rotation hasn't changed. + */ + void updateRotation(boolean alwaysSendConfiguration, boolean forceRelayout); } /** @@ -391,8 +406,7 @@ public interface WindowManagerPolicy extends WindowManagerPolicyConstants { * * @param context The system context we are running in. */ - public void init(Context context, IWindowManager windowManager, - WindowManagerFuncs windowManagerFuncs); + void init(Context context, WindowManagerFuncs windowManagerFuncs); /** * Check permissions when adding a window. diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 777d74af34646..3ab80146b8e0e 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -1173,7 +1173,7 @@ public class WindowManagerService extends IWindowManager.Stub @Override public void run() { WindowManagerPolicyThread.set(Thread.currentThread(), Looper.myLooper()); - mPolicy.init(mContext, WindowManagerService.this, WindowManagerService.this); + mPolicy.init(mContext, WindowManagerService.this); } }, 0); } diff --git a/services/tests/wmtests/src/com/android/server/wm/TestWindowManagerPolicy.java b/services/tests/wmtests/src/com/android/server/wm/TestWindowManagerPolicy.java index ea98b6b17e838..92457c73b3152 100644 --- a/services/tests/wmtests/src/com/android/server/wm/TestWindowManagerPolicy.java +++ b/services/tests/wmtests/src/com/android/server/wm/TestWindowManagerPolicy.java @@ -26,7 +26,6 @@ import android.os.IBinder; import android.os.PowerManager.GoToSleepReason; import android.os.PowerManager.WakeReason; import android.util.proto.ProtoOutputStream; -import android.view.IWindowManager; import android.view.KeyEvent; import android.view.WindowManager; import android.view.animation.Animation; @@ -50,8 +49,7 @@ class TestWindowManagerPolicy implements WindowManagerPolicy { } @Override - public void init(Context context, IWindowManager windowManager, - WindowManagerFuncs windowManagerFuncs) { + public void init(Context context, WindowManagerFuncs windowManagerFuncs) { } public void setDefaultDisplay(DisplayContentInfo displayContentInfo) { diff --git a/tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java b/tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java index 1fe13fe97fbe2..06cbeb5368a59 100644 --- a/tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java +++ b/tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java @@ -123,16 +123,6 @@ public class WindowManagerPermissionTests extends TestCase { @SmallTest public void testSET_ORIENTATION() { - try { - mWm.updateRotation(true, false); - fail("IWindowManager.updateRotation did not throw SecurityException as" - + " expected"); - } catch (SecurityException e) { - // expected - } catch (RemoteException e) { - fail("Unexpected remote exception"); - } - try { mWm.freezeRotation(-1); fail("IWindowManager.freezeRotation did not throw SecurityException as"