Loading go/quickstep/src/com/android/quickstep/TaskActionController.java +6 −5 Original line number Diff line number Diff line Loading @@ -42,7 +42,7 @@ public final class TaskActionController { * @param viewHolder the task view holder to launch */ public void launchTask(TaskHolder viewHolder) { if (viewHolder.getTask() == null) { if (!viewHolder.getTask().isPresent()) { return; } TaskItemView itemView = (TaskItemView) (viewHolder.itemView); Loading @@ -53,8 +53,9 @@ public final class TaskActionController { int height = v.getMeasuredHeight(); ActivityOptions opts = ActivityOptions.makeClipRevealAnimation(v, left, top, width, height); ActivityManagerWrapper.getInstance().startActivityFromRecentsAsync(viewHolder.getTask().key, opts, null /* resultCallback */, null /* resultCallbackHandler */); ActivityManagerWrapper.getInstance().startActivityFromRecentsAsync( viewHolder.getTask().get().key, opts, null /* resultCallback */, null /* resultCallbackHandler */); } /** Loading @@ -63,11 +64,11 @@ public final class TaskActionController { * @param viewHolder the task view holder to remove */ public void removeTask(TaskHolder viewHolder) { if (viewHolder.getTask() == null) { if (!viewHolder.getTask().isPresent()) { return; } int position = viewHolder.getAdapterPosition(); Task task = viewHolder.getTask(); Task task = viewHolder.getTask().get(); ActivityManagerWrapper.getInstance().removeTask(task.key.id); mLoader.removeTask(task); mAdapter.notifyItemRemoved(position); Loading go/quickstep/src/com/android/quickstep/TaskAdapter.java +3 −2 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import com.android.systemui.shared.recents.model.Task; import java.util.List; import java.util.Objects; import java.util.Optional; /** * Recycler view adapter that dynamically inflates and binds {@link TaskHolder} instances with the Loading Loading @@ -109,13 +110,13 @@ public final class TaskAdapter extends Adapter<TaskHolder> { holder.bindTask(task, willAnimate /* willAnimate */); mLoader.loadTaskIconAndLabel(task, () -> { // Ensure holder still has the same task. if (Objects.equals(task, holder.getTask())) { if (Objects.equals(Optional.of(task), holder.getTask())) { holder.getTaskItemView().setIcon(task.icon); holder.getTaskItemView().setLabel(task.titleDescription); } }); mLoader.loadTaskThumbnail(task, () -> { if (Objects.equals(task, holder.getTask())) { if (Objects.equals(Optional.of(task), holder.getTask())) { holder.getTaskItemView().setThumbnail(task.thumbnail.thumbnail); } }); Loading go/quickstep/src/com/android/quickstep/TaskHolder.java +4 −3 Original line number Diff line number Diff line Loading @@ -18,12 +18,13 @@ package com.android.quickstep; import android.graphics.Bitmap; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView.ViewHolder; import com.android.quickstep.views.TaskItemView; import com.android.systemui.shared.recents.model.Task; import java.util.Optional; /** * A recycler view holder that holds the task view and binds {@link Task} content (app title, icon, * etc.) to the view. Loading Loading @@ -81,7 +82,7 @@ public final class TaskHolder extends ViewHolder { * * @return the current task */ public @Nullable Task getTask() { return mTask; public Optional<Task> getTask() { return Optional.ofNullable(mTask); } } go/quickstep/src/com/android/quickstep/views/IconRecentsView.java +5 −2 Original line number Diff line number Diff line Loading @@ -61,6 +61,8 @@ import com.android.quickstep.TaskListLoader; import com.android.quickstep.TaskSwipeCallback; import com.android.systemui.shared.recents.model.Task; import java.util.Optional; /** * Root view for the icon recents view. Acts as the main interface to the rest of the Launcher code * base. Loading Loading @@ -120,8 +122,9 @@ public final class IconRecentsView extends FrameLayout { TaskItemView[] itemViews = getTaskViews(); for (TaskItemView taskView : itemViews) { TaskHolder taskHolder = (TaskHolder) mTaskRecyclerView.getChildViewHolder(taskView); Task task = taskHolder.getTask(); if (taskHolder.getTask().key.id == taskId) { Optional<Task> optTask = taskHolder.getTask(); if (optTask.filter(task -> task.key.id == taskId).isPresent()) { Task task = optTask.get(); // Update thumbnail on the task. task.thumbnail = thumbnailData; taskView.setThumbnail(thumbnailData.thumbnail); Loading Loading
go/quickstep/src/com/android/quickstep/TaskActionController.java +6 −5 Original line number Diff line number Diff line Loading @@ -42,7 +42,7 @@ public final class TaskActionController { * @param viewHolder the task view holder to launch */ public void launchTask(TaskHolder viewHolder) { if (viewHolder.getTask() == null) { if (!viewHolder.getTask().isPresent()) { return; } TaskItemView itemView = (TaskItemView) (viewHolder.itemView); Loading @@ -53,8 +53,9 @@ public final class TaskActionController { int height = v.getMeasuredHeight(); ActivityOptions opts = ActivityOptions.makeClipRevealAnimation(v, left, top, width, height); ActivityManagerWrapper.getInstance().startActivityFromRecentsAsync(viewHolder.getTask().key, opts, null /* resultCallback */, null /* resultCallbackHandler */); ActivityManagerWrapper.getInstance().startActivityFromRecentsAsync( viewHolder.getTask().get().key, opts, null /* resultCallback */, null /* resultCallbackHandler */); } /** Loading @@ -63,11 +64,11 @@ public final class TaskActionController { * @param viewHolder the task view holder to remove */ public void removeTask(TaskHolder viewHolder) { if (viewHolder.getTask() == null) { if (!viewHolder.getTask().isPresent()) { return; } int position = viewHolder.getAdapterPosition(); Task task = viewHolder.getTask(); Task task = viewHolder.getTask().get(); ActivityManagerWrapper.getInstance().removeTask(task.key.id); mLoader.removeTask(task); mAdapter.notifyItemRemoved(position); Loading
go/quickstep/src/com/android/quickstep/TaskAdapter.java +3 −2 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import com.android.systemui.shared.recents.model.Task; import java.util.List; import java.util.Objects; import java.util.Optional; /** * Recycler view adapter that dynamically inflates and binds {@link TaskHolder} instances with the Loading Loading @@ -109,13 +110,13 @@ public final class TaskAdapter extends Adapter<TaskHolder> { holder.bindTask(task, willAnimate /* willAnimate */); mLoader.loadTaskIconAndLabel(task, () -> { // Ensure holder still has the same task. if (Objects.equals(task, holder.getTask())) { if (Objects.equals(Optional.of(task), holder.getTask())) { holder.getTaskItemView().setIcon(task.icon); holder.getTaskItemView().setLabel(task.titleDescription); } }); mLoader.loadTaskThumbnail(task, () -> { if (Objects.equals(task, holder.getTask())) { if (Objects.equals(Optional.of(task), holder.getTask())) { holder.getTaskItemView().setThumbnail(task.thumbnail.thumbnail); } }); Loading
go/quickstep/src/com/android/quickstep/TaskHolder.java +4 −3 Original line number Diff line number Diff line Loading @@ -18,12 +18,13 @@ package com.android.quickstep; import android.graphics.Bitmap; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView.ViewHolder; import com.android.quickstep.views.TaskItemView; import com.android.systemui.shared.recents.model.Task; import java.util.Optional; /** * A recycler view holder that holds the task view and binds {@link Task} content (app title, icon, * etc.) to the view. Loading Loading @@ -81,7 +82,7 @@ public final class TaskHolder extends ViewHolder { * * @return the current task */ public @Nullable Task getTask() { return mTask; public Optional<Task> getTask() { return Optional.ofNullable(mTask); } }
go/quickstep/src/com/android/quickstep/views/IconRecentsView.java +5 −2 Original line number Diff line number Diff line Loading @@ -61,6 +61,8 @@ import com.android.quickstep.TaskListLoader; import com.android.quickstep.TaskSwipeCallback; import com.android.systemui.shared.recents.model.Task; import java.util.Optional; /** * Root view for the icon recents view. Acts as the main interface to the rest of the Launcher code * base. Loading Loading @@ -120,8 +122,9 @@ public final class IconRecentsView extends FrameLayout { TaskItemView[] itemViews = getTaskViews(); for (TaskItemView taskView : itemViews) { TaskHolder taskHolder = (TaskHolder) mTaskRecyclerView.getChildViewHolder(taskView); Task task = taskHolder.getTask(); if (taskHolder.getTask().key.id == taskId) { Optional<Task> optTask = taskHolder.getTask(); if (optTask.filter(task -> task.key.id == taskId).isPresent()) { Task task = optTask.get(); // Update thumbnail on the task. task.thumbnail = thumbnailData; taskView.setThumbnail(thumbnailData.thumbnail); Loading