Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f27394ee authored by Winson's avatar Winson
Browse files

Expose PermissionManager as TestApi and fix SplitPermissionInfo equality

Bug: 129200416
Bug: 129200610

Test: atest SplitPermissionsTest

Change-Id: I98795944e6440e5b7ebba134bd7735a6f78ebc4f
parent b613fec2
Loading
Loading
Loading
Loading
+13 −0
Original line number Original line Diff line number Diff line
@@ -646,6 +646,7 @@ package android.content {
    method public void setContentCaptureOptions(@Nullable android.content.ContentCaptureOptions);
    method public void setContentCaptureOptions(@Nullable android.content.ContentCaptureOptions);
    field public static final String BUGREPORT_SERVICE = "bugreport";
    field public static final String BUGREPORT_SERVICE = "bugreport";
    field public static final String CONTENT_CAPTURE_MANAGER_SERVICE = "content_capture";
    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 ROLLBACK_SERVICE = "rollback";
    field public static final String STATUS_BAR_SERVICE = "statusbar";
    field public static final String STATUS_BAR_SERVICE = "statusbar";
    field public static final String TEST_NETWORK_SERVICE = "test_network";
    field public static final String TEST_NETWORK_SERVICE = "test_network";
@@ -2214,6 +2215,18 @@ package android.permission {
    method public abstract void onRevokeRuntimePermissions(@NonNull java.util.Map<java.lang.String,java.util.List<java.lang.String>>);
    method public abstract void onRevokeRuntimePermissions(@NonNull java.util.Map<java.lang.String,java.util.List<java.lang.String>>);
  }
  }


  public final class PermissionManager {
    method @IntRange(from=0) @RequiresPermission("android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY") public int getRuntimePermissionsVersion();
    method @NonNull public java.util.List<android.permission.PermissionManager.SplitPermissionInfo> 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<java.lang.String> getNewPermissions();
    method @NonNull public String getSplitPermission();
    method public int getTargetSdk();
  }

  public final class RuntimePermissionPresentationInfo implements android.os.Parcelable {
  public final class RuntimePermissionPresentationInfo implements android.os.Parcelable {
    ctor public RuntimePermissionPresentationInfo(@NonNull CharSequence, boolean, boolean);
    ctor public RuntimePermissionPresentationInfo(@NonNull CharSequence, boolean, boolean);
    method public int describeContents();
    method public int describeContents();
+1 −0
Original line number Original line Diff line number Diff line
@@ -4126,6 +4126,7 @@ public abstract class Context {
     * @see #getSystemService(String)
     * @see #getSystemService(String)
     * @hide
     * @hide
     */
     */
    @TestApi
    @SystemApi
    @SystemApi
    public static final String PERMISSION_SERVICE = "permission";
    public static final String PERMISSION_SERVICE = "permission";


+4 −2
Original line number Original line Diff line number Diff line
@@ -39,6 +39,7 @@ import java.util.Objects;
 *
 *
 * @hide
 * @hide
 */
 */
@TestApi
@SystemApi
@SystemApi
@SystemService(Context.PERMISSION_SERVICE)
@SystemService(Context.PERMISSION_SERVICE)
public final class PermissionManager {
public final class PermissionManager {
@@ -140,12 +141,13 @@ public final class PermissionManager {
            if (o == null || getClass() != o.getClass()) return false;
            if (o == null || getClass() != o.getClass()) return false;
            SplitPermissionInfo that = (SplitPermissionInfo) o;
            SplitPermissionInfo that = (SplitPermissionInfo) o;
            return mTargetSdk == that.mTargetSdk
            return mTargetSdk == that.mTargetSdk
                    && Objects.equals(mSplitPerm, that.mSplitPerm);
                    && mSplitPerm.equals(that.mSplitPerm)
                    && mNewPerms.equals(that.mNewPerms);
        }
        }


        @Override
        @Override
        public int hashCode() {
        public int hashCode() {
            return Objects.hash(mSplitPerm, mTargetSdk);
            return Objects.hash(mSplitPerm, mNewPerms, mTargetSdk);
        }
        }


        /**
        /**