summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorNate Myren <ntmyren@google.com>2021-09-21 16:57:12 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-09-21 16:57:12 +0000
commitc9071cdc65d72fc2d13347ca14389358bbf7f18a (patch)
tree7135bb24f9c05d828ae9228547830a68c5041b20 /core/java
parent5965d3bf5d0d6ddba97377a42d7fbff53a50f63d (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: I729ce3bfd6a3d2c4fddbc083587363fc9fac3a92
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() {