diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index 6e0b83f7e33cb..59f794b2bf368 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -5968,20 +5968,6 @@ public final class ActivityThread extends ClientTransactionHandler // Update all affected Resources objects to use new ResourcesImpl mResourcesManager.applyNewResourceDirsLocked(ai, oldResDirs); } - - ApplicationPackageManager.configurationChanged(); - - // Trigger a regular Configuration change event, only with a different assetsSeq number - // so that we actually call through to all components. - // TODO(adamlesinski): Change this to make use of ActivityManager's upcoming ability to - // store configurations per-process. - final Configuration config = mConfigurationController.getConfiguration(); - Configuration newConfig = new Configuration(); - newConfig.assetsSeq = (config != null ? config.assetsSeq : 0) + 1; - mConfigurationController.handleConfigurationChanged(newConfig, null /* compat */); - - // Preserve windows to avoid black flickers when overlays change. - relaunchAllActivities(true /* preserveWindows */, "handleApplicationInfoChanged"); } /** diff --git a/core/tests/coretests/src/android/app/activity/ActivityThreadTest.java b/core/tests/coretests/src/android/app/activity/ActivityThreadTest.java index 2e2e6bd075395..6f17ea9946998 100644 --- a/core/tests/coretests/src/android/app/activity/ActivityThreadTest.java +++ b/core/tests/coretests/src/android/app/activity/ActivityThreadTest.java @@ -184,15 +184,6 @@ public class ActivityThreadTest { }); } - @Test - public void testHandleActivity_assetsChanged() { - relaunchActivityAndAssertPreserveWindow(activity -> { - // Relaunches all activities. - activity.getActivityThread().handleApplicationInfoChanged( - activity.getApplicationInfo()); - }); - } - @Test public void testRecreateActivity() { relaunchActivityAndAssertPreserveWindow(Activity::recreate); diff --git a/services/core/java/com/android/server/am/ProcessList.java b/services/core/java/com/android/server/am/ProcessList.java index fae941d172a21..774825ee885ca 100644 --- a/services/core/java/com/android/server/am/ProcessList.java +++ b/services/core/java/com/android/server/am/ProcessList.java @@ -77,6 +77,7 @@ import android.content.IntentFilter; import android.content.pm.ApplicationInfo; import android.content.pm.IPackageManager; import android.content.pm.PackageManagerInternal; +import android.content.res.Configuration; import android.content.res.Resources; import android.graphics.Point; import android.net.LocalSocket; @@ -4643,6 +4644,12 @@ public final class ProcessList { } }); } + + // Update the global configuration and increase the assets sequence number. + Configuration currentConfig = mService.mActivityTaskManager.getConfiguration(); + Configuration newConfig = new Configuration(); + newConfig.assetsSeq = (currentConfig != null ? currentConfig.assetsSeq : 0) + 1; + mService.mActivityTaskManager.updateConfiguration(newConfig); } @GuardedBy("mService")