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.
*/
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);
}
@@ -139,6 +141,11 @@ public final class RotationPolicy {
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) {
AsyncTask.execute(new Runnable() {
@Override

View File

@@ -576,6 +576,10 @@
rotations as the default behavior. -->
<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
orientation is reversed. Normally, the model is that landscape is
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="dialogTitleIconsDecorLayout" />
<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_startDreamImmediatelyOnDock" />
<java-symbol type="bool" name="config_carDockEnablesAccelerometer" />