Merge "Allow clearing a single change id for tests usage."

This commit is contained in:
satayev
2021-01-20 17:48:52 +00:00
committed by Gerrit Code Review
2 changed files with 17 additions and 0 deletions

View File

@@ -172,6 +172,17 @@ interface IPlatformCompat {
*/ */
boolean clearOverride(long changeId, String packageName); 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 == * Enables all compatibility changes that have enabledSinceTargetSdk ==
* {@param targetSdkVersion} for an app, subject to the policy. * {@param targetSdkVersion} for an app, subject to the policy.

View File

@@ -210,6 +210,12 @@ public class PlatformCompat extends IPlatformCompat.Stub {
return existed; return existed;
} }
@Override
public void clearOverrideForTest(long changeId, String packageName) {
checkCompatChangeOverridePermission();
mCompatConfig.removeOverride(changeId, packageName);
}
@Override @Override
public CompatibilityChangeConfig getAppConfig(ApplicationInfo appInfo) { public CompatibilityChangeConfig getAppConfig(ApplicationInfo appInfo) {
checkCompatChangeReadAndLogPermission(); checkCompatChangeReadAndLogPermission();