Merge "Allow rotations to portrait on unlocking when unfolded" into tm-qpr-dev

This commit is contained in:
Will Osborn
2023-01-17 17:52:49 +00:00
committed by Android (Google) Code Review
3 changed files with 13 additions and 1 deletions

View File

@@ -106,7 +106,9 @@ public final class RotationPolicy {
* Enables or disables rotation lock from the system UI toggle. * Enables or disables rotation lock from the system UI toggle.
*/ */
public static void setRotationLock(Context context, final boolean enabled) { public static void setRotationLock(Context context, final boolean enabled) {
final int rotation = areAllRotationsAllowed(context) ? CURRENT_ROTATION : NATURAL_ROTATION; final int rotation = areAllRotationsAllowed(context)
|| useCurrentRotationOnRotationLockChange(context) ? CURRENT_ROTATION
: NATURAL_ROTATION;
setRotationLockAtAngle(context, enabled, rotation); setRotationLockAtAngle(context, enabled, rotation);
} }
@@ -139,6 +141,11 @@ public final class RotationPolicy {
return context.getResources().getBoolean(R.bool.config_allowAllRotations); return context.getResources().getBoolean(R.bool.config_allowAllRotations);
} }
private static boolean useCurrentRotationOnRotationLockChange(Context context) {
return context.getResources().getBoolean(
R.bool.config_useCurrentRotationOnRotationLockChange);
}
private static void setRotationLock(final boolean enabled, final int rotation) { private static void setRotationLock(final boolean enabled, final int rotation) {
AsyncTask.execute(new Runnable() { AsyncTask.execute(new Runnable() {
@Override @Override

View File

@@ -576,6 +576,10 @@
rotations as the default behavior. --> rotations as the default behavior. -->
<bool name="config_allowAllRotations">false</bool> <bool name="config_allowAllRotations">false</bool>
<!-- If false and config_allowAllRotations is false, the screen will rotate to the natural
orientation of the device when the auto-rotate policy is toggled. -->
<bool name="config_useCurrentRotationOnRotationLockChange">false</bool>
<!-- If true, the direction rotation is applied to get to an application's requested <!-- If true, the direction rotation is applied to get to an application's requested
orientation is reversed. Normally, the model is that landscape is orientation is reversed. Normally, the model is that landscape is
clockwise from portrait; thus on a portrait device an app requesting clockwise from portrait; thus on a portrait device an app requesting

View File

@@ -1732,6 +1732,7 @@
<java-symbol type="attr" name="dialogTitleDecorLayout" /> <java-symbol type="attr" name="dialogTitleDecorLayout" />
<java-symbol type="attr" name="dialogTitleIconsDecorLayout" /> <java-symbol type="attr" name="dialogTitleIconsDecorLayout" />
<java-symbol type="bool" name="config_allowAllRotations" /> <java-symbol type="bool" name="config_allowAllRotations" />
<java-symbol type="bool" name="config_useCurrentRotationOnRotationLockChange"/>
<java-symbol type="bool" name="config_annoy_dianne" /> <java-symbol type="bool" name="config_annoy_dianne" />
<java-symbol type="bool" name="config_startDreamImmediatelyOnDock" /> <java-symbol type="bool" name="config_startDreamImmediatelyOnDock" />
<java-symbol type="bool" name="config_carDockEnablesAccelerometer" /> <java-symbol type="bool" name="config_carDockEnablesAccelerometer" />