summaryrefslogtreecommitdiffstats
path: root/policy/src/com
diff options
context:
space:
mode:
authorChong Zhang <chz@google.com>2014-11-11 18:54:39 -0800
committerChong Zhang <chz@google.com>2014-11-14 16:39:15 -0800
commitae6119ffce7f2be8846d1d2fd1497965946b66b8 (patch)
tree263fa7559f9c726d1e52e40e0e8f9c82237d5376 /policy/src/com
parent8161ed8121f88d58cb7a2bab3a7197e3d661ba49 (diff)
downloadframeworks_base-ae6119ffce7f2be8846d1d2fd1497965946b66b8.zip
frameworks_base-ae6119ffce7f2be8846d1d2fd1497965946b66b8.tar.gz
frameworks_base-ae6119ffce7f2be8846d1d2fd1497965946b66b8.tar.bz2
implement HDMI-like demo mode for remote display
adding the following two system properties to control remote display rotation and device orientation lock: "persist.demo.rotationlock"=true|false "persist.demo.remoterotation"=landscape|portrait Bug: 18317603 Change-Id: Id5fe115f895c6a0e72563036b9a98ff3b5037763
Diffstat (limited to 'policy/src/com')
-rw-r--r--policy/src/com/android/internal/policy/impl/PhoneWindowManager.java16
1 files changed, 16 insertions, 0 deletions
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
index 3c44e87..90f4312 100644
--- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
+++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
@@ -342,6 +342,8 @@ public class PhoneWindowManager implements WindowManagerPolicy {
int mUndockedHdmiRotation;
int mDemoHdmiRotation;
boolean mDemoHdmiRotationLock;
+ int mDemoRotation;
+ boolean mDemoRotationLock;
boolean mWakeGestureEnabledSetting;
MyWakeGestureListener mWakeGestureListener;
@@ -1444,6 +1446,16 @@ public class PhoneWindowManager implements WindowManagerPolicy {
}
mDemoHdmiRotationLock = SystemProperties.getBoolean("persist.demo.hdmirotationlock", false);
+ // For demo purposes, allow the rotation of the remote display to be controlled.
+ // By default, remote display locks rotation to landscape.
+ if ("portrait".equals(SystemProperties.get("persist.demo.remoterotation"))) {
+ mDemoRotation = mPortraitRotation;
+ } else {
+ mDemoRotation = mLandscapeRotation;
+ }
+ mDemoRotationLock = SystemProperties.getBoolean(
+ "persist.demo.rotationlock", false);
+
// Only force the default orientation if the screen is xlarge, at least 960dp x 720dp, per
// http://developer.android.com/guide/practices/screens_support.html#range
mForceDefaultOrientation = longSizeDp >= 960 && shortSizeDp >= 720 &&
@@ -5294,6 +5306,10 @@ public class PhoneWindowManager implements WindowManagerPolicy {
// full multi-display support).
// Note that the dock orientation overrides the HDMI orientation.
preferredRotation = mUndockedHdmiRotation;
+ } else if (mDemoRotationLock) {
+ // Ignore sensor when demo rotation lock is enabled.
+ // Note that the dock orientation and HDMI rotation lock override this.
+ preferredRotation = mDemoRotation;
} else if (orientation == ActivityInfo.SCREEN_ORIENTATION_LOCKED) {
// Application just wants to remain locked in the last rotation.
preferredRotation = lastRotation;