diff options
| author | 2016-02-15 19:31:50 -0800 | |
|---|---|---|
| committer | 2016-02-15 19:31:50 -0800 | |
| commit | 508ff55e8cc6580aa303c19ad0388e08b1f8851e (patch) | |
| tree | ad8a495d0ff865ab4d6b029d8269709814364ba6 | |
| parent | 3dbcd203c57e9845582b59d9d5914bd6df7d2e1f (diff) | |
Force resize pre-N apps that don't have fixed orientation.
We were previously only doing it for SCREEN_ORIENTATION_UNSPECIFIED,
but there are other orientation settings that aren't fixed that we
need to handle.
Change-Id: If21fcd8312b6267407d94b6646158ac6eae44b44
| -rw-r--r-- | core/java/android/content/pm/ActivityInfo.java | 16 | ||||
| -rw-r--r-- | core/java/android/content/pm/PackageParser.java | 3 |
2 files changed, 17 insertions, 2 deletions
diff --git a/core/java/android/content/pm/ActivityInfo.java b/core/java/android/content/pm/ActivityInfo.java index f58b16a7204f..14ef61ce63d4 100644 --- a/core/java/android/content/pm/ActivityInfo.java +++ b/core/java/android/content/pm/ActivityInfo.java @@ -789,6 +789,22 @@ public class ActivityInfo extends ComponentInfo } } + /** + * Returns true if the activity's orientation is fixed. + * @hide + */ + boolean isFixedOrientation() { + return screenOrientation == SCREEN_ORIENTATION_LANDSCAPE + || screenOrientation == SCREEN_ORIENTATION_PORTRAIT + || screenOrientation == SCREEN_ORIENTATION_SENSOR_LANDSCAPE + || screenOrientation == SCREEN_ORIENTATION_SENSOR_PORTRAIT + || screenOrientation == SCREEN_ORIENTATION_REVERSE_LANDSCAPE + || screenOrientation == SCREEN_ORIENTATION_REVERSE_PORTRAIT + || screenOrientation == SCREEN_ORIENTATION_USER_LANDSCAPE + || screenOrientation == SCREEN_ORIENTATION_USER_PORTRAIT + || screenOrientation == SCREEN_ORIENTATION_LOCKED; + } + /** @hide */ public static boolean isResizeableMode(int mode) { return mode == RESIZE_MODE_RESIZEABLE diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java index 5ae8d4cf0ce4..562a3e7a1934 100644 --- a/core/java/android/content/pm/PackageParser.java +++ b/core/java/android/content/pm/PackageParser.java @@ -3447,8 +3447,7 @@ public class PackageParser { } } else if (owner.applicationInfo.targetSdkVersion >= Build.VERSION_CODES.N) { a.info.resizeMode = RESIZE_MODE_UNRESIZEABLE; - } else if (a.info.screenOrientation == SCREEN_ORIENTATION_UNSPECIFIED - && (a.info.flags & FLAG_IMMERSIVE) == 0) { + } else if (!a.info.isFixedOrientation() && (a.info.flags & FLAG_IMMERSIVE) == 0) { a.info.resizeMode = RESIZE_MODE_FORCE_RESIZEABLE; } |