summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArtur Satayev <satayev@google.com>2021-01-19 17:58:03 +0000
committerArtur Satayev <satayev@google.com>2021-01-20 14:15:14 +0000
commit21900cb6ee56cdc9bf23863703edbaf084db463d (patch)
treee1d9905b34a1506b47dd9012591f6430fe064b22
parent5d640c39a325d3a4fe9989cdbe16b51b3bef96a9 (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.aidl11
-rw-r--r--services/core/java/com/android/server/compat/PlatformCompat.java6
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);