summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/permission/PermissionUsageHelper.java14
1 files changed, 13 insertions, 1 deletions
diff --git a/core/java/android/permission/PermissionUsageHelper.java b/core/java/android/permission/PermissionUsageHelper.java
index 0e35ef98f1b7..4c9e77c35135 100644
--- a/core/java/android/permission/PermissionUsageHelper.java
+++ b/core/java/android/permission/PermissionUsageHelper.java
@@ -57,6 +57,8 @@ import android.util.ArraySet;
import android.view.inputmethod.InputMethodInfo;
import android.view.inputmethod.InputMethodManager;
+import com.android.internal.R;
+
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -186,6 +188,15 @@ public class PermissionUsageHelper {
== PackageManager.PERMISSION_GRANTED;
}
+ private boolean isSpeechRecognizerUsage(String op, String packageName) {
+ if (!OPSTR_RECORD_AUDIO.equals(op)) {
+ return false;
+ }
+
+ return packageName.equals(
+ mContext.getString(R.string.config_systemSpeechRecognizer));
+ }
+
/**
* @see PermissionManager.getIndicatorAppOpUsageData
*/
@@ -317,7 +328,8 @@ public class PermissionUsageHelper {
if (packageName.equals(SYSTEM_PKG)
|| (!isUserSensitive(packageName, user, op)
&& !isLocationProvider(packageName, user)
- && !isAppPredictor(packageName, user))) {
+ && !isAppPredictor(packageName, user))
+ && !isSpeechRecognizerUsage(op, packageName)) {
continue;
}