Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2744acfb authored by Gustav Sennton's avatar Gustav Sennton
Browse files

Implement IRecentTasksListener.onRunningTaskChanged()

Bug: 332504528
Test: N/A
Flag: NA
Change-Id: I7c98eb524bb7544a715f5b8226d3c28d05f72913
parent 58d913d9
Loading
Loading
Loading
Loading
+22 −1
Original line number Diff line number Diff line
@@ -97,6 +97,13 @@ public class RecentTasksList {
                    RecentTasksList.this.onRunningTaskVanished(taskInfo);
                });
            }

            @Override
            public void onRunningTaskChanged(ActivityManager.RunningTaskInfo taskInfo) {
                mMainThreadExecutor.execute(() -> {
                    RecentTasksList.this.onRunningTaskChanged(taskInfo);
                });
            }
        });
        // We may receive onRunningTaskAppeared events later for tasks which have already been
        // included in the list returned by mSysUiProxy.getRunningTasks(), or may receive
@@ -244,6 +251,20 @@ public class RecentTasksList {
        }
    }

    private void onRunningTaskChanged(ActivityManager.RunningTaskInfo taskInfo) {
        // Find the task from the list of running tasks, if it exists
        for (ActivityManager.RunningTaskInfo existingTask : mRunningTasks) {
            if (existingTask.taskId != taskInfo.taskId) continue;

            mRunningTasks.remove(existingTask);
            mRunningTasks.add(taskInfo);
            if (mRunningTasksListener != null) {
                mRunningTasksListener.onRunningTasksChanged();
            }
            return;
        }
    }

    /**
     * Loads and creates a list of all the recent tasks.
     */