Move fixed landscape in RotationHelper from a request to a variable
Bug: 364711735
Test: NA
Flag: com.android.launcher3.one_grid_specs
Change-Id: I38ed82b2906308754d5157f6319e5d19fcfbc385
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index be2ba57..6145077 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -96,7 +96,6 @@
import static com.android.launcher3.popup.SystemShortcut.INSTALL;
import static com.android.launcher3.popup.SystemShortcut.WIDGETS;
import static com.android.launcher3.states.RotationHelper.REQUEST_LOCK;
-import static com.android.launcher3.states.RotationHelper.REQUEST_FIXED_LANDSCAPE;
import static com.android.launcher3.states.RotationHelper.REQUEST_NONE;
import static com.android.launcher3.testing.shared.TestProtocol.LAUNCHER_ACTIVITY_STOPPED_MESSAGE;
import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
@@ -782,12 +781,9 @@
if (!com.android.launcher3.Flags.oneGridSpecs()) {
return;
}
- if (Objects.requireNonNull(mDeviceProfile.inv).isFixedLandscapeMode) {
- // Set rotation fixed
- getRotationHelper().setStateHandlerRequest(REQUEST_FIXED_LANDSCAPE);
- } else {
- getRotationHelper().setStateHandlerRequest(REQUEST_NONE);
- }
+ getRotationHelper().setFixedLandscape(
+ Objects.requireNonNull(mDeviceProfile.inv).isFixedLandscapeMode
+ );
}
public void onAssistantVisibilityChanged(float visibility) {
diff --git a/src/com/android/launcher3/states/RotationHelper.java b/src/com/android/launcher3/states/RotationHelper.java
index 1f397d1..7d7ccd3 100644
--- a/src/com/android/launcher3/states/RotationHelper.java
+++ b/src/com/android/launcher3/states/RotationHelper.java
@@ -63,7 +63,8 @@
public static final int REQUEST_NONE = 0;
public static final int REQUEST_ROTATE = 1;
public static final int REQUEST_LOCK = 2;
- public static final int REQUEST_FIXED_LANDSCAPE = 3;
+
+ private boolean mIsFixedLandscape = false;
@NonNull
private final BaseActivity mActivity;
@@ -165,6 +166,18 @@
notifyChange();
}
+ public boolean isFixedLandscape() {
+ return mIsFixedLandscape;
+ }
+
+ /**
+ * If fixedLandscape is true then the Launcher become landscape until set false..
+ */
+ public void setFixedLandscape(boolean fixedLandscape) {
+ mIsFixedLandscape = fixedLandscape;
+ notifyChange();
+ }
+
// Used by tests only.
public void forceAllowRotationForTesting(boolean allowRotation) {
if (mDestroyed) return;
@@ -197,9 +210,7 @@
}
final int activityFlags;
- if (mStateHandlerRequest == REQUEST_FIXED_LANDSCAPE) {
- activityFlags = SCREEN_ORIENTATION_USER_LANDSCAPE;
- } else if (mStateHandlerRequest != REQUEST_NONE) {
+ if (mStateHandlerRequest != REQUEST_NONE) {
activityFlags = mStateHandlerRequest == REQUEST_LOCK ?
SCREEN_ORIENTATION_LOCKED : SCREEN_ORIENTATION_UNSPECIFIED;
} else if (mCurrentTransitionRequest != REQUEST_NONE) {
@@ -207,6 +218,8 @@
SCREEN_ORIENTATION_LOCKED : SCREEN_ORIENTATION_UNSPECIFIED;
} else if (mCurrentStateRequest == REQUEST_LOCK) {
activityFlags = SCREEN_ORIENTATION_LOCKED;
+ } else if (mIsFixedLandscape) {
+ activityFlags = SCREEN_ORIENTATION_USER_LANDSCAPE;
} else if (mIgnoreAutoRotateSettings || mCurrentStateRequest == REQUEST_ROTATE
|| mHomeRotationEnabled || mForceAllowRotationForTesting) {
activityFlags = SCREEN_ORIENTATION_UNSPECIFIED;