diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index b6dc3de908f04..c01766fe1f359 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -19397,6 +19397,13 @@ public class ActivityManagerService extends IActivityManager.Stub } } + /** + * Force the settings cache to be loaded + */ + void refreshSettingsCache() { + mCoreSettingsObserver.onChange(true); + } + /** * Kill processes for the user with id userId and that depend on the package named packageName */ diff --git a/services/core/java/com/android/server/am/ActivityManagerShellCommand.java b/services/core/java/com/android/server/am/ActivityManagerShellCommand.java index 53a967b0ce50f..73ca31e8d5ff4 100644 --- a/services/core/java/com/android/server/am/ActivityManagerShellCommand.java +++ b/services/core/java/com/android/server/am/ActivityManagerShellCommand.java @@ -306,6 +306,8 @@ final class ActivityManagerShellCommand extends ShellCommand { return runWaitForBroadcastIdle(pw); case "compat": return runCompat(pw); + case "refresh-settings-cache": + return runRefreshSettingsCache(); default: return handleDefaultCommands(cmd); } @@ -2940,6 +2942,11 @@ final class ActivityManagerShellCommand extends ShellCommand { return 0; } + int runRefreshSettingsCache() throws RemoteException { + mInternal.refreshSettingsCache(); + return 0; + } + private int runCompat(PrintWriter pw) throws RemoteException { final PlatformCompat platformCompat = (PlatformCompat) ServiceManager.getService(Context.PLATFORM_COMPAT_SERVICE);