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

Commit e599aecb authored by Manjeet Rulhania's avatar Manjeet Rulhania
Browse files

Add flags for device aware permission

Add flag for both feature and APIs.

Bug: 274852670
Test: presubmit
Change-Id: I619be75c58eb4e32624c0b6de2970b207af26847
parent 173df1cf
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -4463,7 +4463,7 @@ package android.app {
    method public void onProvideAssistData(android.os.Bundle);
    method public android.net.Uri onProvideReferrer();
    method public void onRequestPermissionsResult(int, @NonNull String[], @NonNull int[]);
    method public void onRequestPermissionsResult(int, @NonNull String[], @NonNull int[], int);
    method @FlaggedApi("android.permission.flags.device_aware_permission_apis") public void onRequestPermissionsResult(int, @NonNull String[], @NonNull int[], int);
    method @CallSuper protected void onRestart();
    method protected void onRestoreInstanceState(@NonNull android.os.Bundle);
    method public void onRestoreInstanceState(@Nullable android.os.Bundle, @Nullable android.os.PersistableBundle);
@@ -4505,7 +4505,7 @@ package android.app {
    method public android.view.DragAndDropPermissions requestDragAndDropPermissions(android.view.DragEvent);
    method public void requestFullscreenMode(int, @Nullable android.os.OutcomeReceiver<java.lang.Void,java.lang.Throwable>);
    method public final void requestPermissions(@NonNull String[], int);
    method public final void requestPermissions(@NonNull String[], int, int);
    method @FlaggedApi("android.permission.flags.device_aware_permission_apis") public final void requestPermissions(@NonNull String[], int, int);
    method public final void requestShowKeyboardShortcuts();
    method @Deprecated public boolean requestVisibleBehind(boolean);
    method public final boolean requestWindowFeature(int);
@@ -4553,7 +4553,7 @@ package android.app {
    method public void setVrModeEnabled(boolean, @NonNull android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
    method public boolean shouldDockBigOverlays();
    method public boolean shouldShowRequestPermissionRationale(@NonNull String);
    method public boolean shouldShowRequestPermissionRationale(@NonNull String, int);
    method @FlaggedApi("android.permission.flags.device_aware_permission_apis") public boolean shouldShowRequestPermissionRationale(@NonNull String, int);
    method public boolean shouldUpRecreateTask(android.content.Intent);
    method public boolean showAssist(android.os.Bundle);
    method @Deprecated public final void showDialog(int);
@@ -9769,7 +9769,7 @@ package android.content {
    method public int describeContents();
    method public void enforceCallingUid();
    method @Nullable public String getAttributionTag();
    method public int getDeviceId();
    method @FlaggedApi("android.permission.flags.device_aware_permission_apis") public int getDeviceId();
    method @Nullable public android.content.AttributionSource getNext();
    method @Nullable public String getPackageName();
    method public int getPid();
@@ -9785,7 +9785,7 @@ package android.content {
    ctor public AttributionSource.Builder(@NonNull android.content.AttributionSource);
    method @NonNull public android.content.AttributionSource build();
    method @NonNull public android.content.AttributionSource.Builder setAttributionTag(@Nullable String);
    method @NonNull public android.content.AttributionSource.Builder setDeviceId(int);
    method @FlaggedApi("android.permission.flags.device_aware_permission_apis") @NonNull public android.content.AttributionSource.Builder setDeviceId(int);
    method @Deprecated @NonNull public android.content.AttributionSource.Builder setNext(@Nullable android.content.AttributionSource);
    method @NonNull public android.content.AttributionSource.Builder setNextAttributionSource(@NonNull android.content.AttributionSource);
    method @NonNull public android.content.AttributionSource.Builder setPackageName(@Nullable String);
+1 −1
Original line number Diff line number Diff line
@@ -875,7 +875,7 @@ package android.content {
    ctor public AttributionSource(int, @Nullable String, @Nullable String, @NonNull android.os.IBinder);
    ctor public AttributionSource(int, @Nullable String, @Nullable String, @Nullable java.util.Set<java.lang.String>, @Nullable android.content.AttributionSource);
    ctor public AttributionSource(int, int, @Nullable String, @Nullable String, @NonNull android.os.IBinder, @Nullable String[], @Nullable android.content.AttributionSource);
    ctor public AttributionSource(int, int, @Nullable String, @Nullable String, @NonNull android.os.IBinder, @Nullable String[], int, @Nullable android.content.AttributionSource);
    ctor @FlaggedApi("android.permission.flags.device_aware_permission_apis") public AttributionSource(int, int, @Nullable String, @Nullable String, @NonNull android.os.IBinder, @Nullable String[], int, @Nullable android.content.AttributionSource);
    method public void enforceCallingPid();
  }

+5 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import android.annotation.CallSuper;
import android.annotation.CallbackExecutor;
import android.annotation.ColorInt;
import android.annotation.DrawableRes;
import android.annotation.FlaggedApi;
import android.annotation.IdRes;
import android.annotation.IntDef;
import android.annotation.LayoutRes;
@@ -98,6 +99,7 @@ import android.os.StrictMode;
import android.os.SystemClock;
import android.os.Trace;
import android.os.UserHandle;
import android.permission.flags.Flags;
import android.service.voice.VoiceInteractionSession;
import android.text.Selection;
import android.text.SpannableStringBuilder;
@@ -5567,6 +5569,7 @@ public class Activity extends ContextThemeWrapper
     * @see #shouldShowRequestPermissionRationale
     * @see Context#DEVICE_ID_DEFAULT
     */
    @FlaggedApi(Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS)
    public final void requestPermissions(@NonNull String[] permissions, int requestCode,
            int deviceId) {
        if (requestCode < 0) {
@@ -5640,6 +5643,7 @@ public class Activity extends ContextThemeWrapper
     *
     * @see #requestPermissions
     */
    @FlaggedApi(Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS)
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
            @NonNull int[] grantResults, int deviceId) {
        onRequestPermissionsResult(requestCode, permissions, grantResults);
@@ -5673,6 +5677,7 @@ public class Activity extends ContextThemeWrapper
     * @see #requestPermissions
     * @see #onRequestPermissionsResult
     */
    @FlaggedApi(Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS)
    public boolean shouldShowRequestPermissionRationale(@NonNull String permission, int deviceId) {
        final PackageManager packageManager = getDeviceId() == deviceId ? getPackageManager()
                : createDeviceContext(deviceId).getPackageManager();
+5 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package android.content;

import android.annotation.FlaggedApi;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.RequiresPermission;
@@ -31,6 +32,7 @@ import android.os.Parcelable;
import android.os.Process;
import android.os.UserHandle;
import android.permission.PermissionManager;
import android.permission.flags.Flags;
import android.util.ArraySet;

import com.android.internal.annotations.Immutable;
@@ -163,6 +165,7 @@ public final class AttributionSource implements Parcelable {

    /** @hide */
    @TestApi
    @FlaggedApi(Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS)
    public AttributionSource(int uid, int pid, @Nullable String packageName,
            @Nullable String attributionTag, @NonNull IBinder token,
            @Nullable String[] renouncedPermissions,
@@ -528,6 +531,7 @@ public final class AttributionSource implements Parcelable {
     * <p>
     * This device ID is used for permissions checking during attribution source validation.
     */
    @FlaggedApi(Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS)
    public int getDeviceId() {
        return mAttributionSourceState.deviceId;
    }
@@ -715,6 +719,7 @@ public final class AttributionSource implements Parcelable {
         *
         * @return the builder
         */
        @FlaggedApi(Flags.FLAG_DEVICE_AWARE_PERMISSION_APIS)
        public @NonNull Builder setDeviceId(int deviceId) {
            checkNotUsed();
            mBuilderFieldsSet |= 0x12;
+2 −1
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@ package: "android.permission.flags"

flag {
  name: "device_aware_permission_apis"
  is_fixed_read_only: true
  namespace: "permissions"
  description: "enable device aware permission APIs"
  bug: "274852670"
Loading