diff options
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/app/compat/CompatChanges.java | 9 | ||||
| -rw-r--r-- | core/java/android/app/compat/PackageOverride.java | 49 |
2 files changed, 21 insertions, 37 deletions
diff --git a/core/java/android/app/compat/CompatChanges.java b/core/java/android/app/compat/CompatChanges.java index ab38832458d6..74e1ece3fa89 100644 --- a/core/java/android/app/compat/CompatChanges.java +++ b/core/java/android/app/compat/CompatChanges.java @@ -104,16 +104,15 @@ public final class CompatChanges { * * @param packageName The package name of the app in question. * @param overrides A map from changeId to the override applied for this change id. - * @hide */ - @RequiresPermission(android.Manifest.permission.OVERRIDE_COMPAT_CHANGE_CONFIG) - public static void setPackageOverride(String packageName, - Map<Long, PackageOverride> overrides) { + @RequiresPermission(android.Manifest.permission.OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD) + public static void setPackageOverride(@NonNull String packageName, + @NonNull Map<Long, PackageOverride> overrides) { IPlatformCompat platformCompat = IPlatformCompat.Stub.asInterface( ServiceManager.getService(Context.PLATFORM_COMPAT_SERVICE)); CompatibilityOverrideConfig config = new CompatibilityOverrideConfig(overrides); try { - platformCompat.setOverridesFromInstaller(config, packageName); + platformCompat.setOverridesOnReleaseBuilds(config, packageName); } catch (RemoteException e) { e.rethrowFromSystemServer(); } diff --git a/core/java/android/app/compat/PackageOverride.java b/core/java/android/app/compat/PackageOverride.java index 9f97cd41128a..59b355523a30 100644 --- a/core/java/android/app/compat/PackageOverride.java +++ b/core/java/android/app/compat/PackageOverride.java @@ -17,8 +17,9 @@ package android.app.compat; import android.annotation.IntDef; +import android.annotation.NonNull; +import android.annotation.SystemApi; import android.os.Parcel; -import android.os.Parcelable; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -32,15 +33,16 @@ import java.lang.annotation.RetentionPolicy; * * @hide */ -public class PackageOverride implements Parcelable { +@SystemApi +public final class PackageOverride { + /** @hide */ @IntDef({ VALUE_UNDEFINED, VALUE_ENABLED, VALUE_DISABLED }) @Retention(RetentionPolicy.SOURCE) - /** @hide */ public @interface EvaluatedOverride { } @@ -75,10 +77,6 @@ public class PackageOverride implements Parcelable { this.mEnabled = enabled; } - private PackageOverride(Parcel in) { - this(in.readLong(), in.readLong(), in.readBoolean()); - } - /** * Evaluate the override for the given {@code versionCode}. If no override is defined for * the specified version code, {@link #VALUE_UNDEFINED} is returned. @@ -114,25 +112,23 @@ public class PackageOverride implements Parcelable { } /** Returns the enabled value for the override. */ - public boolean getEnabled() { + public boolean isEnabled() { return mEnabled; } /** @hide */ - @Override - public int describeContents() { - return 0; - } - - /** @hide */ - @Override - public void writeToParcel(Parcel dest, int flags) { + public void writeToParcel(Parcel dest) { dest.writeLong(mMinVersionCode); dest.writeLong(mMaxVersionCode); dest.writeBoolean(mEnabled); } /** @hide */ + public static PackageOverride createFromParcel(Parcel in) { + return new PackageOverride(in.readLong(), in.readLong(), in.readBoolean()); + } + + /** @hide */ @Override public String toString() { if (mMinVersionCode == Long.MIN_VALUE && mMaxVersionCode == Long.MAX_VALUE) { @@ -141,25 +137,10 @@ public class PackageOverride implements Parcelable { return String.format("[%d,%d,%b]", mMinVersionCode, mMaxVersionCode, mEnabled); } - /** @hide */ - public static final Creator<PackageOverride> CREATOR = - new Creator<PackageOverride>() { - - @Override - public PackageOverride createFromParcel(Parcel in) { - return new PackageOverride(in); - } - - @Override - public PackageOverride[] newArray(int size) { - return new PackageOverride[size]; - } - }; - /** * Builder to construct a PackageOverride. */ - public static class Builder { + public static final class Builder { private long mMinVersionCode = Long.MIN_VALUE; private long mMaxVersionCode = Long.MAX_VALUE; private boolean mEnabled; @@ -169,6 +150,7 @@ public class PackageOverride implements Parcelable { * * default value: {@code Long.MIN_VALUE}. */ + @NonNull public Builder setMinVersionCode(long minVersionCode) { mMinVersionCode = minVersionCode; return this; @@ -179,6 +161,7 @@ public class PackageOverride implements Parcelable { * * default value: {@code Long.MAX_VALUE}. */ + @NonNull public Builder setMaxVersionCode(long maxVersionCode) { mMaxVersionCode = maxVersionCode; return this; @@ -189,6 +172,7 @@ public class PackageOverride implements Parcelable { * * default value: {@code false}. */ + @NonNull public Builder setEnabled(boolean enabled) { mEnabled = enabled; return this; @@ -200,6 +184,7 @@ public class PackageOverride implements Parcelable { * @throws IllegalArgumentException if {@code minVersionCode} is larger than * {@code maxVersionCode}. */ + @NonNull public PackageOverride build() { if (mMinVersionCode > mMaxVersionCode) { throw new IllegalArgumentException("minVersionCode must not be larger than " |
