Merge "Force initialize task stack callback for gesture modes on init" into sc-dev am: e1a5d6bb1b

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/14754620

Change-Id: I65d94d520827ed3a9ed586853a6b533fdbf43fd4
This commit is contained in:
TreeHugger Robot 2021-05-28 06:00:09 +00:00 committed by Automerger Merge Worker
commit af44c7f976
1 changed files with 12 additions and 3 deletions

View File

@ -152,7 +152,7 @@ public class RotationTouchHelper implements
// Register for navigation mode changes
SysUINavigationMode.Mode newMode = mSysUiNavMode.addModeChangeListener(this);
onNavigationModeChanged(newMode);
onNavModeChangedInternal(newMode, newMode.hasGestures);
runOnDestroy(() -> mSysUiNavMode.removeModeChangeListener(this));
mOrientationListener = new OrientationEventListener(mContext) {
@ -245,13 +245,22 @@ public class RotationTouchHelper implements
@Override
public void onNavigationModeChanged(SysUINavigationMode.Mode newMode) {
onNavModeChangedInternal(newMode, false);
}
/**
* @param forceRegister if {@code true}, this will register {@link #mFrozenTaskListener} via
* {@link #setupOrientationSwipeHandler()}
*/
private void onNavModeChangedInternal(SysUINavigationMode.Mode newMode, boolean forceRegister) {
mDisplayController.removeChangeListener(this);
mDisplayController.addChangeListener(this);
onDisplayInfoChanged(mContext, mDisplayController.getInfo(), CHANGE_ALL);
mOrientationTouchTransformer.setNavigationMode(newMode, mDisplayController.getInfo(),
mContext.getResources());
if (!mMode.hasGestures && newMode.hasGestures) {
mContext.getResources());
if (forceRegister || (!mMode.hasGestures && newMode.hasGestures)) {
setupOrientationSwipeHandler();
} else if (mMode.hasGestures && !newMode.hasGestures){
destroyOrientationSwipeHandlerCallback();