Loading quickstep/src/com/android/launcher3/LauncherLifecycleListener.java→quickstep/src/com/android/launcher3/LauncherInitListener.java +7 −14 Original line number Original line Diff line number Diff line /* /* * Copyright (C) 2022 The Android Open Source Project * Copyright (C) 2018 The Android Open Source Project * * * Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License. Loading @@ -16,23 +16,19 @@ package com.android.launcher3; package com.android.launcher3; import android.animation.AnimatorSet; import android.animation.AnimatorSet; import android.annotation.Nullable; import android.annotation.TargetApi; import android.annotation.TargetApi; import android.os.Build; import android.os.Build; import android.os.CancellationSignal; import android.os.CancellationSignal; import android.view.RemoteAnimationTarget; import android.view.RemoteAnimationTarget; import com.android.launcher3.uioverrides.QuickstepLauncher; import com.android.launcher3.uioverrides.QuickstepLauncher; import com.android.quickstep.util.ActivityLifecycleListener; import com.android.quickstep.util.ActivityInitListener; import com.android.quickstep.util.RemoteAnimationProvider; import com.android.quickstep.util.RemoteAnimationProvider; import java.util.function.BiPredicate; import java.util.function.BiPredicate; /** * {@link ActivityLifecycleListener} for the in-launcher recents. */ @TargetApi(Build.VERSION_CODES.P) @TargetApi(Build.VERSION_CODES.P) public class LauncherLifecycleListener extends ActivityLifecycleListener<Launcher> { public class LauncherInitListener extends ActivityInitListener<Launcher> { private RemoteAnimationProvider mRemoteAnimationProvider; private RemoteAnimationProvider mRemoteAnimationProvider; Loading @@ -40,16 +36,13 @@ public class LauncherLifecycleListener extends ActivityLifecycleListener<Launche * @param onInitListener a callback made when the activity is initialized. The callback should * @param onInitListener a callback made when the activity is initialized. The callback should * return true to continue receiving callbacks (ie. for if the activity is * return true to continue receiving callbacks (ie. for if the activity is * recreated). * recreated). * @param onDestroyListener a callback made when the activity is destroyed. */ */ public LauncherLifecycleListener( public LauncherInitListener(BiPredicate<Launcher, Boolean> onInitListener) { @Nullable BiPredicate<Launcher, Boolean> onInitListener, super(onInitListener, Launcher.ACTIVITY_TRACKER); @Nullable Runnable onDestroyListener) { super(onInitListener, onDestroyListener, Launcher.ACTIVITY_TRACKER); } } @Override @Override public boolean handleActivityReady(Launcher launcher, boolean alreadyOnHome) { public boolean handleInit(Launcher launcher, boolean alreadyOnHome) { if (mRemoteAnimationProvider != null) { if (mRemoteAnimationProvider != null) { QuickstepTransitionManager appTransitionManager = QuickstepTransitionManager appTransitionManager = ((QuickstepLauncher) launcher).getAppTransitionManager(); ((QuickstepLauncher) launcher).getAppTransitionManager(); Loading @@ -75,7 +68,7 @@ public class LauncherLifecycleListener extends ActivityLifecycleListener<Launche }, cancellationSignal); }, cancellationSignal); } } launcher.deferOverlayCallbacksUntilNextResumeOrStop(); launcher.deferOverlayCallbacksUntilNextResumeOrStop(); return super.handleActivityReady(launcher, alreadyOnHome); return super.handleInit(launcher, alreadyOnHome); } } @Override @Override Loading quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java +3 −10 Original line number Original line Diff line number Diff line Loading @@ -50,7 +50,6 @@ import static com.android.quickstep.GestureState.STATE_RECENTS_SCROLLING_FINISHE import static com.android.quickstep.MultiStateCallback.DEBUG_STATES; import static com.android.quickstep.MultiStateCallback.DEBUG_STATES; import static com.android.quickstep.util.ActiveGestureErrorDetector.GestureEvent.CANCEL_RECENTS_ANIMATION; import static com.android.quickstep.util.ActiveGestureErrorDetector.GestureEvent.CANCEL_RECENTS_ANIMATION; import static com.android.quickstep.util.ActiveGestureErrorDetector.GestureEvent.EXPECTING_TASK_APPEARED; import static com.android.quickstep.util.ActiveGestureErrorDetector.GestureEvent.EXPECTING_TASK_APPEARED; import static com.android.quickstep.util.ActiveGestureErrorDetector.GestureEvent.LAUNCHER_DESTROYED; import static com.android.quickstep.util.ActiveGestureErrorDetector.GestureEvent.ON_SETTLED_ON_END_TARGET; import static com.android.quickstep.util.ActiveGestureErrorDetector.GestureEvent.ON_SETTLED_ON_END_TARGET; import static com.android.quickstep.util.VibratorWrapper.OVERVIEW_HAPTIC; import static com.android.quickstep.util.VibratorWrapper.OVERVIEW_HAPTIC; import static com.android.quickstep.views.RecentsView.UPDATE_SYSUI_FLAGS_THRESHOLD; import static com.android.quickstep.views.RecentsView.UPDATE_SYSUI_FLAGS_THRESHOLD; Loading Loading @@ -114,7 +113,7 @@ import com.android.quickstep.GestureState.GestureEndTarget; import com.android.quickstep.RemoteTargetGluer.RemoteTargetHandle; import com.android.quickstep.RemoteTargetGluer.RemoteTargetHandle; import com.android.quickstep.util.ActiveGestureErrorDetector; import com.android.quickstep.util.ActiveGestureErrorDetector; import com.android.quickstep.util.ActiveGestureLog; import com.android.quickstep.util.ActiveGestureLog; import com.android.quickstep.util.ActivityLifecycleListener; import com.android.quickstep.util.ActivityInitListener; import com.android.quickstep.util.AnimatorControllerWithResistance; import com.android.quickstep.util.AnimatorControllerWithResistance; import com.android.quickstep.util.InputConsumerProxy; import com.android.quickstep.util.InputConsumerProxy; import com.android.quickstep.util.InputProxyHandlerFactory; import com.android.quickstep.util.InputProxyHandlerFactory; Loading Loading @@ -160,7 +159,7 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>, protected final BaseActivityInterface<S, T> mActivityInterface; protected final BaseActivityInterface<S, T> mActivityInterface; protected final InputConsumerProxy mInputConsumerProxy; protected final InputConsumerProxy mInputConsumerProxy; protected final ActivityLifecycleListener mActivityInitListener; protected final ActivityInitListener mActivityInitListener; // Callbacks to be made once the recents animation starts // Callbacks to be made once the recents animation starts private final ArrayList<Runnable> mRecentsAnimationStartCallbacks = new ArrayList<>(); private final ArrayList<Runnable> mRecentsAnimationStartCallbacks = new ArrayList<>(); private final OnScrollChangedListener mOnRecentsScrollListener = this::onRecentsViewScroll; private final OnScrollChangedListener mOnRecentsScrollListener = this::onRecentsViewScroll; Loading Loading @@ -330,8 +329,7 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>, InputConsumerController inputConsumer) { InputConsumerController inputConsumer) { super(context, deviceState, gestureState); super(context, deviceState, gestureState); mActivityInterface = gestureState.getActivityInterface(); mActivityInterface = gestureState.getActivityInterface(); mActivityInitListener = mActivityInterface.createActivityLifecycleListener( mActivityInitListener = mActivityInterface.createActivityInitListener(this::onActivityInit); this::onActivityInit, this::onActivityDestroy); mInputConsumerProxy = mInputConsumerProxy = new InputConsumerProxy(context, /* rotationSupplier = */ () -> { new InputConsumerProxy(context, /* rotationSupplier = */ () -> { if (mRecentsView == null) { if (mRecentsView == null) { Loading Loading @@ -522,11 +520,6 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>, return true; return true; } } private void onActivityDestroy() { ActiveGestureLog.INSTANCE.addLog("Launcher activity destroyed", LAUNCHER_DESTROYED); onGestureCancelled(); } /** /** * Return true if the window should be translated horizontally if the recents view scrolls * Return true if the window should be translated horizontally if the recents view scrolls */ */ Loading quickstep/src/com/android/quickstep/BaseActivityInterface.java +3 −12 Original line number Original line Diff line number Diff line Loading @@ -60,7 +60,7 @@ import com.android.launcher3.touch.PagedOrientationHandler; import com.android.launcher3.util.DisplayController; import com.android.launcher3.util.DisplayController; import com.android.launcher3.util.NavigationMode; import com.android.launcher3.util.NavigationMode; import com.android.launcher3.views.ScrimView; import com.android.launcher3.views.ScrimView; import com.android.quickstep.util.ActivityLifecycleListener; import com.android.quickstep.util.ActivityInitListener; import com.android.quickstep.util.AnimatorControllerWithResistance; import com.android.quickstep.util.AnimatorControllerWithResistance; import com.android.quickstep.views.RecentsView; import com.android.quickstep.views.RecentsView; import com.android.systemui.shared.recents.model.ThumbnailData; import com.android.systemui.shared.recents.model.ThumbnailData; Loading Loading @@ -123,17 +123,8 @@ public abstract class BaseActivityInterface<STATE_TYPE extends BaseState<STATE_T public abstract AnimationFactory prepareRecentsUI(RecentsAnimationDeviceState deviceState, public abstract AnimationFactory prepareRecentsUI(RecentsAnimationDeviceState deviceState, boolean activityVisible, Consumer<AnimatorControllerWithResistance> callback); boolean activityVisible, Consumer<AnimatorControllerWithResistance> callback); /** public abstract ActivityInitListener createActivityInitListener( * Creates a activity listener for activity initialized and/or destroyed. One or both of these Predicate<Boolean> onInitListener); * listeners must be provided. * * @param onInitListener a callback made when the activity is initialized. The callback should * return true to continue receiving callbacks (ie. for if the activity is * recreated). * @param onDestroyListener a callback made when the activity is destroyed. */ public abstract ActivityLifecycleListener createActivityLifecycleListener( @Nullable Predicate<Boolean> onInitListener, @Nullable Runnable onDestroyListener); /** /** * Sets a callback to be run when an activity launch happens while launcher is not yet resumed. * Sets a callback to be run when an activity launch happens while launcher is not yet resumed. Loading quickstep/src/com/android/quickstep/FallbackActivityInterface.java +5 −7 Original line number Original line Diff line number Diff line Loading @@ -36,7 +36,7 @@ import com.android.launcher3.touch.PagedOrientationHandler; import com.android.launcher3.util.DisplayController; import com.android.launcher3.util.DisplayController; import com.android.quickstep.GestureState.GestureEndTarget; import com.android.quickstep.GestureState.GestureEndTarget; import com.android.quickstep.fallback.RecentsState; import com.android.quickstep.fallback.RecentsState; import com.android.quickstep.util.ActivityLifecycleListener; import com.android.quickstep.util.ActivityInitListener; import com.android.quickstep.util.AnimatorControllerWithResistance; import com.android.quickstep.util.AnimatorControllerWithResistance; import com.android.quickstep.views.RecentsView; import com.android.quickstep.views.RecentsView; Loading Loading @@ -88,12 +88,10 @@ public final class FallbackActivityInterface extends } } @Override @Override public ActivityLifecycleListener createActivityLifecycleListener( public ActivityInitListener createActivityInitListener( @Nullable Predicate<Boolean> onInitListener, @Nullable Runnable onDestroyListener) { Predicate<Boolean> onInitListener) { return new ActivityLifecycleListener<>( return new ActivityInitListener<>((activity, alreadyOnHome) -> (activity, alreadyOnHome) -> onInitListener.test(alreadyOnHome), onInitListener.test(alreadyOnHome), RecentsActivity.ACTIVITY_TRACKER); onDestroyListener, RecentsActivity.ACTIVITY_TRACKER); } } @Nullable @Nullable Loading quickstep/src/com/android/quickstep/LauncherActivityInterface.java +5 −6 Original line number Original line Diff line number Diff line Loading @@ -37,7 +37,7 @@ import androidx.annotation.UiThread; import com.android.launcher3.DeviceProfile; import com.android.launcher3.DeviceProfile; import com.android.launcher3.Launcher; import com.android.launcher3.Launcher; import com.android.launcher3.LauncherAnimUtils; import com.android.launcher3.LauncherAnimUtils; import com.android.launcher3.LauncherLifecycleListener; import com.android.launcher3.LauncherInitListener; import com.android.launcher3.LauncherState; import com.android.launcher3.LauncherState; import com.android.launcher3.anim.PendingAnimation; import com.android.launcher3.anim.PendingAnimation; import com.android.launcher3.statehandlers.DepthController; import com.android.launcher3.statehandlers.DepthController; Loading @@ -49,7 +49,7 @@ import com.android.launcher3.uioverrides.QuickstepLauncher; import com.android.launcher3.util.DisplayController; import com.android.launcher3.util.DisplayController; import com.android.launcher3.util.NavigationMode; import com.android.launcher3.util.NavigationMode; import com.android.quickstep.GestureState.GestureEndTarget; import com.android.quickstep.GestureState.GestureEndTarget; import com.android.quickstep.util.ActivityLifecycleListener; import com.android.quickstep.util.ActivityInitListener; import com.android.quickstep.util.AnimatorControllerWithResistance; import com.android.quickstep.util.AnimatorControllerWithResistance; import com.android.quickstep.util.LayoutUtils; import com.android.quickstep.util.LayoutUtils; import com.android.quickstep.views.RecentsView; import com.android.quickstep.views.RecentsView; Loading Loading @@ -136,10 +136,9 @@ public final class LauncherActivityInterface extends } } @Override @Override public ActivityLifecycleListener createActivityLifecycleListener( public ActivityInitListener createActivityInitListener(Predicate<Boolean> onInitListener) { @Nullable Predicate<Boolean> onInitListener, @Nullable Runnable onDestroyListener) { return new LauncherInitListener((activity, alreadyOnHome) -> return new LauncherLifecycleListener((activity, alreadyOnHome) -> onInitListener.test(alreadyOnHome)); onInitListener.test(alreadyOnHome), onDestroyListener); } } @Override @Override Loading Loading
quickstep/src/com/android/launcher3/LauncherLifecycleListener.java→quickstep/src/com/android/launcher3/LauncherInitListener.java +7 −14 Original line number Original line Diff line number Diff line /* /* * Copyright (C) 2022 The Android Open Source Project * Copyright (C) 2018 The Android Open Source Project * * * Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License. Loading @@ -16,23 +16,19 @@ package com.android.launcher3; package com.android.launcher3; import android.animation.AnimatorSet; import android.animation.AnimatorSet; import android.annotation.Nullable; import android.annotation.TargetApi; import android.annotation.TargetApi; import android.os.Build; import android.os.Build; import android.os.CancellationSignal; import android.os.CancellationSignal; import android.view.RemoteAnimationTarget; import android.view.RemoteAnimationTarget; import com.android.launcher3.uioverrides.QuickstepLauncher; import com.android.launcher3.uioverrides.QuickstepLauncher; import com.android.quickstep.util.ActivityLifecycleListener; import com.android.quickstep.util.ActivityInitListener; import com.android.quickstep.util.RemoteAnimationProvider; import com.android.quickstep.util.RemoteAnimationProvider; import java.util.function.BiPredicate; import java.util.function.BiPredicate; /** * {@link ActivityLifecycleListener} for the in-launcher recents. */ @TargetApi(Build.VERSION_CODES.P) @TargetApi(Build.VERSION_CODES.P) public class LauncherLifecycleListener extends ActivityLifecycleListener<Launcher> { public class LauncherInitListener extends ActivityInitListener<Launcher> { private RemoteAnimationProvider mRemoteAnimationProvider; private RemoteAnimationProvider mRemoteAnimationProvider; Loading @@ -40,16 +36,13 @@ public class LauncherLifecycleListener extends ActivityLifecycleListener<Launche * @param onInitListener a callback made when the activity is initialized. The callback should * @param onInitListener a callback made when the activity is initialized. The callback should * return true to continue receiving callbacks (ie. for if the activity is * return true to continue receiving callbacks (ie. for if the activity is * recreated). * recreated). * @param onDestroyListener a callback made when the activity is destroyed. */ */ public LauncherLifecycleListener( public LauncherInitListener(BiPredicate<Launcher, Boolean> onInitListener) { @Nullable BiPredicate<Launcher, Boolean> onInitListener, super(onInitListener, Launcher.ACTIVITY_TRACKER); @Nullable Runnable onDestroyListener) { super(onInitListener, onDestroyListener, Launcher.ACTIVITY_TRACKER); } } @Override @Override public boolean handleActivityReady(Launcher launcher, boolean alreadyOnHome) { public boolean handleInit(Launcher launcher, boolean alreadyOnHome) { if (mRemoteAnimationProvider != null) { if (mRemoteAnimationProvider != null) { QuickstepTransitionManager appTransitionManager = QuickstepTransitionManager appTransitionManager = ((QuickstepLauncher) launcher).getAppTransitionManager(); ((QuickstepLauncher) launcher).getAppTransitionManager(); Loading @@ -75,7 +68,7 @@ public class LauncherLifecycleListener extends ActivityLifecycleListener<Launche }, cancellationSignal); }, cancellationSignal); } } launcher.deferOverlayCallbacksUntilNextResumeOrStop(); launcher.deferOverlayCallbacksUntilNextResumeOrStop(); return super.handleActivityReady(launcher, alreadyOnHome); return super.handleInit(launcher, alreadyOnHome); } } @Override @Override Loading
quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java +3 −10 Original line number Original line Diff line number Diff line Loading @@ -50,7 +50,6 @@ import static com.android.quickstep.GestureState.STATE_RECENTS_SCROLLING_FINISHE import static com.android.quickstep.MultiStateCallback.DEBUG_STATES; import static com.android.quickstep.MultiStateCallback.DEBUG_STATES; import static com.android.quickstep.util.ActiveGestureErrorDetector.GestureEvent.CANCEL_RECENTS_ANIMATION; import static com.android.quickstep.util.ActiveGestureErrorDetector.GestureEvent.CANCEL_RECENTS_ANIMATION; import static com.android.quickstep.util.ActiveGestureErrorDetector.GestureEvent.EXPECTING_TASK_APPEARED; import static com.android.quickstep.util.ActiveGestureErrorDetector.GestureEvent.EXPECTING_TASK_APPEARED; import static com.android.quickstep.util.ActiveGestureErrorDetector.GestureEvent.LAUNCHER_DESTROYED; import static com.android.quickstep.util.ActiveGestureErrorDetector.GestureEvent.ON_SETTLED_ON_END_TARGET; import static com.android.quickstep.util.ActiveGestureErrorDetector.GestureEvent.ON_SETTLED_ON_END_TARGET; import static com.android.quickstep.util.VibratorWrapper.OVERVIEW_HAPTIC; import static com.android.quickstep.util.VibratorWrapper.OVERVIEW_HAPTIC; import static com.android.quickstep.views.RecentsView.UPDATE_SYSUI_FLAGS_THRESHOLD; import static com.android.quickstep.views.RecentsView.UPDATE_SYSUI_FLAGS_THRESHOLD; Loading Loading @@ -114,7 +113,7 @@ import com.android.quickstep.GestureState.GestureEndTarget; import com.android.quickstep.RemoteTargetGluer.RemoteTargetHandle; import com.android.quickstep.RemoteTargetGluer.RemoteTargetHandle; import com.android.quickstep.util.ActiveGestureErrorDetector; import com.android.quickstep.util.ActiveGestureErrorDetector; import com.android.quickstep.util.ActiveGestureLog; import com.android.quickstep.util.ActiveGestureLog; import com.android.quickstep.util.ActivityLifecycleListener; import com.android.quickstep.util.ActivityInitListener; import com.android.quickstep.util.AnimatorControllerWithResistance; import com.android.quickstep.util.AnimatorControllerWithResistance; import com.android.quickstep.util.InputConsumerProxy; import com.android.quickstep.util.InputConsumerProxy; import com.android.quickstep.util.InputProxyHandlerFactory; import com.android.quickstep.util.InputProxyHandlerFactory; Loading Loading @@ -160,7 +159,7 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>, protected final BaseActivityInterface<S, T> mActivityInterface; protected final BaseActivityInterface<S, T> mActivityInterface; protected final InputConsumerProxy mInputConsumerProxy; protected final InputConsumerProxy mInputConsumerProxy; protected final ActivityLifecycleListener mActivityInitListener; protected final ActivityInitListener mActivityInitListener; // Callbacks to be made once the recents animation starts // Callbacks to be made once the recents animation starts private final ArrayList<Runnable> mRecentsAnimationStartCallbacks = new ArrayList<>(); private final ArrayList<Runnable> mRecentsAnimationStartCallbacks = new ArrayList<>(); private final OnScrollChangedListener mOnRecentsScrollListener = this::onRecentsViewScroll; private final OnScrollChangedListener mOnRecentsScrollListener = this::onRecentsViewScroll; Loading Loading @@ -330,8 +329,7 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>, InputConsumerController inputConsumer) { InputConsumerController inputConsumer) { super(context, deviceState, gestureState); super(context, deviceState, gestureState); mActivityInterface = gestureState.getActivityInterface(); mActivityInterface = gestureState.getActivityInterface(); mActivityInitListener = mActivityInterface.createActivityLifecycleListener( mActivityInitListener = mActivityInterface.createActivityInitListener(this::onActivityInit); this::onActivityInit, this::onActivityDestroy); mInputConsumerProxy = mInputConsumerProxy = new InputConsumerProxy(context, /* rotationSupplier = */ () -> { new InputConsumerProxy(context, /* rotationSupplier = */ () -> { if (mRecentsView == null) { if (mRecentsView == null) { Loading Loading @@ -522,11 +520,6 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>, return true; return true; } } private void onActivityDestroy() { ActiveGestureLog.INSTANCE.addLog("Launcher activity destroyed", LAUNCHER_DESTROYED); onGestureCancelled(); } /** /** * Return true if the window should be translated horizontally if the recents view scrolls * Return true if the window should be translated horizontally if the recents view scrolls */ */ Loading
quickstep/src/com/android/quickstep/BaseActivityInterface.java +3 −12 Original line number Original line Diff line number Diff line Loading @@ -60,7 +60,7 @@ import com.android.launcher3.touch.PagedOrientationHandler; import com.android.launcher3.util.DisplayController; import com.android.launcher3.util.DisplayController; import com.android.launcher3.util.NavigationMode; import com.android.launcher3.util.NavigationMode; import com.android.launcher3.views.ScrimView; import com.android.launcher3.views.ScrimView; import com.android.quickstep.util.ActivityLifecycleListener; import com.android.quickstep.util.ActivityInitListener; import com.android.quickstep.util.AnimatorControllerWithResistance; import com.android.quickstep.util.AnimatorControllerWithResistance; import com.android.quickstep.views.RecentsView; import com.android.quickstep.views.RecentsView; import com.android.systemui.shared.recents.model.ThumbnailData; import com.android.systemui.shared.recents.model.ThumbnailData; Loading Loading @@ -123,17 +123,8 @@ public abstract class BaseActivityInterface<STATE_TYPE extends BaseState<STATE_T public abstract AnimationFactory prepareRecentsUI(RecentsAnimationDeviceState deviceState, public abstract AnimationFactory prepareRecentsUI(RecentsAnimationDeviceState deviceState, boolean activityVisible, Consumer<AnimatorControllerWithResistance> callback); boolean activityVisible, Consumer<AnimatorControllerWithResistance> callback); /** public abstract ActivityInitListener createActivityInitListener( * Creates a activity listener for activity initialized and/or destroyed. One or both of these Predicate<Boolean> onInitListener); * listeners must be provided. * * @param onInitListener a callback made when the activity is initialized. The callback should * return true to continue receiving callbacks (ie. for if the activity is * recreated). * @param onDestroyListener a callback made when the activity is destroyed. */ public abstract ActivityLifecycleListener createActivityLifecycleListener( @Nullable Predicate<Boolean> onInitListener, @Nullable Runnable onDestroyListener); /** /** * Sets a callback to be run when an activity launch happens while launcher is not yet resumed. * Sets a callback to be run when an activity launch happens while launcher is not yet resumed. Loading
quickstep/src/com/android/quickstep/FallbackActivityInterface.java +5 −7 Original line number Original line Diff line number Diff line Loading @@ -36,7 +36,7 @@ import com.android.launcher3.touch.PagedOrientationHandler; import com.android.launcher3.util.DisplayController; import com.android.launcher3.util.DisplayController; import com.android.quickstep.GestureState.GestureEndTarget; import com.android.quickstep.GestureState.GestureEndTarget; import com.android.quickstep.fallback.RecentsState; import com.android.quickstep.fallback.RecentsState; import com.android.quickstep.util.ActivityLifecycleListener; import com.android.quickstep.util.ActivityInitListener; import com.android.quickstep.util.AnimatorControllerWithResistance; import com.android.quickstep.util.AnimatorControllerWithResistance; import com.android.quickstep.views.RecentsView; import com.android.quickstep.views.RecentsView; Loading Loading @@ -88,12 +88,10 @@ public final class FallbackActivityInterface extends } } @Override @Override public ActivityLifecycleListener createActivityLifecycleListener( public ActivityInitListener createActivityInitListener( @Nullable Predicate<Boolean> onInitListener, @Nullable Runnable onDestroyListener) { Predicate<Boolean> onInitListener) { return new ActivityLifecycleListener<>( return new ActivityInitListener<>((activity, alreadyOnHome) -> (activity, alreadyOnHome) -> onInitListener.test(alreadyOnHome), onInitListener.test(alreadyOnHome), RecentsActivity.ACTIVITY_TRACKER); onDestroyListener, RecentsActivity.ACTIVITY_TRACKER); } } @Nullable @Nullable Loading
quickstep/src/com/android/quickstep/LauncherActivityInterface.java +5 −6 Original line number Original line Diff line number Diff line Loading @@ -37,7 +37,7 @@ import androidx.annotation.UiThread; import com.android.launcher3.DeviceProfile; import com.android.launcher3.DeviceProfile; import com.android.launcher3.Launcher; import com.android.launcher3.Launcher; import com.android.launcher3.LauncherAnimUtils; import com.android.launcher3.LauncherAnimUtils; import com.android.launcher3.LauncherLifecycleListener; import com.android.launcher3.LauncherInitListener; import com.android.launcher3.LauncherState; import com.android.launcher3.LauncherState; import com.android.launcher3.anim.PendingAnimation; import com.android.launcher3.anim.PendingAnimation; import com.android.launcher3.statehandlers.DepthController; import com.android.launcher3.statehandlers.DepthController; Loading @@ -49,7 +49,7 @@ import com.android.launcher3.uioverrides.QuickstepLauncher; import com.android.launcher3.util.DisplayController; import com.android.launcher3.util.DisplayController; import com.android.launcher3.util.NavigationMode; import com.android.launcher3.util.NavigationMode; import com.android.quickstep.GestureState.GestureEndTarget; import com.android.quickstep.GestureState.GestureEndTarget; import com.android.quickstep.util.ActivityLifecycleListener; import com.android.quickstep.util.ActivityInitListener; import com.android.quickstep.util.AnimatorControllerWithResistance; import com.android.quickstep.util.AnimatorControllerWithResistance; import com.android.quickstep.util.LayoutUtils; import com.android.quickstep.util.LayoutUtils; import com.android.quickstep.views.RecentsView; import com.android.quickstep.views.RecentsView; Loading Loading @@ -136,10 +136,9 @@ public final class LauncherActivityInterface extends } } @Override @Override public ActivityLifecycleListener createActivityLifecycleListener( public ActivityInitListener createActivityInitListener(Predicate<Boolean> onInitListener) { @Nullable Predicate<Boolean> onInitListener, @Nullable Runnable onDestroyListener) { return new LauncherInitListener((activity, alreadyOnHome) -> return new LauncherLifecycleListener((activity, alreadyOnHome) -> onInitListener.test(alreadyOnHome)); onInitListener.test(alreadyOnHome), onDestroyListener); } } @Override @Override Loading