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

Commit dc94888f authored by Winson Chung's avatar Winson Chung Committed by android-build-merger
Browse files

Merge "Fix regression in removing recent tasks by package name." into pi-dev

am: d4a95a16

Change-Id: I68b52212d6e27c57a2a951f62f931614ca61140f
parents 23a682bb d4a95a16
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -534,8 +534,8 @@ class RecentTasks {
            final TaskRecord tr = mTasks.get(i);
            final String taskPackageName =
                    tr.getBaseIntent().getComponent().getPackageName();
            if (tr.userId != userId) return;
            if (!taskPackageName.equals(packageName)) return;
            if (tr.userId != userId) continue;
            if (!taskPackageName.equals(packageName)) continue;

            mService.mStackSupervisor.removeTaskByIdLocked(tr.taskId, true, REMOVE_FROM_RECENTS,
                    "remove-package-task");
+23 −1
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@ import static org.mockito.Mockito.spy;

import static java.lang.Integer.MAX_VALUE;

import android.annotation.TestApi;
import android.app.ActivityManager;
import android.app.ActivityManager.RecentTaskInfo;
import android.app.ActivityManager.RunningTaskInfo;
@@ -593,6 +594,23 @@ public class RecentTasksTest extends ActivityTestsBase {
        assertNoTasksTrimmed();
    }

    @Test
    public void testRemovePackageByName() throws Exception {
        // Add a number of tasks with the same package name
        mRecentTasks.add(createTaskBuilder("com.android.pkg1", ".Task1").build());
        mRecentTasks.add(createTaskBuilder("com.android.pkg2", ".Task2").build());
        mRecentTasks.add(createTaskBuilder("com.android.pkg3", ".Task3").build());
        mRecentTasks.add(createTaskBuilder("com.android.pkg1", ".Task4").build());
        mRecentTasks.removeTasksByPackageName("com.android.pkg1", TEST_USER_0_ID);

        final ArrayList<TaskRecord> tasks = mRecentTasks.getRawTasks();
        for (int i = 0; i < tasks.size(); i++) {
            if (tasks.get(i).intent.getComponent().getPackageName().equals("com.android.pkg1")) {
                fail("Expected com.android.pkg1 tasks to be removed");
            }
        }
    }

    @Test
    public void testNotRecentsComponent_denyApiAccess() throws Exception {
        doReturn(PackageManager.PERMISSION_DENIED).when(mService).checkPermission(anyString(),
@@ -694,8 +712,12 @@ public class RecentTasksTest extends ActivityTestsBase {
    }

    private TaskBuilder createTaskBuilder(String className) {
        return createTaskBuilder(mContext.getPackageName(), className);
    }

    private TaskBuilder createTaskBuilder(String packageName, String className) {
        return new TaskBuilder(mService.mStackSupervisor)
                .setComponent(new ComponentName(mContext.getPackageName(), className))
                .setComponent(new ComponentName(packageName, className))
                .setStack(mStack)
                .setTaskId(LAST_TASK_ID++)
                .setUserId(TEST_USER_0_ID);