summaryrefslogtreecommitdiff
path: root/core/java/android/app/AppOpsManager.java
diff options
context:
space:
mode:
authorNate Myren <ntmyren@google.com>2020-12-10 10:03:30 -0800
committerNate Myren <ntmyren@google.com>2020-12-11 12:38:01 -0800
commit6dcf50edb6b8f6ac2276c618a286bfc14d3fbcdb (patch)
tree78dac7869ed84593cbb2bd5703c528996b21269d /core/java/android/app/AppOpsManager.java
parenta864f9596e653aebbba3d08f6d48b8de6d9362ea (diff)
Add RECORD_AUDIO_OUTPUT app op
To be used when recording app output via the REMOTE_SUBMIX source Test: presubmit Bug: 173797503 Change-Id: I5851197ae42fb431f3b89c961e46b9f9e77d3eab
Diffstat (limited to 'core/java/android/app/AppOpsManager.java')
-rw-r--r--core/java/android/app/AppOpsManager.java25
1 files changed, 24 insertions, 1 deletions
diff --git a/core/java/android/app/AppOpsManager.java b/core/java/android/app/AppOpsManager.java
index f60f569be892..16aaa096d08b 100644
--- a/core/java/android/app/AppOpsManager.java
+++ b/core/java/android/app/AppOpsManager.java
@@ -1169,9 +1169,18 @@ public class AppOpsManager {
public static final int OP_USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER =
AppProtoEnums.APP_OP_USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER;
+ /**
+ * App output audio is being recorded
+ *
+ * @hide
+ */
+ // TODO: Add as AppProtoEnums
+ public static final int OP_RECORD_AUDIO_OUTPUT = 106;
+
+
/** @hide */
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
- public static final int _NUM_OP = 106;
+ public static final int _NUM_OP = 107;
/** Access to coarse location information. */
public static final String OPSTR_COARSE_LOCATION = "android:coarse_location";
@@ -1537,6 +1546,12 @@ public class AppOpsManager {
@TestApi
public static final String OPSTR_USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER =
"android:use_icc_auth_with_device_identifier";
+ /**
+ * App output audio is being recorded
+ *
+ * @hide
+ */
+ public static final String OPSTR_RECORD_AUDIO_OUTPUT = "android:record_audio_output";
/** {@link #sAppOpsToNote} not initialized yet for this op */
private static final byte SHOULD_COLLECT_NOTE_OP_NOT_INITIALIZED = 0;
@@ -1735,6 +1750,7 @@ public class AppOpsManager {
OP_MANAGE_ONGOING_CALLS, // MANAGE_ONGOING_CALLS
OP_MANAGE_CREDENTIALS, // MANAGE_CREDENTIALS
OP_USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER, // USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER
+ OP_RECORD_AUDIO_OUTPUT, // RECORD_AUDIO_OUTPUT
};
/**
@@ -1847,6 +1863,7 @@ public class AppOpsManager {
OPSTR_MANAGE_ONGOING_CALLS,
OPSTR_MANAGE_CREDENTIALS,
OPSTR_USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER,
+ OPSTR_RECORD_AUDIO_OUTPUT,
};
/**
@@ -1960,6 +1977,7 @@ public class AppOpsManager {
"MANAGE_ONGOING_CALLS",
"MANAGE_CREDENTIALS",
"USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER",
+ "RECORD_AUDIO_OUTPUT",
};
/**
@@ -2074,6 +2092,7 @@ public class AppOpsManager {
Manifest.permission.MANAGE_ONGOING_CALLS,
null, // no permission for OP_MANAGE_CREDENTIALS
Manifest.permission.USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER,
+ null, // no permission for OP_RECORD_AUDIO_OUTPUT
};
/**
@@ -2188,6 +2207,7 @@ public class AppOpsManager {
null, // MANAGE_ONGOING_CALLS
null, // MANAGE_CREDENTIALS
null, // USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER
+ null, // RECORD_AUDIO_OUTPUT
};
/**
@@ -2301,6 +2321,7 @@ public class AppOpsManager {
null, // MANAGE_ONGOING_CALLS
null, // MANAGE_CREDENTIALS
null, // USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER
+ null, // RECORD_AUDIO_OUTPUT
};
/**
@@ -2413,6 +2434,7 @@ public class AppOpsManager {
AppOpsManager.MODE_DEFAULT, // MANAGE_ONGOING_CALLS
AppOpsManager.MODE_DEFAULT, // MANAGE_CREDENTIALS
AppOpsManager.MODE_DEFAULT, // USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER
+ AppOpsManager.MODE_ALLOWED, // RECORD_AUDIO_OUTPUT
};
/**
@@ -2529,6 +2551,7 @@ public class AppOpsManager {
true, // MANAGE_ONGOING_CALLS
false, // MANAGE_CREDENTIALS
true, // USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER
+ false, // RECORD_AUDIO_OUTPUT
};
/**