diff --git a/api/test-current.txt b/api/test-current.txt index 11e0479b8a04a..c787bfa53b337 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -646,6 +646,7 @@ package android.content { method public void setContentCaptureOptions(@Nullable android.content.ContentCaptureOptions); field public static final String BUGREPORT_SERVICE = "bugreport"; field public static final String CONTENT_CAPTURE_MANAGER_SERVICE = "content_capture"; + field public static final String PERMISSION_SERVICE = "permission"; field public static final String ROLLBACK_SERVICE = "rollback"; field public static final String STATUS_BAR_SERVICE = "statusbar"; field public static final String TEST_NETWORK_SERVICE = "test_network"; @@ -2215,6 +2216,18 @@ package android.permission { method public abstract void onRevokeRuntimePermissions(@NonNull java.util.Map>); } + public final class PermissionManager { + method @IntRange(from=0) @RequiresPermission("android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY") public int getRuntimePermissionsVersion(); + method @NonNull public java.util.List getSplitPermissions(); + method @RequiresPermission("android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY") public void setRuntimePermissionsVersion(@IntRange(from=0) int); + } + + public static final class PermissionManager.SplitPermissionInfo { + method @NonNull public java.util.List getNewPermissions(); + method @NonNull public String getSplitPermission(); + method public int getTargetSdk(); + } + public final class RuntimePermissionPresentationInfo implements android.os.Parcelable { ctor public RuntimePermissionPresentationInfo(@NonNull CharSequence, boolean, boolean); method public int describeContents(); diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java index 941eda8bcf1f7..529677aea6539 100644 --- a/core/java/android/content/Context.java +++ b/core/java/android/content/Context.java @@ -4126,6 +4126,7 @@ public abstract class Context { * @see #getSystemService(String) * @hide */ + @TestApi @SystemApi public static final String PERMISSION_SERVICE = "permission"; diff --git a/core/java/android/permission/PermissionManager.java b/core/java/android/permission/PermissionManager.java index e15659db90a88..182a2ffa52216 100644 --- a/core/java/android/permission/PermissionManager.java +++ b/core/java/android/permission/PermissionManager.java @@ -39,6 +39,7 @@ import java.util.Objects; * * @hide */ +@TestApi @SystemApi @SystemService(Context.PERMISSION_SERVICE) public final class PermissionManager { @@ -140,12 +141,13 @@ public final class PermissionManager { if (o == null || getClass() != o.getClass()) return false; SplitPermissionInfo that = (SplitPermissionInfo) o; return mTargetSdk == that.mTargetSdk - && Objects.equals(mSplitPerm, that.mSplitPerm); + && mSplitPerm.equals(that.mSplitPerm) + && mNewPerms.equals(that.mNewPerms); } @Override public int hashCode() { - return Objects.hash(mSplitPerm, mTargetSdk); + return Objects.hash(mSplitPerm, mNewPerms, mTargetSdk); } /**