summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorNate Myren <ntmyren@google.com>2021-09-25 02:22:38 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-09-25 02:22:38 +0000
commite057fae5f2857c44d77affc0ea15d2031d040414 (patch)
tree2791bf37d8daac57ade78130263d552fbd1b7a45 /core/java
parente7284cb21c49f289f88dbda1daac676a871d3a2c (diff)
parentd9a274cfa24645c2ce90156f57e601f9fae19797 (diff)
Merge "Do not fail Recognition on MODE_IGNORED for preflight" into sc-qpr1-dev am: d9a274cfa2
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15837795 Change-Id: Idb54d5b51d9e83f9deb61f819aa6be083f6546ca
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/speech/RecognitionService.java11
1 files changed, 6 insertions, 5 deletions
diff --git a/core/java/android/speech/RecognitionService.java b/core/java/android/speech/RecognitionService.java
index 362ea8c87f7f..5e647a4531bc 100644
--- a/core/java/android/speech/RecognitionService.java
+++ b/core/java/android/speech/RecognitionService.java
@@ -115,7 +115,7 @@ public abstract class RecognitionService extends Service {
@NonNull AttributionSource attributionSource) {
try {
if (mCurrentCallback == null) {
- boolean preflightPermissionCheckPassed = checkPermissionForPreflight(
+ boolean preflightPermissionCheckPassed = checkPermissionForPreflightNotHardDenied(
attributionSource);
if (preflightPermissionCheckPassed) {
if (DBG) {
@@ -470,10 +470,11 @@ public abstract class RecognitionService extends Service {
return mStartedDataDelivery;
}
- private boolean checkPermissionForPreflight(AttributionSource attributionSource) {
- return PermissionChecker.checkPermissionForPreflight(RecognitionService.this,
- Manifest.permission.RECORD_AUDIO, attributionSource)
- == PermissionChecker.PERMISSION_GRANTED;
+ private boolean checkPermissionForPreflightNotHardDenied(AttributionSource attributionSource) {
+ int result = PermissionChecker.checkPermissionForPreflight(RecognitionService.this,
+ Manifest.permission.RECORD_AUDIO, attributionSource);
+ return result == PermissionChecker.PERMISSION_GRANTED
+ || result == PermissionChecker.PERMISSION_SOFT_DENIED;
}
void finishDataDelivery() {