diff options
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/permission/PermissionUsageHelper.java | 14 |
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; } |
