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

Commit d4a95a16 authored by Winson Chung's avatar Winson Chung Committed by Android (Google) Code Review
Browse files

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

parents 445a6c6b 99720d48
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);