Loading quickstep/src/com/android/launcher3/LauncherInitListener.java +4 −4 Original line number Diff line number Diff line Loading @@ -15,11 +15,11 @@ */ package com.android.launcher3; import com.android.quickstep.util.ActivityInitListener; import com.android.quickstep.util.ContextInitListener; import java.util.function.BiPredicate; public class LauncherInitListener extends ActivityInitListener<Launcher> { public class LauncherInitListener extends ContextInitListener<Launcher> { /** * @param onInitListener a callback made when the activity is initialized. The callback should Loading @@ -31,8 +31,8 @@ public class LauncherInitListener extends ActivityInitListener<Launcher> { } @Override public boolean handleInit(Launcher launcher, boolean alreadyOnHome) { public boolean handleInit(Launcher launcher, boolean isHomeStarted) { launcher.deferOverlayCallbacksUntilNextResumeOrStop(); return super.handleInit(launcher, alreadyOnHome); return super.handleInit(launcher, isHomeStarted); } } quickstep/src/com/android/launcher3/statehandlers/DesktopVisibilityController.java +2 −2 Original line number Diff line number Diff line Loading @@ -384,7 +384,7 @@ public class DesktopVisibilityController { Log.d(TAG, "markLauncherPaused " + Debug.getCaller()); } StatefulActivity<LauncherState> activity = QuickstepLauncher.ACTIVITY_TRACKER.getCreatedActivity(); QuickstepLauncher.ACTIVITY_TRACKER.getCreatedContext(); if (activity != null) { activity.setPaused(); } Loading @@ -404,7 +404,7 @@ public class DesktopVisibilityController { Log.d(TAG, "markLauncherResumed " + Debug.getCaller()); } StatefulActivity<LauncherState> activity = QuickstepLauncher.ACTIVITY_TRACKER.getCreatedActivity(); QuickstepLauncher.ACTIVITY_TRACKER.getCreatedContext(); // Check activity state before calling setResumed(). Launcher may have been actually // paused (eg fullscreen task moved to front). // In this case we should not mark the activity as resumed. Loading quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java +13 −17 Original line number Diff line number Diff line Loading @@ -100,7 +100,6 @@ import com.android.internal.jank.Cuj; import com.android.internal.util.LatencyTracker; import com.android.launcher3.AbstractFloatingView; import com.android.launcher3.DeviceProfile; import com.android.launcher3.Flags; import com.android.launcher3.R; import com.android.launcher3.Utilities; import com.android.launcher3.anim.AnimationSuccessListener; Loading @@ -125,8 +124,8 @@ import com.android.quickstep.fallback.window.RecentsWindowManager; import com.android.quickstep.util.ActiveGestureErrorDetector; import com.android.quickstep.util.ActiveGestureLog; import com.android.quickstep.util.ActiveGestureProtoLogProxy; import com.android.quickstep.util.ActivityInitListener; import com.android.quickstep.util.AnimatorControllerWithResistance; import com.android.quickstep.util.ContextInitListener; import com.android.quickstep.util.InputConsumerProxy; import com.android.quickstep.util.InputProxyHandlerFactory; import com.android.quickstep.util.MotionPauseDetector; Loading Loading @@ -156,8 +155,6 @@ import com.android.wm.shell.shared.TransactionPool; import com.android.wm.shell.shared.desktopmode.DesktopModeStatus; import com.android.wm.shell.shared.startingsurface.SplashScreenExitAnimationUtils; import kotlin.Unit; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; Loading @@ -167,6 +164,8 @@ import java.util.Optional; import java.util.OptionalInt; import java.util.function.Consumer; import kotlin.Unit; /** * Handles the navigation gestures when Launcher is the default home activity. */ Loading @@ -184,7 +183,7 @@ public abstract class AbsSwipeUpHandler< protected final BaseContainerInterface<STATE, RECENTS_CONTAINER> mContainerInterface; protected final InputConsumerProxy mInputConsumerProxy; protected final ActivityInitListener mActivityInitListener; protected final ContextInitListener mContextInitListener; // Callbacks to be made once the recents animation starts private final ArrayList<Runnable> mRecentsAnimationStartCallbacks = new ArrayList<>(); private final OnScrollChangedListener mOnRecentsScrollListener = this::onRecentsViewScroll; Loading Loading @@ -357,10 +356,7 @@ public abstract class AbsSwipeUpHandler< InputConsumerController inputConsumer, RecentsWindowManager recentsWindowManager) { super(context, deviceState, gestureState); mContainerInterface = gestureState.getContainerInterface(); if (recentsWindowManager != null && Flags.enableFallbackOverviewInWindow()) { recentsWindowManager.registerInitListener(this::onActivityInit); } mActivityInitListener = mContextInitListener = mContainerInterface.createActivityInitListener(this::onActivityInit); mInputConsumerProxy = new InputConsumerProxy(context, /* rotationSupplier = */ () -> { Loading Loading @@ -482,7 +478,7 @@ public abstract class AbsSwipeUpHandler< this::resetStateForAnimationCancel); } protected boolean onActivityInit(Boolean alreadyOnHome) { protected boolean onActivityInit(Boolean isHomeStarted) { if (mStateCallback.hasStates(STATE_HANDLER_INVALIDATED)) { return false; } Loading Loading @@ -510,11 +506,11 @@ public abstract class AbsSwipeUpHandler< initStateCallbacks(); mStateCallback.setState(oldState); } mWasLauncherAlreadyVisible = alreadyOnHome; mWasLauncherAlreadyVisible = isHomeStarted; mContainer = container; // Override the visibility of the activity until the gesture actually starts and we swipe // up, or until we transition home and the home animation is composed if (alreadyOnHome) { if (isHomeStarted) { mContainer.clearForceInvisibleFlag(STATE_HANDLER_INVISIBILITY_FLAGS); } else { mContainer.addForceInvisibleFlag(STATE_HANDLER_INVISIBILITY_FLAGS); Loading @@ -524,7 +520,7 @@ public abstract class AbsSwipeUpHandler< mRecentsView.setOnPageTransitionEndCallback(null); mStateCallback.setState(STATE_LAUNCHER_PRESENT); if (alreadyOnHome) { if (isHomeStarted) { onLauncherStart(); } else { container.addEventCallback(EVENT_STARTED, mLauncherOnStartCallback); Loading Loading @@ -985,7 +981,7 @@ public abstract class AbsSwipeUpHandler< @Override public void onRecentsAnimationCanceled(HashMap<Integer, ThumbnailData> thumbnailDatas) { ActiveGestureProtoLogProxy.logAbsSwipeUpHandlerOnRecentsAnimationCanceled(); mActivityInitListener.unregister("AbsSwipeUpHandler.onRecentsAnimationCanceled"); mContextInitListener.unregister("AbsSwipeUpHandler.onRecentsAnimationCanceled"); mStateCallback.setStateOnUiThread(STATE_GESTURE_CANCELLED | STATE_HANDLER_INVALIDATED); // Defer clearing the controller and the targets until after we've updated the state mRecentsAnimationController = null; Loading Loading @@ -1989,7 +1985,7 @@ public abstract class AbsSwipeUpHandler< // Cleanup when switching handlers mInputConsumerProxy.unregisterOnTouchDownCallback(); mActivityInitListener.unregister("AbsSwipeUpHandler.cancelCurrentAnimation"); mContextInitListener.unregister("AbsSwipeUpHandler.cancelCurrentAnimation"); TaskStackChangeListeners.getInstance().unregisterTaskStackListener( mActivityRestartListener); mTaskSnapshotCache.clear(); Loading @@ -2007,7 +2003,7 @@ public abstract class AbsSwipeUpHandler< mGestureEndCallback.run(); } mActivityInitListener.unregister("AbsSwipeUpHandler.invalidateHandler"); mContextInitListener.unregister("AbsSwipeUpHandler.invalidateHandler"); TaskStackChangeListeners.getInstance().unregisterTaskStackListener( mActivityRestartListener); mTaskSnapshotCache.clear(); Loading Loading @@ -2516,7 +2512,7 @@ public abstract class AbsSwipeUpHandler< // Preload the plan RecentsModel.INSTANCE.get(mContext).getTasks(null); mActivityInitListener.register(reasonString); mContextInitListener.register(reasonString); } private boolean shouldFadeOutTargetsForKeyboardQuickSwitch( Loading quickstep/src/com/android/quickstep/BaseContainerInterface.java +2 −2 Original line number Diff line number Diff line Loading @@ -47,8 +47,8 @@ import com.android.launcher3.util.DisplayController; import com.android.launcher3.util.WindowBounds; import com.android.launcher3.views.ScrimView; import com.android.quickstep.orientation.RecentsPagedOrientationHandler; import com.android.quickstep.util.ActivityInitListener; import com.android.quickstep.util.AnimatorControllerWithResistance; import com.android.quickstep.util.ContextInitListener; import com.android.quickstep.views.RecentsView; import com.android.quickstep.views.RecentsViewContainer; import com.android.systemui.shared.recents.model.ThumbnailData; Loading Loading @@ -134,7 +134,7 @@ public abstract class BaseContainerInterface<STATE_TYPE extends BaseState<STATE_ RecentsAnimationDeviceState deviceState, boolean activityVisible, Consumer<AnimatorControllerWithResistance> callback); public abstract ActivityInitListener createActivityInitListener( public abstract ContextInitListener createActivityInitListener( Predicate<Boolean> onInitListener); /** * Returns the expected STATE_TYPE from the provided GestureEndTarget. Loading quickstep/src/com/android/quickstep/FallbackActivityInterface.java +4 −4 Original line number Diff line number Diff line Loading @@ -36,8 +36,8 @@ import com.android.launcher3.util.DisplayController; import com.android.quickstep.GestureState.GestureEndTarget; import com.android.quickstep.fallback.RecentsState; import com.android.quickstep.orientation.RecentsPagedOrientationHandler; import com.android.quickstep.util.ActivityInitListener; import com.android.quickstep.util.AnimatorControllerWithResistance; import com.android.quickstep.util.ContextInitListener; import com.android.quickstep.views.RecentsView; import java.util.function.Consumer; Loading Loading @@ -88,16 +88,16 @@ public final class FallbackActivityInterface extends } @Override public ActivityInitListener createActivityInitListener( public ContextInitListener<RecentsActivity> createActivityInitListener( Predicate<Boolean> onInitListener) { return new ActivityInitListener<>((activity, alreadyOnHome) -> return new ContextInitListener<>((activity, alreadyOnHome) -> onInitListener.test(alreadyOnHome), RecentsActivity.ACTIVITY_TRACKER); } @Nullable @Override public RecentsActivity getCreatedContainer() { return RecentsActivity.ACTIVITY_TRACKER.getCreatedActivity(); return RecentsActivity.ACTIVITY_TRACKER.getCreatedContext(); } @Override Loading Loading
quickstep/src/com/android/launcher3/LauncherInitListener.java +4 −4 Original line number Diff line number Diff line Loading @@ -15,11 +15,11 @@ */ package com.android.launcher3; import com.android.quickstep.util.ActivityInitListener; import com.android.quickstep.util.ContextInitListener; import java.util.function.BiPredicate; public class LauncherInitListener extends ActivityInitListener<Launcher> { public class LauncherInitListener extends ContextInitListener<Launcher> { /** * @param onInitListener a callback made when the activity is initialized. The callback should Loading @@ -31,8 +31,8 @@ public class LauncherInitListener extends ActivityInitListener<Launcher> { } @Override public boolean handleInit(Launcher launcher, boolean alreadyOnHome) { public boolean handleInit(Launcher launcher, boolean isHomeStarted) { launcher.deferOverlayCallbacksUntilNextResumeOrStop(); return super.handleInit(launcher, alreadyOnHome); return super.handleInit(launcher, isHomeStarted); } }
quickstep/src/com/android/launcher3/statehandlers/DesktopVisibilityController.java +2 −2 Original line number Diff line number Diff line Loading @@ -384,7 +384,7 @@ public class DesktopVisibilityController { Log.d(TAG, "markLauncherPaused " + Debug.getCaller()); } StatefulActivity<LauncherState> activity = QuickstepLauncher.ACTIVITY_TRACKER.getCreatedActivity(); QuickstepLauncher.ACTIVITY_TRACKER.getCreatedContext(); if (activity != null) { activity.setPaused(); } Loading @@ -404,7 +404,7 @@ public class DesktopVisibilityController { Log.d(TAG, "markLauncherResumed " + Debug.getCaller()); } StatefulActivity<LauncherState> activity = QuickstepLauncher.ACTIVITY_TRACKER.getCreatedActivity(); QuickstepLauncher.ACTIVITY_TRACKER.getCreatedContext(); // Check activity state before calling setResumed(). Launcher may have been actually // paused (eg fullscreen task moved to front). // In this case we should not mark the activity as resumed. Loading
quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java +13 −17 Original line number Diff line number Diff line Loading @@ -100,7 +100,6 @@ import com.android.internal.jank.Cuj; import com.android.internal.util.LatencyTracker; import com.android.launcher3.AbstractFloatingView; import com.android.launcher3.DeviceProfile; import com.android.launcher3.Flags; import com.android.launcher3.R; import com.android.launcher3.Utilities; import com.android.launcher3.anim.AnimationSuccessListener; Loading @@ -125,8 +124,8 @@ import com.android.quickstep.fallback.window.RecentsWindowManager; import com.android.quickstep.util.ActiveGestureErrorDetector; import com.android.quickstep.util.ActiveGestureLog; import com.android.quickstep.util.ActiveGestureProtoLogProxy; import com.android.quickstep.util.ActivityInitListener; import com.android.quickstep.util.AnimatorControllerWithResistance; import com.android.quickstep.util.ContextInitListener; import com.android.quickstep.util.InputConsumerProxy; import com.android.quickstep.util.InputProxyHandlerFactory; import com.android.quickstep.util.MotionPauseDetector; Loading Loading @@ -156,8 +155,6 @@ import com.android.wm.shell.shared.TransactionPool; import com.android.wm.shell.shared.desktopmode.DesktopModeStatus; import com.android.wm.shell.shared.startingsurface.SplashScreenExitAnimationUtils; import kotlin.Unit; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; Loading @@ -167,6 +164,8 @@ import java.util.Optional; import java.util.OptionalInt; import java.util.function.Consumer; import kotlin.Unit; /** * Handles the navigation gestures when Launcher is the default home activity. */ Loading @@ -184,7 +183,7 @@ public abstract class AbsSwipeUpHandler< protected final BaseContainerInterface<STATE, RECENTS_CONTAINER> mContainerInterface; protected final InputConsumerProxy mInputConsumerProxy; protected final ActivityInitListener mActivityInitListener; protected final ContextInitListener mContextInitListener; // Callbacks to be made once the recents animation starts private final ArrayList<Runnable> mRecentsAnimationStartCallbacks = new ArrayList<>(); private final OnScrollChangedListener mOnRecentsScrollListener = this::onRecentsViewScroll; Loading Loading @@ -357,10 +356,7 @@ public abstract class AbsSwipeUpHandler< InputConsumerController inputConsumer, RecentsWindowManager recentsWindowManager) { super(context, deviceState, gestureState); mContainerInterface = gestureState.getContainerInterface(); if (recentsWindowManager != null && Flags.enableFallbackOverviewInWindow()) { recentsWindowManager.registerInitListener(this::onActivityInit); } mActivityInitListener = mContextInitListener = mContainerInterface.createActivityInitListener(this::onActivityInit); mInputConsumerProxy = new InputConsumerProxy(context, /* rotationSupplier = */ () -> { Loading Loading @@ -482,7 +478,7 @@ public abstract class AbsSwipeUpHandler< this::resetStateForAnimationCancel); } protected boolean onActivityInit(Boolean alreadyOnHome) { protected boolean onActivityInit(Boolean isHomeStarted) { if (mStateCallback.hasStates(STATE_HANDLER_INVALIDATED)) { return false; } Loading Loading @@ -510,11 +506,11 @@ public abstract class AbsSwipeUpHandler< initStateCallbacks(); mStateCallback.setState(oldState); } mWasLauncherAlreadyVisible = alreadyOnHome; mWasLauncherAlreadyVisible = isHomeStarted; mContainer = container; // Override the visibility of the activity until the gesture actually starts and we swipe // up, or until we transition home and the home animation is composed if (alreadyOnHome) { if (isHomeStarted) { mContainer.clearForceInvisibleFlag(STATE_HANDLER_INVISIBILITY_FLAGS); } else { mContainer.addForceInvisibleFlag(STATE_HANDLER_INVISIBILITY_FLAGS); Loading @@ -524,7 +520,7 @@ public abstract class AbsSwipeUpHandler< mRecentsView.setOnPageTransitionEndCallback(null); mStateCallback.setState(STATE_LAUNCHER_PRESENT); if (alreadyOnHome) { if (isHomeStarted) { onLauncherStart(); } else { container.addEventCallback(EVENT_STARTED, mLauncherOnStartCallback); Loading Loading @@ -985,7 +981,7 @@ public abstract class AbsSwipeUpHandler< @Override public void onRecentsAnimationCanceled(HashMap<Integer, ThumbnailData> thumbnailDatas) { ActiveGestureProtoLogProxy.logAbsSwipeUpHandlerOnRecentsAnimationCanceled(); mActivityInitListener.unregister("AbsSwipeUpHandler.onRecentsAnimationCanceled"); mContextInitListener.unregister("AbsSwipeUpHandler.onRecentsAnimationCanceled"); mStateCallback.setStateOnUiThread(STATE_GESTURE_CANCELLED | STATE_HANDLER_INVALIDATED); // Defer clearing the controller and the targets until after we've updated the state mRecentsAnimationController = null; Loading Loading @@ -1989,7 +1985,7 @@ public abstract class AbsSwipeUpHandler< // Cleanup when switching handlers mInputConsumerProxy.unregisterOnTouchDownCallback(); mActivityInitListener.unregister("AbsSwipeUpHandler.cancelCurrentAnimation"); mContextInitListener.unregister("AbsSwipeUpHandler.cancelCurrentAnimation"); TaskStackChangeListeners.getInstance().unregisterTaskStackListener( mActivityRestartListener); mTaskSnapshotCache.clear(); Loading @@ -2007,7 +2003,7 @@ public abstract class AbsSwipeUpHandler< mGestureEndCallback.run(); } mActivityInitListener.unregister("AbsSwipeUpHandler.invalidateHandler"); mContextInitListener.unregister("AbsSwipeUpHandler.invalidateHandler"); TaskStackChangeListeners.getInstance().unregisterTaskStackListener( mActivityRestartListener); mTaskSnapshotCache.clear(); Loading Loading @@ -2516,7 +2512,7 @@ public abstract class AbsSwipeUpHandler< // Preload the plan RecentsModel.INSTANCE.get(mContext).getTasks(null); mActivityInitListener.register(reasonString); mContextInitListener.register(reasonString); } private boolean shouldFadeOutTargetsForKeyboardQuickSwitch( Loading
quickstep/src/com/android/quickstep/BaseContainerInterface.java +2 −2 Original line number Diff line number Diff line Loading @@ -47,8 +47,8 @@ import com.android.launcher3.util.DisplayController; import com.android.launcher3.util.WindowBounds; import com.android.launcher3.views.ScrimView; import com.android.quickstep.orientation.RecentsPagedOrientationHandler; import com.android.quickstep.util.ActivityInitListener; import com.android.quickstep.util.AnimatorControllerWithResistance; import com.android.quickstep.util.ContextInitListener; import com.android.quickstep.views.RecentsView; import com.android.quickstep.views.RecentsViewContainer; import com.android.systemui.shared.recents.model.ThumbnailData; Loading Loading @@ -134,7 +134,7 @@ public abstract class BaseContainerInterface<STATE_TYPE extends BaseState<STATE_ RecentsAnimationDeviceState deviceState, boolean activityVisible, Consumer<AnimatorControllerWithResistance> callback); public abstract ActivityInitListener createActivityInitListener( public abstract ContextInitListener createActivityInitListener( Predicate<Boolean> onInitListener); /** * Returns the expected STATE_TYPE from the provided GestureEndTarget. Loading
quickstep/src/com/android/quickstep/FallbackActivityInterface.java +4 −4 Original line number Diff line number Diff line Loading @@ -36,8 +36,8 @@ import com.android.launcher3.util.DisplayController; import com.android.quickstep.GestureState.GestureEndTarget; import com.android.quickstep.fallback.RecentsState; import com.android.quickstep.orientation.RecentsPagedOrientationHandler; import com.android.quickstep.util.ActivityInitListener; import com.android.quickstep.util.AnimatorControllerWithResistance; import com.android.quickstep.util.ContextInitListener; import com.android.quickstep.views.RecentsView; import java.util.function.Consumer; Loading Loading @@ -88,16 +88,16 @@ public final class FallbackActivityInterface extends } @Override public ActivityInitListener createActivityInitListener( public ContextInitListener<RecentsActivity> createActivityInitListener( Predicate<Boolean> onInitListener) { return new ActivityInitListener<>((activity, alreadyOnHome) -> return new ContextInitListener<>((activity, alreadyOnHome) -> onInitListener.test(alreadyOnHome), RecentsActivity.ACTIVITY_TRACKER); } @Nullable @Override public RecentsActivity getCreatedContainer() { return RecentsActivity.ACTIVITY_TRACKER.getCreatedActivity(); return RecentsActivity.ACTIVITY_TRACKER.getCreatedContext(); } @Override Loading