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

Commit 79e18bb5 authored by Nishant Singh's avatar Nishant Singh Committed by Android (Google) Code Review
Browse files

Merge "Clear persisted conf when app data is cleared."

parents cd29e965 f132eb3f
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -13302,7 +13302,7 @@ public class ActivityManagerService extends IActivityManager.Stub
                                        mAtmInternal.removeRecentTasksByPackageName(ssp, userId);
                                        mServices.forceStopPackageLocked(ssp, userId);
                                        mAtmInternal.onPackageUninstalled(ssp);
                                        mAtmInternal.onPackageUninstalled(ssp, userId);
                                        mBatteryStatsService.notePackageUninstalled(ssp);
                                    }
                                } else {
@@ -13387,7 +13387,7 @@ public class ActivityManagerService extends IActivityManager.Stub
                    Uri data = intent.getData();
                    String ssp;
                    if (data != null && (ssp = data.getSchemeSpecificPart()) != null) {
                        mAtmInternal.onPackageDataCleared(ssp);
                        mAtmInternal.onPackageDataCleared(ssp, userId);
                    }
                    break;
                }
+2 −2
Original line number Diff line number Diff line
@@ -342,8 +342,8 @@ public abstract class ActivityTaskManagerInternal {
    public abstract void onProcessMapped(int pid, WindowProcessController proc);
    public abstract void onProcessUnMapped(int pid);

    public abstract void onPackageDataCleared(String name);
    public abstract void onPackageUninstalled(String name);
    public abstract void onPackageDataCleared(String name, int userId);
    public abstract void onPackageUninstalled(String name, int userId);
    public abstract void onPackageAdded(String name, boolean replacing);
    public abstract void onPackageReplaced(ApplicationInfo aInfo);

+4 −3
Original line number Diff line number Diff line
@@ -5656,19 +5656,20 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
        }

        @Override
        public void onPackageDataCleared(String name) {
        public void onPackageDataCleared(String name, int userId) {
            synchronized (mGlobalLock) {
                mCompatModePackages.handlePackageDataClearedLocked(name);
                mAppWarnings.onPackageDataCleared(name);
                mPackageConfigPersister.onPackageDataCleared(name, userId);
            }
        }

        @Override
        public void onPackageUninstalled(String name) {
        public void onPackageUninstalled(String name, int userId) {
            synchronized (mGlobalLock) {
                mAppWarnings.onPackageUninstalled(name);
                mCompatModePackages.handlePackageUninstalledLocked(name);
                mPackageConfigPersister.onPackageUninstall(name);
                mPackageConfigPersister.onPackageUninstall(name, userId);
            }
        }

+9 −5
Original line number Diff line number Diff line
@@ -243,13 +243,17 @@ public class PackageConfigPersister {
    }

    @GuardedBy("mLock")
    void onPackageUninstall(String packageName) {
    void onPackageUninstall(String packageName, int userId) {
        synchronized (mLock) {
            for (int i = mModified.size() - 1; i >= 0; i--) {
                final int userId = mModified.keyAt(i);
            removePackage(packageName, userId);
        }
    }

    @GuardedBy("mLock")
    void onPackageDataCleared(String packageName, int userId) {
        synchronized (mLock) {
            removePackage(packageName, userId);
        }
    }

    private void removePackage(String packageName, int userId) {
+1 −1
Original line number Diff line number Diff line
@@ -623,7 +623,7 @@ public class ActivityTaskManagerServiceTests extends WindowTestsBase {
                wpcAfterConfigChange1.getConfiguration().getLocales());
        assertTrue(wpcAfterConfigChange1.getConfiguration().isNightModeActive());

        mAtm.mInternal.onPackageUninstalled(DEFAULT_PACKAGE_NAME);
        mAtm.mInternal.onPackageUninstalled(DEFAULT_PACKAGE_NAME, DEFAULT_USER_ID);

        WindowProcessController wpcAfterConfigChange2 = createWindowProcessController(
                DEFAULT_PACKAGE_NAME, DEFAULT_USER_ID);