Merge "Lock launcher rotation during activity transition to allow proper seamless transition at the end" into ub-launcher3-qt-dev
am: 1d847cf266
Change-Id: Ia87cf7ecb7ae2fe0d26397598959529dbcd6d51d
This commit is contained in:
@@ -29,6 +29,7 @@ import static com.android.launcher3.LauncherState.OVERVIEW_PEEK;
|
||||
import static com.android.launcher3.dragndrop.DragLayer.ALPHA_INDEX_LAUNCHER_LOAD;
|
||||
import static com.android.launcher3.logging.LoggerUtils.newContainerTarget;
|
||||
import static com.android.launcher3.logging.LoggerUtils.newTarget;
|
||||
import static com.android.launcher3.states.RotationHelper.REQUEST_NONE;
|
||||
import static com.android.launcher3.util.RaceConditionTracker.ENTER;
|
||||
import static com.android.launcher3.util.RaceConditionTracker.EXIT;
|
||||
|
||||
@@ -76,8 +77,6 @@ import android.view.accessibility.AccessibilityEvent;
|
||||
import android.view.animation.OvershootInterpolator;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.android.launcher3.DropTarget.DragObject;
|
||||
import com.android.launcher3.accessibility.LauncherAccessibilityDelegate;
|
||||
import com.android.launcher3.allapps.AllAppsContainerView;
|
||||
@@ -155,6 +154,8 @@ import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
/**
|
||||
* Default launcher application.
|
||||
*/
|
||||
@@ -407,6 +408,7 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns,
|
||||
super.onEnterAnimationComplete();
|
||||
UiFactory.onEnterAnimationComplete(this);
|
||||
mAllAppsController.highlightWorkTabIfNecessary();
|
||||
mRotationHelper.setCurrentTransitionRequest(REQUEST_NONE);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -62,6 +62,10 @@ public class RotationHelper implements OnSharedPreferenceChangeListener {
|
||||
* Rotation request made by {@link InternalStateHandler}. This supersedes any other request.
|
||||
*/
|
||||
private int mStateHandlerRequest = REQUEST_NONE;
|
||||
/**
|
||||
* Rotation request made by an app transition
|
||||
*/
|
||||
private int mCurrentTransitionRequest = REQUEST_NONE;
|
||||
/**
|
||||
* Rotation request made by a Launcher State
|
||||
*/
|
||||
@@ -123,6 +127,13 @@ public class RotationHelper implements OnSharedPreferenceChangeListener {
|
||||
}
|
||||
}
|
||||
|
||||
public void setCurrentTransitionRequest(int request) {
|
||||
if (mCurrentTransitionRequest != request) {
|
||||
mCurrentTransitionRequest = request;
|
||||
notifyChange();
|
||||
}
|
||||
}
|
||||
|
||||
public void setCurrentStateRequest(int request) {
|
||||
if (mCurrentStateRequest != request) {
|
||||
mCurrentStateRequest = request;
|
||||
@@ -163,6 +174,9 @@ public class RotationHelper implements OnSharedPreferenceChangeListener {
|
||||
if (mStateHandlerRequest != REQUEST_NONE) {
|
||||
activityFlags = mStateHandlerRequest == REQUEST_LOCK ?
|
||||
SCREEN_ORIENTATION_LOCKED : SCREEN_ORIENTATION_UNSPECIFIED;
|
||||
} else if (mCurrentTransitionRequest != REQUEST_NONE) {
|
||||
activityFlags = mCurrentTransitionRequest == REQUEST_LOCK ?
|
||||
SCREEN_ORIENTATION_LOCKED : SCREEN_ORIENTATION_UNSPECIFIED;
|
||||
} else if (mCurrentStateRequest == REQUEST_LOCK) {
|
||||
activityFlags = SCREEN_ORIENTATION_LOCKED;
|
||||
} else if (mIgnoreAutoRotateSettings || mCurrentStateRequest == REQUEST_ROTATE
|
||||
|
||||
@@ -20,6 +20,7 @@ import static com.android.launcher3.Utilities.getBadge;
|
||||
import static com.android.launcher3.Utilities.mapToRange;
|
||||
import static com.android.launcher3.anim.Interpolators.LINEAR;
|
||||
import static com.android.launcher3.config.FeatureFlags.ADAPTIVE_ICON_WINDOW_ANIM;
|
||||
import static com.android.launcher3.states.RotationHelper.REQUEST_LOCK;
|
||||
|
||||
import android.animation.Animator;
|
||||
import android.animation.AnimatorListenerAdapter;
|
||||
@@ -178,6 +179,7 @@ public class FloatingIconView extends View implements
|
||||
protected void onAttachedToWindow() {
|
||||
super.onAttachedToWindow();
|
||||
getViewTreeObserver().addOnGlobalLayoutListener(this);
|
||||
mLauncher.getRotationHelper().setCurrentTransitionRequest(REQUEST_LOCK);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user