Loading quickstep/src/com/android/launcher3/QuickstepTransitionManager.java +21 −1 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.launcher3; import static android.app.WindowConfiguration.ACTIVITY_TYPE_HOME; import static android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD; import static android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW; import static android.app.role.RoleManager.ROLE_HOME; import static android.provider.Settings.Secure.LAUNCHER_TASKBAR_EDUCATION_SHOWING; import static android.view.RemoteAnimationTarget.MODE_CLOSING; import static android.view.RemoteAnimationTarget.MODE_OPENING; Loading Loading @@ -74,6 +75,7 @@ import android.animation.ObjectAnimator; import android.animation.ValueAnimator; import android.app.ActivityOptions; import android.app.WindowConfiguration; import android.app.role.RoleManager; import android.content.ComponentName; import android.content.Context; import android.content.res.Resources; Loading Loading @@ -1194,9 +1196,11 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener .registerRemoteTransition(mLauncherOpenTransition, homeCheck); if (mBackAnimationController != null) { mBackAnimationController.registerComponentCallbacks(); if (isHomeRoleHeld()) { mBackAnimationController.registerBackCallbacks(mHandler); } } } public void onActivityDestroyed() { unregisterRemoteAnimations(); Loading @@ -1207,6 +1211,22 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener .unregisterContentObserver(mAnimationRemovalObserver)); } /** * Called when the overview-target changes. Updates the back callback registration state. */ public void onOverviewTargetChange() { if (isHomeRoleHeld()) { mBackAnimationController.registerBackCallbacks(mHandler); } else { mBackAnimationController.unregisterBackCallbacks(); } } private boolean isHomeRoleHeld() { RoleManager roleManager = mLauncher.getSystemService(RoleManager.class); return roleManager == null || roleManager.isRoleHeld(ROLE_HOME); } private void unregisterRemoteAnimations() { if (SEPARATE_RECENTS_ACTIVITY.get()) { return; Loading quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java +14 −0 Original line number Diff line number Diff line Loading @@ -264,6 +264,8 @@ public class QuickstepLauncher extends Launcher implements RecentsViewContainer, private boolean mIsOverlayVisible; private final Runnable mOverviewTargetChangeRunnable = this::onOverviewTargetChanged; public static QuickstepLauncher getLauncher(Context context) { return fromContext(context); } Loading Loading @@ -550,6 +552,10 @@ public class QuickstepLauncher extends Launcher implements RecentsViewContainer, mUnfoldTransitionProgressProvider.destroy(); } TISBinder binder = mTISBindHelper.getBinder(); if (binder != null) { binder.unregisterOverviewTargetChangeListener(mOverviewTargetChangeRunnable); } mTISBindHelper.onDestroy(); if (mLauncherUnfoldAnimationController != null) { Loading Loading @@ -1025,12 +1031,20 @@ public class QuickstepLauncher extends Launcher implements RecentsViewContainer, } } private void onOverviewTargetChanged() { QuickstepTransitionManager transitionManager = getAppTransitionManager(); if (transitionManager != null) { transitionManager.onOverviewTargetChange(); } } private void onTISConnected(TISBinder binder) { TaskbarManager taskbarManager = mTISBindHelper.getTaskbarManager(); if (taskbarManager != null) { taskbarManager.setActivity(this); } mTISBindHelper.setPredictiveBackToHomeInProgress(mIsPredictiveBackToHomeInProgress); binder.registerOverviewTargetChangeListener(mOverviewTargetChangeRunnable); } @Override Loading quickstep/src/com/android/quickstep/TouchInteractionService.java +12 −7 Original line number Diff line number Diff line Loading @@ -137,6 +137,7 @@ import com.android.wm.shell.startingsurface.IStartingWindow; import java.io.FileDescriptor; import java.io.PrintWriter; import java.lang.ref.WeakReference; import java.util.HashSet; import java.util.Set; import java.util.function.Consumer; import java.util.function.Function; Loading @@ -163,7 +164,7 @@ public class TouchInteractionService extends Service { private final WeakReference<TouchInteractionService> mTis; @Nullable private Runnable mOnOverviewTargetChangeListener = null; private final Set<Runnable> mOnOverviewTargetChangeListeners = new HashSet<>(); private TISBinder(TouchInteractionService tis) { mTis = new WeakReference<>(tis); Loading Loading @@ -512,15 +513,19 @@ public class TouchInteractionService extends Service { tis -> tis.mDeviceState.setGestureBlockingTaskId(taskId)); } /** Sets a listener to be run on Overview Target updates. */ public void setOverviewTargetChangeListener(@Nullable Runnable listener) { mOnOverviewTargetChangeListener = listener; /** Registers a listener to be run on Overview Target updates. */ public void registerOverviewTargetChangeListener(@NonNull Runnable listener) { mOnOverviewTargetChangeListeners.add(listener); } /** Unregisters an OverviewTargetChange listener. */ public void unregisterOverviewTargetChangeListener(@NonNull Runnable listener) { mOnOverviewTargetChangeListeners.remove(listener); } protected void onOverviewTargetChange() { if (mOnOverviewTargetChangeListener != null) { mOnOverviewTargetChangeListener.run(); mOnOverviewTargetChangeListener = null; for (Runnable listener : mOnOverviewTargetChangeListeners) { listener.run(); } } Loading quickstep/src/com/android/quickstep/interaction/AllSetActivity.java +12 −2 Original line number Diff line number Diff line Loading @@ -121,6 +121,8 @@ public class AllSetActivity extends Activity { private TextView mHintView; private final Runnable mOverviewTargetChangeRunnable = this::onOverviewTargetChanged; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); Loading Loading @@ -285,7 +287,7 @@ public class AllSetActivity extends Activity { private void onTISConnected(TISBinder binder) { setSetupUIVisible(isResumed()); binder.setSwipeUpProxy(isResumed() ? this::createSwipeUpProxy : null); binder.setOverviewTargetChangeListener(binder::preloadOverviewForSUWAllSet); binder.registerOverviewTargetChangeListener(mOverviewTargetChangeRunnable); binder.preloadOverviewForSUWAllSet(); TaskbarManager taskbarManager = binder.getTaskbarManager(); if (taskbarManager != null) { Loading @@ -293,6 +295,14 @@ public class AllSetActivity extends Activity { } } private void onOverviewTargetChanged() { TISBinder binder = mTISBindHelper.getBinder(); if (binder != null) { binder.preloadOverviewForSUWAllSet(); binder.unregisterOverviewTargetChangeListener(mOverviewTargetChangeRunnable); } } @Override protected void onPause() { super.onPause(); Loading @@ -309,7 +319,7 @@ public class AllSetActivity extends Activity { if (binder != null) { setSetupUIVisible(false); binder.setSwipeUpProxy(null); binder.setOverviewTargetChangeListener(null); binder.unregisterOverviewTargetChangeListener(mOverviewTargetChangeRunnable); } } Loading Loading
quickstep/src/com/android/launcher3/QuickstepTransitionManager.java +21 −1 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.launcher3; import static android.app.WindowConfiguration.ACTIVITY_TYPE_HOME; import static android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD; import static android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW; import static android.app.role.RoleManager.ROLE_HOME; import static android.provider.Settings.Secure.LAUNCHER_TASKBAR_EDUCATION_SHOWING; import static android.view.RemoteAnimationTarget.MODE_CLOSING; import static android.view.RemoteAnimationTarget.MODE_OPENING; Loading Loading @@ -74,6 +75,7 @@ import android.animation.ObjectAnimator; import android.animation.ValueAnimator; import android.app.ActivityOptions; import android.app.WindowConfiguration; import android.app.role.RoleManager; import android.content.ComponentName; import android.content.Context; import android.content.res.Resources; Loading Loading @@ -1194,9 +1196,11 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener .registerRemoteTransition(mLauncherOpenTransition, homeCheck); if (mBackAnimationController != null) { mBackAnimationController.registerComponentCallbacks(); if (isHomeRoleHeld()) { mBackAnimationController.registerBackCallbacks(mHandler); } } } public void onActivityDestroyed() { unregisterRemoteAnimations(); Loading @@ -1207,6 +1211,22 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener .unregisterContentObserver(mAnimationRemovalObserver)); } /** * Called when the overview-target changes. Updates the back callback registration state. */ public void onOverviewTargetChange() { if (isHomeRoleHeld()) { mBackAnimationController.registerBackCallbacks(mHandler); } else { mBackAnimationController.unregisterBackCallbacks(); } } private boolean isHomeRoleHeld() { RoleManager roleManager = mLauncher.getSystemService(RoleManager.class); return roleManager == null || roleManager.isRoleHeld(ROLE_HOME); } private void unregisterRemoteAnimations() { if (SEPARATE_RECENTS_ACTIVITY.get()) { return; Loading
quickstep/src/com/android/launcher3/uioverrides/QuickstepLauncher.java +14 −0 Original line number Diff line number Diff line Loading @@ -264,6 +264,8 @@ public class QuickstepLauncher extends Launcher implements RecentsViewContainer, private boolean mIsOverlayVisible; private final Runnable mOverviewTargetChangeRunnable = this::onOverviewTargetChanged; public static QuickstepLauncher getLauncher(Context context) { return fromContext(context); } Loading Loading @@ -550,6 +552,10 @@ public class QuickstepLauncher extends Launcher implements RecentsViewContainer, mUnfoldTransitionProgressProvider.destroy(); } TISBinder binder = mTISBindHelper.getBinder(); if (binder != null) { binder.unregisterOverviewTargetChangeListener(mOverviewTargetChangeRunnable); } mTISBindHelper.onDestroy(); if (mLauncherUnfoldAnimationController != null) { Loading Loading @@ -1025,12 +1031,20 @@ public class QuickstepLauncher extends Launcher implements RecentsViewContainer, } } private void onOverviewTargetChanged() { QuickstepTransitionManager transitionManager = getAppTransitionManager(); if (transitionManager != null) { transitionManager.onOverviewTargetChange(); } } private void onTISConnected(TISBinder binder) { TaskbarManager taskbarManager = mTISBindHelper.getTaskbarManager(); if (taskbarManager != null) { taskbarManager.setActivity(this); } mTISBindHelper.setPredictiveBackToHomeInProgress(mIsPredictiveBackToHomeInProgress); binder.registerOverviewTargetChangeListener(mOverviewTargetChangeRunnable); } @Override Loading
quickstep/src/com/android/quickstep/TouchInteractionService.java +12 −7 Original line number Diff line number Diff line Loading @@ -137,6 +137,7 @@ import com.android.wm.shell.startingsurface.IStartingWindow; import java.io.FileDescriptor; import java.io.PrintWriter; import java.lang.ref.WeakReference; import java.util.HashSet; import java.util.Set; import java.util.function.Consumer; import java.util.function.Function; Loading @@ -163,7 +164,7 @@ public class TouchInteractionService extends Service { private final WeakReference<TouchInteractionService> mTis; @Nullable private Runnable mOnOverviewTargetChangeListener = null; private final Set<Runnable> mOnOverviewTargetChangeListeners = new HashSet<>(); private TISBinder(TouchInteractionService tis) { mTis = new WeakReference<>(tis); Loading Loading @@ -512,15 +513,19 @@ public class TouchInteractionService extends Service { tis -> tis.mDeviceState.setGestureBlockingTaskId(taskId)); } /** Sets a listener to be run on Overview Target updates. */ public void setOverviewTargetChangeListener(@Nullable Runnable listener) { mOnOverviewTargetChangeListener = listener; /** Registers a listener to be run on Overview Target updates. */ public void registerOverviewTargetChangeListener(@NonNull Runnable listener) { mOnOverviewTargetChangeListeners.add(listener); } /** Unregisters an OverviewTargetChange listener. */ public void unregisterOverviewTargetChangeListener(@NonNull Runnable listener) { mOnOverviewTargetChangeListeners.remove(listener); } protected void onOverviewTargetChange() { if (mOnOverviewTargetChangeListener != null) { mOnOverviewTargetChangeListener.run(); mOnOverviewTargetChangeListener = null; for (Runnable listener : mOnOverviewTargetChangeListeners) { listener.run(); } } Loading
quickstep/src/com/android/quickstep/interaction/AllSetActivity.java +12 −2 Original line number Diff line number Diff line Loading @@ -121,6 +121,8 @@ public class AllSetActivity extends Activity { private TextView mHintView; private final Runnable mOverviewTargetChangeRunnable = this::onOverviewTargetChanged; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); Loading Loading @@ -285,7 +287,7 @@ public class AllSetActivity extends Activity { private void onTISConnected(TISBinder binder) { setSetupUIVisible(isResumed()); binder.setSwipeUpProxy(isResumed() ? this::createSwipeUpProxy : null); binder.setOverviewTargetChangeListener(binder::preloadOverviewForSUWAllSet); binder.registerOverviewTargetChangeListener(mOverviewTargetChangeRunnable); binder.preloadOverviewForSUWAllSet(); TaskbarManager taskbarManager = binder.getTaskbarManager(); if (taskbarManager != null) { Loading @@ -293,6 +295,14 @@ public class AllSetActivity extends Activity { } } private void onOverviewTargetChanged() { TISBinder binder = mTISBindHelper.getBinder(); if (binder != null) { binder.preloadOverviewForSUWAllSet(); binder.unregisterOverviewTargetChangeListener(mOverviewTargetChangeRunnable); } } @Override protected void onPause() { super.onPause(); Loading @@ -309,7 +319,7 @@ public class AllSetActivity extends Activity { if (binder != null) { setSetupUIVisible(false); binder.setSwipeUpProxy(null); binder.setOverviewTargetChangeListener(null); binder.unregisterOverviewTargetChangeListener(mOverviewTargetChangeRunnable); } } Loading