diff options
author | Artur Satayev <satayev@google.com> | 2021-01-19 17:58:03 +0000 |
---|---|---|
committer | Artur Satayev <satayev@google.com> | 2021-01-20 14:15:14 +0000 |
commit | 21900cb6ee56cdc9bf23863703edbaf084db463d (patch) | |
tree | e1d9905b34a1506b47dd9012591f6430fe064b22 | |
parent | 5d640c39a325d3a4fe9989cdbe16b51b3bef96a9 (diff) |
Allow clearing a single change id for tests usage.
Add clearOverrideForTest(changeId, packageName) to remove a single id
from package overrdies.
Bug: 147113465
Test: N/A
Change-Id: I35c6fe418abb9bc562218444878188bc393725e5
-rw-r--r-- | core/java/com/android/internal/compat/IPlatformCompat.aidl | 11 | ||||
-rw-r--r-- | services/core/java/com/android/server/compat/PlatformCompat.java | 6 |
2 files changed, 17 insertions, 0 deletions
diff --git a/core/java/com/android/internal/compat/IPlatformCompat.aidl b/core/java/com/android/internal/compat/IPlatformCompat.aidl index f54c96b88f70..a5eb5f607c12 100644 --- a/core/java/com/android/internal/compat/IPlatformCompat.aidl +++ b/core/java/com/android/internal/compat/IPlatformCompat.aidl @@ -173,6 +173,17 @@ interface IPlatformCompat { boolean clearOverride(long changeId, String packageName); /** + * Restores the default behaviour for the given change and app. + * + * <p>Does not kill the app; to be only used in tests. + * + * @param changeId the ID of the change that was overridden + * @param packageName the app package name that was overridden + * @throws SecurityException if overriding changes is not permitted + */ + void clearOverrideForTest(long changeId, String packageName); + + /** * Enables all compatibility changes that have enabledSinceTargetSdk == * {@param targetSdkVersion} for an app, subject to the policy. * diff --git a/services/core/java/com/android/server/compat/PlatformCompat.java b/services/core/java/com/android/server/compat/PlatformCompat.java index cf5e16e53926..6b2a1c950e38 100644 --- a/services/core/java/com/android/server/compat/PlatformCompat.java +++ b/services/core/java/com/android/server/compat/PlatformCompat.java @@ -211,6 +211,12 @@ public class PlatformCompat extends IPlatformCompat.Stub { } @Override + public void clearOverrideForTest(long changeId, String packageName) { + checkCompatChangeOverridePermission(); + mCompatConfig.removeOverride(changeId, packageName); + } + + @Override public CompatibilityChangeConfig getAppConfig(ApplicationInfo appInfo) { checkCompatChangeReadAndLogPermission(); return mCompatConfig.getAppConfig(appInfo); |