diff options
| author | 2021-02-08 16:34:41 +0000 | |
|---|---|---|
| committer | 2021-02-08 16:34:41 +0000 | |
| commit | 2c3254c775cc117222e9aec71f7eee5556e049d0 (patch) | |
| tree | dc5e22bc759a5121d1c86420d5592c33d617168a | |
| parent | aa3477c5a8696fa25667445c051784ec98a05bc2 (diff) | |
| parent | 4aa9369c5cc6286cddea831b95876c5c3fe15d8f (diff) | |
Merge "`am compat reset --no-kill` shouldn't kill the process" into sc-dev
3 files changed, 11 insertions, 4 deletions
diff --git a/core/java/com/android/internal/compat/IPlatformCompat.aidl b/core/java/com/android/internal/compat/IPlatformCompat.aidl index a5eb5f607c12..7aca36af919d 100644 --- a/core/java/com/android/internal/compat/IPlatformCompat.aidl +++ b/core/java/com/android/internal/compat/IPlatformCompat.aidl @@ -179,9 +179,10 @@ interface IPlatformCompat { * * @param changeId the ID of the change that was overridden * @param packageName the app package name that was overridden + * @return {@code true} if an override existed * @throws SecurityException if overriding changes is not permitted */ - void clearOverrideForTest(long changeId, String packageName); + boolean clearOverrideForTest(long changeId, String packageName); /** * Enables all compatibility changes that have enabledSinceTargetSdk == diff --git a/services/core/java/com/android/server/am/ActivityManagerShellCommand.java b/services/core/java/com/android/server/am/ActivityManagerShellCommand.java index fe71fbf79157..c971bd2ab6d5 100644 --- a/services/core/java/com/android/server/am/ActivityManagerShellCommand.java +++ b/services/core/java/com/android/server/am/ActivityManagerShellCommand.java @@ -2984,7 +2984,13 @@ final class ActivityManagerShellCommand extends ShellCommand { pw.println("Reset all changes for " + packageName + " to default value."); return 0; } - if (platformCompat.clearOverride(changeId, packageName)) { + boolean existed; + if (killPackage) { + existed = platformCompat.clearOverride(changeId, packageName); + } else { + existed = platformCompat.clearOverrideForTest(changeId, packageName); + } + if (existed) { pw.println("Reset change " + changeId + " for " + packageName + " to default value."); } else { diff --git a/services/core/java/com/android/server/compat/PlatformCompat.java b/services/core/java/com/android/server/compat/PlatformCompat.java index 6b2a1c950e38..51ba5f775880 100644 --- a/services/core/java/com/android/server/compat/PlatformCompat.java +++ b/services/core/java/com/android/server/compat/PlatformCompat.java @@ -211,9 +211,9 @@ public class PlatformCompat extends IPlatformCompat.Stub { } @Override - public void clearOverrideForTest(long changeId, String packageName) { + public boolean clearOverrideForTest(long changeId, String packageName) { checkCompatChangeOverridePermission(); - mCompatConfig.removeOverride(changeId, packageName); + return mCompatConfig.removeOverride(changeId, packageName); } @Override |