diff options
| -rw-r--r-- | services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java | 19 | ||||
| -rw-r--r-- | services/companion/java/com/android/server/companion/CompanionDeviceShellCommand.java | 1 |
2 files changed, 20 insertions, 0 deletions
diff --git a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java index 6aea92fbe730..b2b55765f178 100644 --- a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java +++ b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java @@ -77,6 +77,7 @@ import android.content.pm.PackageInfo; import android.content.pm.PackageItemInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManagerInternal; +import android.content.pm.UserInfo; import android.net.MacAddress; import android.net.NetworkPolicyManager; import android.os.Binder; @@ -1359,6 +1360,17 @@ public class CompanionDeviceManagerService extends SystemService } /** + * This method must only be called from {@link CompanionDeviceShellCommand} for testing + * purposes only! + */ + void persistState() { + mUserPersistenceHandler.clearMessages(); + for (UserInfo user : mUserManager.getAliveUsers()) { + persistStateForUser(user.id); + } + } + + /** * This class is dedicated to handling requests to persist user state. */ @SuppressLint("HandlerLeak") @@ -1376,6 +1388,13 @@ public class CompanionDeviceManagerService extends SystemService } } + /** + * Clears *ALL* outstanding persist requests for *ALL* users. + */ + synchronized void clearMessages() { + removeCallbacksAndMessages(null); + } + @Override public void handleMessage(@NonNull Message msg) { final int userId = msg.what; diff --git a/services/companion/java/com/android/server/companion/CompanionDeviceShellCommand.java b/services/companion/java/com/android/server/companion/CompanionDeviceShellCommand.java index 5f46d5c4c4bf..9b2bd82fcfed 100644 --- a/services/companion/java/com/android/server/companion/CompanionDeviceShellCommand.java +++ b/services/companion/java/com/android/server/companion/CompanionDeviceShellCommand.java @@ -83,6 +83,7 @@ class CompanionDeviceShellCommand extends android.os.ShellCommand { } break; case "clear-association-memory-cache": { + mService.persistState(); mService.loadAssociationsFromDisk(); } break; |