Automated import from //branches/cupcake/...@142870,142870
This commit is contained in:
committed by
The Android Open Source Project
parent
ffacbe5d36
commit
02771bcb5d
@@ -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);
|
||||
@@ -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);
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
@@ -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(
|
||||
@@ -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) {
|
||||
@@ -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) {
|
||||
@@ -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;
|
||||
@@ -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);
|
||||
@@ -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;
|
||||
@@ -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.");
|
||||
|
||||
Reference in New Issue
Block a user