diff options
author | Chong Zhang <chz@google.com> | 2014-11-11 18:54:39 -0800 |
---|---|---|
committer | Chong Zhang <chz@google.com> | 2014-11-14 16:39:15 -0800 |
commit | ae6119ffce7f2be8846d1d2fd1497965946b66b8 (patch) | |
tree | 263fa7559f9c726d1e52e40e0e8f9c82237d5376 /policy/src/com | |
parent | 8161ed8121f88d58cb7a2bab3a7197e3d661ba49 (diff) | |
download | frameworks_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.java | 16 |
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; |