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

Commit c948537a authored by Orhan Uysal's avatar Orhan Uysal
Browse files

Use RecentTasksListener to trigger TopTaskTracker

Currently launcher gets task stack updates through WM core. Ideally we
would like to migrate into a model where launcher gets these updates
through shell instead.

Test: Manually check that the correct task info is delivered to launcher
from shell
Bug: 341932484
Bug: 344684650
Flag: NONE Just adding a listener, no logic added

Change-Id: Iaf534a4bfee968138d4a4ff282a66e62759af2c0
parent c22a8e74
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -75,7 +75,7 @@ public class RecentTasksList {
    private ArrayList<ActivityManager.RunningTaskInfo> mRunningTasks;

    public RecentTasksList(LooperExecutor mainThreadExecutor, KeyguardManager keyguardManager,
            SystemUiProxy sysUiProxy) {
            SystemUiProxy sysUiProxy, TopTaskTracker topTaskTracker) {
        mMainThreadExecutor = mainThreadExecutor;
        mKeyguardManager = keyguardManager;
        mChangeId = 1;
@@ -106,6 +106,13 @@ public class RecentTasksList {
                    RecentTasksList.this.onRunningTaskChanged(taskInfo);
                });
            }

            @Override
            public void onTaskMovedToFront(ActivityManager.RunningTaskInfo taskInfo) {
                mMainThreadExecutor.execute(() -> {
                    topTaskTracker.onTaskMovedToFront(taskInfo);
                });
            }
        });
        // We may receive onRunningTaskAppeared events later for tasks which have already been
        // included in the list returned by mSysUiProxy.getRunningTasks(), or may receive
+2 −1
Original line number Diff line number Diff line
@@ -90,7 +90,8 @@ public class RecentsModel implements RecentTasksDataSource, IconChangeListener,
        this(context,
                new RecentTasksList(MAIN_EXECUTOR,
                        context.getSystemService(KeyguardManager.class),
                        SystemUiProxy.INSTANCE.get(context)),
                        SystemUiProxy.INSTANCE.get(context),
                        TopTaskTracker.INSTANCE.get(context)),
                new TaskIconCache(context, RECENTS_MODEL_EXECUTOR, iconProvider),
                new TaskThumbnailCache(context, RECENTS_MODEL_EXECUTOR),
                iconProvider,
+3 −1
Original line number Diff line number Diff line
@@ -48,6 +48,8 @@ public class RecentTasksListTest {

    @Mock
    private SystemUiProxy mockSystemUiProxy;
    @Mock
    private TopTaskTracker mTopTaskTracker;

    // Class under test
    private RecentTasksList mRecentTasksList;
@@ -58,7 +60,7 @@ public class RecentTasksListTest {
        LooperExecutor mockMainThreadExecutor = mock(LooperExecutor.class);
        KeyguardManager mockKeyguardManager = mock(KeyguardManager.class);
        mRecentTasksList = new RecentTasksList(mockMainThreadExecutor, mockKeyguardManager,
                mockSystemUiProxy);
                mockSystemUiProxy, mTopTaskTracker);
    }

    @Test
+3 −3

File changed.

Contains only whitespace changes.