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

Commit f72bb3fe authored by Ricardo Correa's avatar Ricardo Correa Committed by Android (Google) Code Review
Browse files

Merge "Include an AppOp to allow dialer role app to record and play audio into calls"

parents f436164e e96b5668
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@ package android {
    ctor public Manifest.permission();
    field public static final String ACCEPT_HANDOVER = "android.permission.ACCEPT_HANDOVER";
    field public static final String ACCESS_BACKGROUND_LOCATION = "android.permission.ACCESS_BACKGROUND_LOCATION";
    field public static final String ACCESS_CALL_AUDIO = "android.permission.ACCESS_CALL_AUDIO";
    field public static final String ACCESS_CHECKIN_PROPERTIES = "android.permission.ACCESS_CHECKIN_PROPERTIES";
    field public static final String ACCESS_COARSE_LOCATION = "android.permission.ACCESS_COARSE_LOCATION";
    field public static final String ACCESS_FINE_LOCATION = "android.permission.ACCESS_FINE_LOCATION";
+1 −0
Original line number Diff line number Diff line
@@ -376,6 +376,7 @@ package android.app {
    method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setUidMode(@NonNull String, int, int);
    field public static final String OPSTR_ACCEPT_HANDOVER = "android:accept_handover";
    field public static final String OPSTR_ACCESS_ACCESSIBILITY = "android:access_accessibility";
    field public static final String OPSTR_ACCESS_CALL_AUDIO = "android:access_call_audio";
    field public static final String OPSTR_ACCESS_NOTIFICATIONS = "android:access_notifications";
    field public static final String OPSTR_ACTIVATE_VPN = "android:activate_vpn";
    field public static final String OPSTR_ASSIST_SCREENSHOT = "android:assist_screenshot";
+15 −1
Original line number Diff line number Diff line
@@ -1035,10 +1035,12 @@ public class AppOpsManager {
    public static final int OP_ACTIVATE_PLATFORM_VPN = 94;
    /** @hide */
    public static final int OP_LOADER_USAGE_STATS = 95;
    /** @hide Access telephony call audio */
    public static final int OP_ACCESS_CALL_AUDIO = 96;

    /** @hide */
    @UnsupportedAppUsage
    public static final int _NUM_OP = 96;
    public static final int _NUM_OP = 97;

    /** Access to coarse location information. */
    public static final String OPSTR_COARSE_LOCATION = "android:coarse_location";
@@ -1329,6 +1331,9 @@ public class AppOpsManager {
    @SystemApi
    public static final String OPSTR_MANAGE_EXTERNAL_STORAGE =
            "android:manage_external_storage";
    /** @hide Access telephony call audio */
    @SystemApi
    public static final String OPSTR_ACCESS_CALL_AUDIO = "android:access_call_audio";

    /** @hide Communicate cross-profile within the same profile group. */
    @SystemApi
@@ -1418,6 +1423,7 @@ public class AppOpsManager {
            OP_MANAGE_EXTERNAL_STORAGE,
            OP_INTERACT_ACROSS_PROFILES,
            OP_LOADER_USAGE_STATS,
            OP_ACCESS_CALL_AUDIO,
    };

    /**
@@ -1525,6 +1531,7 @@ public class AppOpsManager {
            OP_INTERACT_ACROSS_PROFILES,        //INTERACT_ACROSS_PROFILES
            OP_ACTIVATE_PLATFORM_VPN,           // ACTIVATE_PLATFORM_VPN
            OP_LOADER_USAGE_STATS,              // LOADER_USAGE_STATS
            OP_ACCESS_CALL_AUDIO,               // ACCESS_CALL_AUDIO
    };

    /**
@@ -1627,6 +1634,7 @@ public class AppOpsManager {
            OPSTR_INTERACT_ACROSS_PROFILES,
            OPSTR_ACTIVATE_PLATFORM_VPN,
            OPSTR_LOADER_USAGE_STATS,
            OPSTR_ACCESS_CALL_AUDIO,
    };

    /**
@@ -1730,6 +1738,7 @@ public class AppOpsManager {
            "INTERACT_ACROSS_PROFILES",
            "ACTIVATE_PLATFORM_VPN",
            "LOADER_USAGE_STATS",
            "ACCESS_CALL_AUDIO",
    };

    /**
@@ -1834,6 +1843,7 @@ public class AppOpsManager {
            android.Manifest.permission.INTERACT_ACROSS_PROFILES,
            null, // no permission for OP_ACTIVATE_PLATFORM_VPN
            android.Manifest.permission.LOADER_USAGE_STATS,
            Manifest.permission.ACCESS_CALL_AUDIO,
    };

    /**
@@ -1938,6 +1948,7 @@ public class AppOpsManager {
            null, // INTERACT_ACROSS_PROFILES
            null, // ACTIVATE_PLATFORM_VPN
            null, // LOADER_USAGE_STATS
            null, // ACCESS_CALL_AUDIO
    };

    /**
@@ -2041,6 +2052,7 @@ public class AppOpsManager {
            false, // INTERACT_ACROSS_PROFILES
            false, // ACTIVATE_PLATFORM_VPN
            false, // LOADER_USAGE_STATS
            false, // ACCESS_CALL_AUDIO
    };

    /**
@@ -2143,6 +2155,7 @@ public class AppOpsManager {
            AppOpsManager.MODE_DEFAULT, // INTERACT_ACROSS_PROFILES
            AppOpsManager.MODE_IGNORED, // ACTIVATE_PLATFORM_VPN
            AppOpsManager.MODE_DEFAULT, // LOADER_USAGE_STATS
            AppOpsManager.MODE_DEFAULT, // ACCESS_CALL_AUDIO
    };

    /**
@@ -2249,6 +2262,7 @@ public class AppOpsManager {
            false, // INTERACT_ACROSS_PROFILES
            false, // ACTIVATE_PLATFORM_VPN
            false, // LOADER_USAGE_STATS
            false, // ACCESS_CALL_AUDIO
    };

    /**
+2 −2
Original line number Diff line number Diff line
@@ -256,10 +256,10 @@ public final class AsyncNotedAppOp implements Parcelable {
    };

    @DataClass.Generated(
            time = 1580158740502L,
            time = 1581728574427L,
            codegenVersion = "1.0.14",
            sourceFile = "frameworks/base/core/java/android/app/AsyncNotedAppOp.java",
            inputSignatures = "private final @android.annotation.IntRange(from=0L, to=95L) int mOpCode\nprivate final @android.annotation.IntRange(from=0L) int mNotingUid\nprivate final @android.annotation.Nullable java.lang.String mFeatureId\nprivate final @android.annotation.NonNull java.lang.String mMessage\nprivate final @android.annotation.IntRange(from=0L) long mTime\npublic @android.annotation.NonNull java.lang.String getOp()\nclass AsyncNotedAppOp extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genEqualsHashCode=true, genAidl=true, genHiddenConstructor=true)")
            inputSignatures = "private final @android.annotation.IntRange(from=0L, to=96L) int mOpCode\nprivate final @android.annotation.IntRange(from=0L) int mNotingUid\nprivate final @android.annotation.Nullable java.lang.String mFeatureId\nprivate final @android.annotation.NonNull java.lang.String mMessage\nprivate final @android.annotation.IntRange(from=0L) long mTime\npublic @android.annotation.NonNull java.lang.String getOp()\nclass AsyncNotedAppOp extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genEqualsHashCode=true, genAidl=true, genHiddenConstructor=true)")
    @Deprecated
    private void __metadata() {}

+9 −0
Original line number Diff line number Diff line
@@ -1200,6 +1200,15 @@
                android:description="@string/permdesc_acceptHandovers"
                android:protectionLevel="dangerous" />

    <!-- Allows an application assigned to the Dialer role to be granted access to the telephony
         call audio streams, both TX and RX.
         <p>Protection level: signature|appop
    -->
    <permission android:name="android.permission.ACCESS_CALL_AUDIO"
                android.label="@string/permlab_accessCallAudio"
                android:description="@string/permdesc_accessCallAudio"
                android:protectionLevel="signature|appop" />

    <!-- ====================================================================== -->
    <!-- Permissions for accessing the device microphone                        -->
    <!-- ====================================================================== -->
Loading