mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-20 11:18:21 +00:00
Merge "Remove RecentTasksList implement of DesktopVisibilityController" into main
This commit is contained in:
committed by
Android (Google) Code Review
commit
51c9c19e89
@@ -38,8 +38,6 @@ import androidx.annotation.VisibleForTesting;
|
||||
import com.android.launcher3.statehandlers.DesktopVisibilityController;
|
||||
import com.android.launcher3.util.DaggerSingletonTracker;
|
||||
import com.android.launcher3.util.LooperExecutor;
|
||||
import com.android.launcher3.util.SplitConfigurationOptions;
|
||||
import com.android.launcher3.util.window.WindowManagerProxy;
|
||||
import com.android.quickstep.util.DesktopTask;
|
||||
import com.android.quickstep.util.ExternalDisplaysKt;
|
||||
import com.android.quickstep.util.GroupTask;
|
||||
@@ -50,7 +48,6 @@ import com.android.wm.shell.Flags;
|
||||
import com.android.wm.shell.recents.IRecentTasksListener;
|
||||
import com.android.wm.shell.shared.GroupedTaskInfo;
|
||||
import com.android.wm.shell.shared.desktopmode.DesktopModeStatus;
|
||||
import com.android.wm.shell.shared.split.SplitBounds;
|
||||
|
||||
import kotlin.collections.ArraysKt;
|
||||
import kotlin.collections.CollectionsKt;
|
||||
@@ -71,10 +68,7 @@ import java.util.stream.Collectors;
|
||||
/**
|
||||
* Manages the recent task list from the system, caching it as necessary.
|
||||
*/
|
||||
// TODO: b/401602554 - Consider letting [DesktopTasksController] notify [RecentTasksController] of
|
||||
// desk changes to trigger [IRecentTasksListener.onRecentTasksChanged()], instead of implementing
|
||||
// [DesktopVisibilityListener].
|
||||
public class RecentTasksList implements WindowManagerProxy.DesktopVisibilityListener {
|
||||
public class RecentTasksList {
|
||||
|
||||
private static final TaskLoadResult INVALID_RESULT = new TaskLoadResult(-1, false, 0);
|
||||
|
||||
@@ -82,7 +76,6 @@ public class RecentTasksList implements WindowManagerProxy.DesktopVisibilityList
|
||||
private final KeyguardManager mKeyguardManager;
|
||||
private final LooperExecutor mMainThreadExecutor;
|
||||
private final SystemUiProxy mSysUiProxy;
|
||||
private final DesktopVisibilityController mDesktopVisibilityController;
|
||||
|
||||
// The list change id, increments as the task list changes in the system
|
||||
private int mChangeId;
|
||||
@@ -101,14 +94,12 @@ public class RecentTasksList implements WindowManagerProxy.DesktopVisibilityList
|
||||
public RecentTasksList(Context context, LooperExecutor mainThreadExecutor,
|
||||
KeyguardManager keyguardManager, SystemUiProxy sysUiProxy,
|
||||
TopTaskTracker topTaskTracker,
|
||||
DesktopVisibilityController desktopVisibilityController,
|
||||
DaggerSingletonTracker tracker) {
|
||||
mContext = context;
|
||||
mMainThreadExecutor = mainThreadExecutor;
|
||||
mKeyguardManager = keyguardManager;
|
||||
mChangeId = 1;
|
||||
mSysUiProxy = sysUiProxy;
|
||||
mDesktopVisibilityController = desktopVisibilityController;
|
||||
final IRecentTasksListener recentTasksListener = new IRecentTasksListener.Stub() {
|
||||
@Override
|
||||
public void onRecentTasksChanged() throws RemoteException {
|
||||
@@ -161,13 +152,6 @@ public class RecentTasksList implements WindowManagerProxy.DesktopVisibilityList
|
||||
tracker.addCloseable(
|
||||
() -> mSysUiProxy.unregisterRecentTasksListener(recentTasksListener));
|
||||
|
||||
if (DesktopModeStatus.enableMultipleDesktops(mContext)) {
|
||||
mDesktopVisibilityController.registerDesktopVisibilityListener(
|
||||
this);
|
||||
tracker.addCloseable(
|
||||
() -> mDesktopVisibilityController.unregisterDesktopVisibilityListener(this));
|
||||
}
|
||||
|
||||
// We may receive onRunningTaskAppeared events later for tasks which have already been
|
||||
// included in the list returned by mSysUiProxy.getRunningTasks(), or may receive
|
||||
// onRunningTaskVanished for tasks not included in the returned list. These cases will be
|
||||
@@ -306,27 +290,6 @@ public class RecentTasksList implements WindowManagerProxy.DesktopVisibilityList
|
||||
return mRunningTasks;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDeskAdded(int displayId, int deskId) {
|
||||
onRecentTasksChanged();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDeskRemoved(int displayId, int deskId) {
|
||||
onRecentTasksChanged();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActiveDeskChanged(int displayId, int newActiveDesk, int oldActiveDesk) {
|
||||
// Should desk activation changes lead to the invalidation of the loaded tasks? The cases
|
||||
// are:
|
||||
// - Switching from one active desk to another.
|
||||
// - Switching from out of a desk session into an active desk.
|
||||
// - Switching from an active desk to a non-desk session.
|
||||
// These changes don't affect the list of desks, nor their contents, so let's ignore them
|
||||
// for now.
|
||||
}
|
||||
|
||||
private void onRunningTaskAppeared(RunningTaskInfo taskInfo) {
|
||||
// Make sure this task is not already in the list
|
||||
for (RunningTaskInfo existingTask : mRunningTasks) {
|
||||
|
||||
@@ -43,7 +43,6 @@ import com.android.launcher3.dagger.LauncherAppSingleton;
|
||||
import com.android.launcher3.graphics.ThemeManager;
|
||||
import com.android.launcher3.graphics.ThemeManager.ThemeChangeListener;
|
||||
import com.android.launcher3.icons.IconProvider;
|
||||
import com.android.launcher3.statehandlers.DesktopVisibilityController;
|
||||
import com.android.launcher3.util.DaggerSingletonObject;
|
||||
import com.android.launcher3.util.DaggerSingletonTracker;
|
||||
import com.android.launcher3.util.DisplayController;
|
||||
@@ -116,14 +115,12 @@ public class RecentsModel implements RecentTasksDataSource, TaskStackChangeListe
|
||||
DisplayController displayController,
|
||||
LockedUserState lockedUserState,
|
||||
Lazy<ThemeManager> themeManagerLazy,
|
||||
DesktopVisibilityController desktopVisibilityController,
|
||||
DaggerSingletonTracker tracker
|
||||
) {
|
||||
// Lazily inject the ThemeManager and access themeManager once the device is
|
||||
// unlocked. See b/393248495 for details.
|
||||
this(context, new IconProvider(context), systemUiProxy, topTaskTracker,
|
||||
displayController, lockedUserState, themeManagerLazy, desktopVisibilityController,
|
||||
tracker);
|
||||
displayController, lockedUserState, themeManagerLazy, tracker);
|
||||
}
|
||||
|
||||
@SuppressLint("VisibleForTests")
|
||||
@@ -134,7 +131,6 @@ public class RecentsModel implements RecentTasksDataSource, TaskStackChangeListe
|
||||
DisplayController displayController,
|
||||
LockedUserState lockedUserState,
|
||||
Lazy<ThemeManager> themeManagerLazy,
|
||||
DesktopVisibilityController desktopVisibilityController,
|
||||
DaggerSingletonTracker tracker) {
|
||||
this(context,
|
||||
new RecentTasksList(
|
||||
@@ -142,7 +138,7 @@ public class RecentsModel implements RecentTasksDataSource, TaskStackChangeListe
|
||||
MAIN_EXECUTOR,
|
||||
context.getSystemService(KeyguardManager.class),
|
||||
systemUiProxy,
|
||||
topTaskTracker, desktopVisibilityController, tracker),
|
||||
topTaskTracker, tracker),
|
||||
new TaskIconCache(context, RECENTS_MODEL_EXECUTOR, iconProvider, displayController),
|
||||
new TaskThumbnailCache(context, RECENTS_MODEL_EXECUTOR),
|
||||
iconProvider,
|
||||
|
||||
Reference in New Issue
Block a user