Loading core/java/android/view/IWindowManager.aidl +4 −4 Original line number Diff line number Diff line Loading @@ -59,6 +59,8 @@ interface IWindowManager void pauseKeyDispatching(IBinder token); void resumeKeyDispatching(IBinder token); void setEventDispatching(boolean enabled); void addWindowToken(IBinder token, int type); void removeWindowToken(IBinder token); void addAppToken(int addPos, IApplicationToken token, int groupId, int requestedOrientation, boolean fullscreen); void setAppGroupId(IBinder token, int groupId); Loading @@ -81,8 +83,6 @@ interface IWindowManager void moveAppToken(int index, IBinder token); void moveAppTokensToTop(in List<IBinder> tokens); void moveAppTokensToBottom(in List<IBinder> tokens); void addWindowToken(IBinder token, int type); void removeWindowToken(IBinder token); // these require DISABLE_KEYGUARD permission void disableKeyguard(IBinder token, String tag); Loading Loading @@ -119,9 +119,9 @@ interface IWindowManager * @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. * {@link android.view.Surface}. * @param animFlags Animation flags as per {@link android.view.Surface}. */ void setRotation(int rotation, boolean alwaysSendConfiguration); void setRotation(int rotation, boolean alwaysSendConfiguration, int animFlags); /** * Retrieve the current screen orientation, constants as per Loading core/java/android/view/WindowOrientationListener.java +6 −0 Original line number Diff line number Diff line Loading @@ -80,6 +80,7 @@ public abstract class WindowOrientationListener { } if (mEnabled == false) { if (localLOGV) Log.d(TAG, "WindowOrientationListener enabled"); mSensorRotation = -1; mSensorManager.registerListener(mSensorEventListener, mSensor, mRate); mEnabled = true; } Loading @@ -95,11 +96,16 @@ public abstract class WindowOrientationListener { } if (mEnabled == true) { if (localLOGV) Log.d(TAG, "WindowOrientationListener disabled"); mSensorRotation = -1; mSensorManager.unregisterListener(mSensorEventListener); mEnabled = false; } } public int getCurrentRotation() { return mSensorRotation; } class SensorEventListenerImpl implements SensorEventListener { private static final int _DATA_X = 0; private static final int _DATA_Y = 1; Loading services/java/com/android/server/WindowManagerService.java +10 −14 Original line number Diff line number Diff line Loading @@ -2166,7 +2166,7 @@ public class WindowManagerService extends IWindowManager.Stub implements Watchdo if (changed) { changed = setRotationUncheckedLocked( WindowManagerPolicy.USE_LAST_ROTATION); WindowManagerPolicy.USE_LAST_ROTATION, 1); if (changed) { if (freezeThisOneIfNeeded != null) { AppWindowToken wtoken = findAppWindowToken( Loading Loading @@ -3258,7 +3258,7 @@ public class WindowManagerService extends IWindowManager.Stub implements Watchdo mPolicy.enableScreenAfterBoot(); // Make sure the last requested orientation has been applied. setRotationUnchecked(WindowManagerPolicy.USE_LAST_ROTATION, false); setRotationUnchecked(WindowManagerPolicy.USE_LAST_ROTATION, false, 0); } public void setInTouchMode(boolean mode) { Loading @@ -3268,23 +3268,24 @@ public class WindowManagerService extends IWindowManager.Stub implements Watchdo } public void setRotation(int rotation, boolean alwaysSendConfiguration) { boolean alwaysSendConfiguration, int animFlags) { if (!checkCallingPermission(android.Manifest.permission.SET_ORIENTATION, "setOrientation()")) { "setRotation()")) { return; } setRotationUnchecked(rotation, alwaysSendConfiguration); setRotationUnchecked(rotation, alwaysSendConfiguration, animFlags); } public void setRotationUnchecked(int rotation, boolean alwaysSendConfiguration) { public void setRotationUnchecked(int rotation, boolean alwaysSendConfiguration, int animFlags) { if(DEBUG_ORIENTATION) Log.v(TAG, "alwaysSendConfiguration set to "+alwaysSendConfiguration); long origId = Binder.clearCallingIdentity(); boolean changed; synchronized(mWindowMap) { changed = setRotationUncheckedLocked(rotation); changed = setRotationUncheckedLocked(rotation, animFlags); } if (changed) { Loading @@ -3301,7 +3302,7 @@ public class WindowManagerService extends IWindowManager.Stub implements Watchdo Binder.restoreCallingIdentity(origId); } public boolean setRotationUncheckedLocked(int rotation) { public boolean setRotationUncheckedLocked(int rotation, int animFlags) { boolean changed; if (rotation == WindowManagerPolicy.USE_LAST_ROTATION) { rotation = mRequestedRotation; Loading @@ -3326,6 +3327,7 @@ public class WindowManagerService extends IWindowManager.Stub implements Watchdo mH.sendMessageDelayed(mH.obtainMessage(H.WINDOW_FREEZE_TIMEOUT), 2000); startFreezingDisplayLocked(); Log.i(TAG, "Setting rotation to " + rotation + ", animFlags=" + animFlags); mQueue.setOrientation(rotation); if (mDisplayEnabled) { Surface.setOrientation(0, rotation); Loading Loading @@ -6976,7 +6978,6 @@ public class WindowManagerService extends IWindowManager.Stub implements Watchdo public static final int REMOVE_STARTING = 6; public static final int FINISHED_STARTING = 7; public static final int REPORT_APPLICATION_TOKEN_WINDOWS = 8; public static final int UPDATE_ORIENTATION = 10; public static final int WINDOW_FREEZE_TIMEOUT = 11; public static final int HOLD_SCREEN_CHANGED = 12; public static final int APP_TRANSITION_TIMEOUT = 13; Loading Loading @@ -7204,11 +7205,6 @@ public class WindowManagerService extends IWindowManager.Stub implements Watchdo } } break; case UPDATE_ORIENTATION: { setRotationUnchecked(WindowManagerPolicy.USE_LAST_ROTATION, false); break; } case WINDOW_FREEZE_TIMEOUT: { synchronized (mWindowMap) { Log.w(TAG, "Window freeze timeout expired."); Loading Loading
core/java/android/view/IWindowManager.aidl +4 −4 Original line number Diff line number Diff line Loading @@ -59,6 +59,8 @@ interface IWindowManager void pauseKeyDispatching(IBinder token); void resumeKeyDispatching(IBinder token); void setEventDispatching(boolean enabled); void addWindowToken(IBinder token, int type); void removeWindowToken(IBinder token); void addAppToken(int addPos, IApplicationToken token, int groupId, int requestedOrientation, boolean fullscreen); void setAppGroupId(IBinder token, int groupId); Loading @@ -81,8 +83,6 @@ interface IWindowManager void moveAppToken(int index, IBinder token); void moveAppTokensToTop(in List<IBinder> tokens); void moveAppTokensToBottom(in List<IBinder> tokens); void addWindowToken(IBinder token, int type); void removeWindowToken(IBinder token); // these require DISABLE_KEYGUARD permission void disableKeyguard(IBinder token, String tag); Loading Loading @@ -119,9 +119,9 @@ interface IWindowManager * @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. * {@link android.view.Surface}. * @param animFlags Animation flags as per {@link android.view.Surface}. */ void setRotation(int rotation, boolean alwaysSendConfiguration); void setRotation(int rotation, boolean alwaysSendConfiguration, int animFlags); /** * Retrieve the current screen orientation, constants as per Loading
core/java/android/view/WindowOrientationListener.java +6 −0 Original line number Diff line number Diff line Loading @@ -80,6 +80,7 @@ public abstract class WindowOrientationListener { } if (mEnabled == false) { if (localLOGV) Log.d(TAG, "WindowOrientationListener enabled"); mSensorRotation = -1; mSensorManager.registerListener(mSensorEventListener, mSensor, mRate); mEnabled = true; } Loading @@ -95,11 +96,16 @@ public abstract class WindowOrientationListener { } if (mEnabled == true) { if (localLOGV) Log.d(TAG, "WindowOrientationListener disabled"); mSensorRotation = -1; mSensorManager.unregisterListener(mSensorEventListener); mEnabled = false; } } public int getCurrentRotation() { return mSensorRotation; } class SensorEventListenerImpl implements SensorEventListener { private static final int _DATA_X = 0; private static final int _DATA_Y = 1; Loading
services/java/com/android/server/WindowManagerService.java +10 −14 Original line number Diff line number Diff line Loading @@ -2166,7 +2166,7 @@ public class WindowManagerService extends IWindowManager.Stub implements Watchdo if (changed) { changed = setRotationUncheckedLocked( WindowManagerPolicy.USE_LAST_ROTATION); WindowManagerPolicy.USE_LAST_ROTATION, 1); if (changed) { if (freezeThisOneIfNeeded != null) { AppWindowToken wtoken = findAppWindowToken( Loading Loading @@ -3258,7 +3258,7 @@ public class WindowManagerService extends IWindowManager.Stub implements Watchdo mPolicy.enableScreenAfterBoot(); // Make sure the last requested orientation has been applied. setRotationUnchecked(WindowManagerPolicy.USE_LAST_ROTATION, false); setRotationUnchecked(WindowManagerPolicy.USE_LAST_ROTATION, false, 0); } public void setInTouchMode(boolean mode) { Loading @@ -3268,23 +3268,24 @@ public class WindowManagerService extends IWindowManager.Stub implements Watchdo } public void setRotation(int rotation, boolean alwaysSendConfiguration) { boolean alwaysSendConfiguration, int animFlags) { if (!checkCallingPermission(android.Manifest.permission.SET_ORIENTATION, "setOrientation()")) { "setRotation()")) { return; } setRotationUnchecked(rotation, alwaysSendConfiguration); setRotationUnchecked(rotation, alwaysSendConfiguration, animFlags); } public void setRotationUnchecked(int rotation, boolean alwaysSendConfiguration) { public void setRotationUnchecked(int rotation, boolean alwaysSendConfiguration, int animFlags) { if(DEBUG_ORIENTATION) Log.v(TAG, "alwaysSendConfiguration set to "+alwaysSendConfiguration); long origId = Binder.clearCallingIdentity(); boolean changed; synchronized(mWindowMap) { changed = setRotationUncheckedLocked(rotation); changed = setRotationUncheckedLocked(rotation, animFlags); } if (changed) { Loading @@ -3301,7 +3302,7 @@ public class WindowManagerService extends IWindowManager.Stub implements Watchdo Binder.restoreCallingIdentity(origId); } public boolean setRotationUncheckedLocked(int rotation) { public boolean setRotationUncheckedLocked(int rotation, int animFlags) { boolean changed; if (rotation == WindowManagerPolicy.USE_LAST_ROTATION) { rotation = mRequestedRotation; Loading @@ -3326,6 +3327,7 @@ public class WindowManagerService extends IWindowManager.Stub implements Watchdo mH.sendMessageDelayed(mH.obtainMessage(H.WINDOW_FREEZE_TIMEOUT), 2000); startFreezingDisplayLocked(); Log.i(TAG, "Setting rotation to " + rotation + ", animFlags=" + animFlags); mQueue.setOrientation(rotation); if (mDisplayEnabled) { Surface.setOrientation(0, rotation); Loading Loading @@ -6976,7 +6978,6 @@ public class WindowManagerService extends IWindowManager.Stub implements Watchdo public static final int REMOVE_STARTING = 6; public static final int FINISHED_STARTING = 7; public static final int REPORT_APPLICATION_TOKEN_WINDOWS = 8; public static final int UPDATE_ORIENTATION = 10; public static final int WINDOW_FREEZE_TIMEOUT = 11; public static final int HOLD_SCREEN_CHANGED = 12; public static final int APP_TRANSITION_TIMEOUT = 13; Loading Loading @@ -7204,11 +7205,6 @@ public class WindowManagerService extends IWindowManager.Stub implements Watchdo } } break; case UPDATE_ORIENTATION: { setRotationUnchecked(WindowManagerPolicy.USE_LAST_ROTATION, false); break; } case WINDOW_FREEZE_TIMEOUT: { synchronized (mWindowMap) { Log.w(TAG, "Window freeze timeout expired."); Loading