Loading quickstep/src/com/android/launcher3/taskbar/KeyboardQuickSwitchController.java +3 −3 Original line number Diff line number Diff line Loading @@ -148,7 +148,7 @@ public final class KeyboardQuickSwitchController implements }); } private void processLoadedTasks(ArrayList<GroupTask> tasks) { private void processLoadedTasks(List<GroupTask> tasks) { // Only store MAX_TASK tasks, from most to least recent Collections.reverse(tasks); mTasks = tasks.stream() Loading @@ -157,7 +157,7 @@ public final class KeyboardQuickSwitchController implements mNumHiddenTasks = Math.max(0, tasks.size() - MAX_TASKS); } private void processLoadedTasksOnDesktop(ArrayList<GroupTask> tasks) { private void processLoadedTasksOnDesktop(List<GroupTask> tasks) { // Find the single desktop task that contains a grouping of desktop tasks DesktopTask desktopTask = findDesktopTask(tasks); Loading @@ -173,7 +173,7 @@ public final class KeyboardQuickSwitchController implements } @Nullable private DesktopTask findDesktopTask(ArrayList<GroupTask> tasks) { private DesktopTask findDesktopTask(List<GroupTask> tasks) { return (DesktopTask) tasks.stream() .filter(t -> t instanceof DesktopTask) .findFirst() Loading quickstep/src/com/android/quickstep/RecentTasksList.java +3 −1 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import android.os.Process; import android.os.RemoteException; import android.util.SparseBooleanArray; import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import com.android.launcher3.util.LooperExecutor; Loading @@ -44,6 +45,7 @@ import com.android.wm.shell.util.GroupedRecentTaskInfo; import java.io.PrintWriter; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.function.Consumer; import java.util.function.Predicate; import java.util.stream.Collectors; Loading Loading @@ -137,7 +139,7 @@ public class RecentTasksList { * @return The change id of the current task list */ public synchronized int getTasks(boolean loadKeysOnly, Consumer<ArrayList<GroupTask>> callback, Predicate<GroupTask> filter) { @Nullable Consumer<List<GroupTask>> callback, Predicate<GroupTask> filter) { final int requestLoadId = mChangeId; if (mResultsUi.isValidForRequest(requestLoadId, loadKeysOnly)) { // The list is up to date, send the callback on the next frame, Loading quickstep/src/com/android/quickstep/RecentsModel.java +7 −4 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ import android.os.Build; import android.os.Process; import android.os.UserHandle; import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import com.android.launcher3.icons.IconProvider; Loading @@ -40,6 +41,7 @@ import com.android.launcher3.icons.IconProvider.IconChangeListener; import com.android.launcher3.util.Executors.SimpleThreadFactory; import com.android.launcher3.util.MainThreadInitializedObject; import com.android.launcher3.util.SafeCloseable; import com.android.quickstep.recents.data.RecentTasksDataSource; import com.android.quickstep.util.GroupTask; import com.android.quickstep.util.TaskVisualsChangeListener; import com.android.systemui.shared.recents.model.Task; Loading @@ -60,8 +62,8 @@ import java.util.function.Predicate; * Singleton class to load and manage recents model. */ @TargetApi(Build.VERSION_CODES.O) public class RecentsModel implements IconChangeListener, TaskStackChangeListener, TaskVisualsChangeListener, SafeCloseable { public class RecentsModel implements RecentTasksDataSource, IconChangeListener, TaskStackChangeListener, TaskVisualsChangeListener, SafeCloseable { // We do not need any synchronization for this variable as its only written on UI thread. public static final MainThreadInitializedObject<RecentsModel> INSTANCE = Loading Loading @@ -141,7 +143,8 @@ public class RecentsModel implements IconChangeListener, TaskStackChangeListener * always called on the UI thread. * @return the request id associated with this call. */ public int getTasks(Consumer<ArrayList<GroupTask>> callback) { @Override public int getTasks(@Nullable Consumer<List<GroupTask>> callback) { return mTaskList.getTasks(false /* loadKeysOnly */, callback, RecentsFilterState.DEFAULT_FILTER); } Loading @@ -155,7 +158,7 @@ public class RecentsModel implements IconChangeListener, TaskStackChangeListener * callback. * @return the request id associated with this call. */ public int getTasks(Consumer<ArrayList<GroupTask>> callback, Predicate<GroupTask> filter) { public int getTasks(@Nullable Consumer<List<GroupTask>> callback, Predicate<GroupTask> filter) { return mTaskList.getTasks(false /* loadKeysOnly */, callback, filter); } Loading quickstep/src/com/android/quickstep/TaskThumbnailCache.java +5 −2 Original line number Diff line number Diff line Loading @@ -21,11 +21,13 @@ import static com.android.launcher3.util.Executors.MAIN_EXECUTOR; import android.content.Context; import android.content.res.Resources; import androidx.annotation.NonNull; import androidx.annotation.VisibleForTesting; import com.android.launcher3.R; import com.android.launcher3.util.CancellableTask; import com.android.launcher3.util.Preconditions; import com.android.quickstep.task.thumbnail.data.TaskThumbnailDataSource; import com.android.quickstep.util.TaskKeyByLastActiveTimeCache; import com.android.quickstep.util.TaskKeyCache; import com.android.quickstep.util.TaskKeyLruCache; Loading @@ -38,7 +40,7 @@ import java.util.ArrayList; import java.util.concurrent.Executor; import java.util.function.Consumer; public class TaskThumbnailCache { public class TaskThumbnailCache implements TaskThumbnailDataSource { private final Executor mBgExecutor; private final TaskKeyCache<ThumbnailData> mCache; Loading Loading @@ -148,8 +150,9 @@ public class TaskThumbnailCache { * @param callback The callback to receive the task after its data has been populated. * @return A cancelable handle to the request */ @Override public CancellableTask<ThumbnailData> updateThumbnailInBackground( Task task, Consumer<ThumbnailData> callback) { Task task, @NonNull Consumer<ThumbnailData> callback) { Preconditions.assertUIThread(); boolean lowResolution = !mHighResLoadingState.isEnabled(); Loading quickstep/src/com/android/quickstep/fallback/FallbackRecentsView.java +2 −1 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ import com.android.systemui.shared.recents.model.Task; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class FallbackRecentsView extends RecentsView<RecentsActivity, RecentsState> implements StateListener<RecentsState> { Loading Loading @@ -179,7 +180,7 @@ public class FallbackRecentsView extends RecentsView<RecentsActivity, RecentsSta } @Override protected void applyLoadPlan(ArrayList<GroupTask> taskGroups) { protected void applyLoadPlan(List<GroupTask> taskGroups) { // When quick-switching on 3p-launcher, we add a "stub" tile corresponding to Launcher // as well. This tile is never shown as we have setCurrentTaskHidden, but allows use to // track the index of the next task appropriately, as if we are switching on any other app. Loading Loading
quickstep/src/com/android/launcher3/taskbar/KeyboardQuickSwitchController.java +3 −3 Original line number Diff line number Diff line Loading @@ -148,7 +148,7 @@ public final class KeyboardQuickSwitchController implements }); } private void processLoadedTasks(ArrayList<GroupTask> tasks) { private void processLoadedTasks(List<GroupTask> tasks) { // Only store MAX_TASK tasks, from most to least recent Collections.reverse(tasks); mTasks = tasks.stream() Loading @@ -157,7 +157,7 @@ public final class KeyboardQuickSwitchController implements mNumHiddenTasks = Math.max(0, tasks.size() - MAX_TASKS); } private void processLoadedTasksOnDesktop(ArrayList<GroupTask> tasks) { private void processLoadedTasksOnDesktop(List<GroupTask> tasks) { // Find the single desktop task that contains a grouping of desktop tasks DesktopTask desktopTask = findDesktopTask(tasks); Loading @@ -173,7 +173,7 @@ public final class KeyboardQuickSwitchController implements } @Nullable private DesktopTask findDesktopTask(ArrayList<GroupTask> tasks) { private DesktopTask findDesktopTask(List<GroupTask> tasks) { return (DesktopTask) tasks.stream() .filter(t -> t instanceof DesktopTask) .findFirst() Loading
quickstep/src/com/android/quickstep/RecentTasksList.java +3 −1 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import android.os.Process; import android.os.RemoteException; import android.util.SparseBooleanArray; import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import com.android.launcher3.util.LooperExecutor; Loading @@ -44,6 +45,7 @@ import com.android.wm.shell.util.GroupedRecentTaskInfo; import java.io.PrintWriter; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.function.Consumer; import java.util.function.Predicate; import java.util.stream.Collectors; Loading Loading @@ -137,7 +139,7 @@ public class RecentTasksList { * @return The change id of the current task list */ public synchronized int getTasks(boolean loadKeysOnly, Consumer<ArrayList<GroupTask>> callback, Predicate<GroupTask> filter) { @Nullable Consumer<List<GroupTask>> callback, Predicate<GroupTask> filter) { final int requestLoadId = mChangeId; if (mResultsUi.isValidForRequest(requestLoadId, loadKeysOnly)) { // The list is up to date, send the callback on the next frame, Loading
quickstep/src/com/android/quickstep/RecentsModel.java +7 −4 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ import android.os.Build; import android.os.Process; import android.os.UserHandle; import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import com.android.launcher3.icons.IconProvider; Loading @@ -40,6 +41,7 @@ import com.android.launcher3.icons.IconProvider.IconChangeListener; import com.android.launcher3.util.Executors.SimpleThreadFactory; import com.android.launcher3.util.MainThreadInitializedObject; import com.android.launcher3.util.SafeCloseable; import com.android.quickstep.recents.data.RecentTasksDataSource; import com.android.quickstep.util.GroupTask; import com.android.quickstep.util.TaskVisualsChangeListener; import com.android.systemui.shared.recents.model.Task; Loading @@ -60,8 +62,8 @@ import java.util.function.Predicate; * Singleton class to load and manage recents model. */ @TargetApi(Build.VERSION_CODES.O) public class RecentsModel implements IconChangeListener, TaskStackChangeListener, TaskVisualsChangeListener, SafeCloseable { public class RecentsModel implements RecentTasksDataSource, IconChangeListener, TaskStackChangeListener, TaskVisualsChangeListener, SafeCloseable { // We do not need any synchronization for this variable as its only written on UI thread. public static final MainThreadInitializedObject<RecentsModel> INSTANCE = Loading Loading @@ -141,7 +143,8 @@ public class RecentsModel implements IconChangeListener, TaskStackChangeListener * always called on the UI thread. * @return the request id associated with this call. */ public int getTasks(Consumer<ArrayList<GroupTask>> callback) { @Override public int getTasks(@Nullable Consumer<List<GroupTask>> callback) { return mTaskList.getTasks(false /* loadKeysOnly */, callback, RecentsFilterState.DEFAULT_FILTER); } Loading @@ -155,7 +158,7 @@ public class RecentsModel implements IconChangeListener, TaskStackChangeListener * callback. * @return the request id associated with this call. */ public int getTasks(Consumer<ArrayList<GroupTask>> callback, Predicate<GroupTask> filter) { public int getTasks(@Nullable Consumer<List<GroupTask>> callback, Predicate<GroupTask> filter) { return mTaskList.getTasks(false /* loadKeysOnly */, callback, filter); } Loading
quickstep/src/com/android/quickstep/TaskThumbnailCache.java +5 −2 Original line number Diff line number Diff line Loading @@ -21,11 +21,13 @@ import static com.android.launcher3.util.Executors.MAIN_EXECUTOR; import android.content.Context; import android.content.res.Resources; import androidx.annotation.NonNull; import androidx.annotation.VisibleForTesting; import com.android.launcher3.R; import com.android.launcher3.util.CancellableTask; import com.android.launcher3.util.Preconditions; import com.android.quickstep.task.thumbnail.data.TaskThumbnailDataSource; import com.android.quickstep.util.TaskKeyByLastActiveTimeCache; import com.android.quickstep.util.TaskKeyCache; import com.android.quickstep.util.TaskKeyLruCache; Loading @@ -38,7 +40,7 @@ import java.util.ArrayList; import java.util.concurrent.Executor; import java.util.function.Consumer; public class TaskThumbnailCache { public class TaskThumbnailCache implements TaskThumbnailDataSource { private final Executor mBgExecutor; private final TaskKeyCache<ThumbnailData> mCache; Loading Loading @@ -148,8 +150,9 @@ public class TaskThumbnailCache { * @param callback The callback to receive the task after its data has been populated. * @return A cancelable handle to the request */ @Override public CancellableTask<ThumbnailData> updateThumbnailInBackground( Task task, Consumer<ThumbnailData> callback) { Task task, @NonNull Consumer<ThumbnailData> callback) { Preconditions.assertUIThread(); boolean lowResolution = !mHighResLoadingState.isEnabled(); Loading
quickstep/src/com/android/quickstep/fallback/FallbackRecentsView.java +2 −1 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ import com.android.systemui.shared.recents.model.Task; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class FallbackRecentsView extends RecentsView<RecentsActivity, RecentsState> implements StateListener<RecentsState> { Loading Loading @@ -179,7 +180,7 @@ public class FallbackRecentsView extends RecentsView<RecentsActivity, RecentsSta } @Override protected void applyLoadPlan(ArrayList<GroupTask> taskGroups) { protected void applyLoadPlan(List<GroupTask> taskGroups) { // When quick-switching on 3p-launcher, we add a "stub" tile corresponding to Launcher // as well. This tile is never shown as we have setCurrentTaskHidden, but allows use to // track the index of the next task appropriately, as if we are switching on any other app. Loading