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

Commit d7889f5b authored by Wale Ogunwale's avatar Wale Ogunwale
Browse files

Removed references to ActivityTaskManagerService.getRecentTasks() from AMS (32/n)

Should only be access from ATMS side.
Bug: 80414790
Test: Existing tests pass

Change-Id: I9abb9065b55979b799bd749adc6780cb17488092
parent e217229d
Loading
Loading
Loading
Loading
+6 −10
Original line number Diff line number Diff line
@@ -3552,7 +3552,7 @@ public class ActivityManagerService extends IActivityManager.Stub
                if (appInfo != null) {
                    forceStopPackageLocked(packageName, appInfo.uid, "clear data");
                    mActivityTaskManager.getRecentTasks().removeTasksByPackageName(packageName, resolvedUserId);
                    mAtmInternal.removeRecentTasksByPackageName(packageName, resolvedUserId);
                }
            }
@@ -13971,16 +13971,14 @@ public class ActivityManagerService extends IActivityManager.Stub
                                    forceStopPackageLocked(list[i], -1, false, true, true,
                                            false, false, userId, "storage unmount");
                                }
                                mActivityTaskManager.getRecentTasks().cleanupLocked(
                                        UserHandle.USER_ALL);
                                mAtmInternal.cleanupRecentTasksForUser(UserHandle.USER_ALL);
                                sendPackageBroadcastLocked(
                                        ApplicationThreadConstants.EXTERNAL_STORAGE_UNAVAILABLE,
                                        list, userId);
                            }
                            break;
                        case Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE:
                            mActivityTaskManager.getRecentTasks().cleanupLocked(
                                    UserHandle.USER_ALL);
                            mAtmInternal.cleanupRecentTasksForUser(UserHandle.USER_ALL);
                            break;
                        case Intent.ACTION_PACKAGE_REMOVED:
                        case Intent.ACTION_PACKAGE_CHANGED:
@@ -14013,7 +14011,7 @@ public class ActivityManagerService extends IActivityManager.Stub
                                        mUgmInternal.removeUriPermissionsForPackage(ssp, userId,
                                                true, false);
                                        mActivityTaskManager.getRecentTasks().removeTasksByPackageName(ssp, userId);
                                        mAtmInternal.removeRecentTasksByPackageName(ssp, userId);
                                        mServices.forceStopPackageLocked(ssp, userId);
                                        mAtmInternal.onPackageUninstalled(ssp);
@@ -14043,10 +14041,8 @@ public class ActivityManagerService extends IActivityManager.Stub
                            final int userHandle = intent.getIntExtra(
                                    Intent.EXTRA_USER_HANDLE, UserHandle.USER_NULL);
                            synchronized(ActivityManagerService.this) {
                                mActivityTaskManager.getRecentTasks().onPackagesSuspendedChanged(
                                        packageNames, suspended, userHandle);
                            }
                            mAtmInternal.onPackagesSuspendedChanged(packageNames, suspended,
                                    userHandle);
                            break;
                    }
                    break;
+1 −1
Original line number Diff line number Diff line
@@ -2736,7 +2736,7 @@ final class ActivityManagerShellCommand extends ShellCommand {
    int runWrite(PrintWriter pw) {
        mInternal.enforceCallingPermission(android.Manifest.permission.SET_ACTIVITY_WATCHER,
                "registerUidObserver()");
        mInternal.mActivityTaskManager.getRecentTasks().flush();
        mInternal.mAtmInternal.flushRecentTasks();
        pw.println("All tasks persisted.");
        return 0;
    }
+33 −0
Original line number Diff line number Diff line
@@ -6708,5 +6708,38 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
                return false;
            }
        }

        @Override
        public void removeRecentTasksByPackageName(String packageName, int userId) {
            synchronized (mGlobalLock) {
                mRecentTasks.removeTasksByPackageName(packageName, userId);
            }
        }

        @Override
        public void cleanupRecentTasksForUser(int userId) {
            synchronized (mGlobalLock) {
                mRecentTasks.cleanupLocked(userId);
            }
        }

        @Override
        public void loadRecentTasksForUser(int userId) {
            synchronized (mGlobalLock) {
                mRecentTasks.loadUserRecentsLocked(userId);
            }
        }

        @Override
        public void onPackagesSuspendedChanged(String[] packages, boolean suspended, int userId) {
            synchronized (mGlobalLock) {
                mRecentTasks.onPackagesSuspendedChanged(packages, suspended, userId);
            }
        }

        @Override
        public void flushRecentTasks() {
            mRecentTasks.flush();
        }
    }
}
+2 −2
Original line number Diff line number Diff line
@@ -2200,7 +2200,7 @@ class UserController implements Handler.Callback {

        void loadUserRecents(int userId) {
            synchronized (mService) {
                mService.mActivityTaskManager.getRecentTasks().loadUserRecentsLocked(userId);
                mService.mAtmInternal.loadRecentTasksForUser(userId);
            }
        }

@@ -2260,7 +2260,7 @@ class UserController implements Handler.Callback {
        }

        protected boolean isCallerRecents(int callingUid) {
            return mService.mActivityTaskManager.getRecentTasks().isCallerRecents(callingUid);
            return mService.mAtmInternal.isCallerRecents(callingUid);
        }
    }
}
+8 −0
Original line number Diff line number Diff line
@@ -452,4 +452,12 @@ public abstract class ActivityTaskManagerInternal {
    public abstract boolean handleAppCrashInActivityController(String processName, int pid,
            String shortMsg, String longMsg, long timeMillis, String stackTrace,
            Runnable killCrashingAppCallback);

    public abstract void removeRecentTasksByPackageName(String packageName, int userId);
    public abstract void cleanupRecentTasksForUser(int userId);
    public abstract void loadRecentTasksForUser(int userId);
    public abstract void onPackagesSuspendedChanged(String[] packages, boolean suspended,
            int userId);
    /** Flush recent tasks to disk. */
    public abstract void flushRecentTasks();
}