diff options
author | 2023-05-12 15:54:28 +0000 | |
---|---|---|
committer | 2023-05-12 15:56:44 +0000 | |
commit | c942d1e96317bfab10d3862325d276afcf2dd74f (patch) | |
tree | 2280145002df1c7c1f1552050b2c014ed846f3b4 | |
parent | 6367da36bb31e450080e9c751cb0963a4498cddb (diff) |
[hotword] make service exemption configurable via sysprop
Bug: 279405774
Test: Set prop to true, run assistant with DSP off, see permanent mic indicator
Change-Id: Ifcbd5ad74e2f9702db1ba605d253ca1f0b8b3688
-rw-r--r-- | services/core/java/com/android/server/policy/AppOpsPolicy.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/policy/AppOpsPolicy.java b/services/core/java/com/android/server/policy/AppOpsPolicy.java index 7a5664f8135e..2cbe8db19fd2 100644 --- a/services/core/java/com/android/server/policy/AppOpsPolicy.java +++ b/services/core/java/com/android/server/policy/AppOpsPolicy.java @@ -37,6 +37,7 @@ import android.os.Bundle; import android.os.IBinder; import android.os.PackageTagsList; import android.os.Process; +import android.os.SystemProperties; import android.os.UserHandle; import android.service.voice.VoiceInteractionManagerInternal; import android.service.voice.VoiceInteractionManagerInternal.HotwordDetectionServiceIdentity; @@ -68,6 +69,8 @@ public final class AppOpsPolicy implements AppOpsManagerInternal.CheckOpsDelegat private static final String ACTIVITY_RECOGNITION_TAGS = "android:activity_recognition_allow_listed_tags"; private static final String ACTIVITY_RECOGNITION_TAGS_SEPARATOR = ";"; + private static final boolean SYSPROP_HOTWORD_DETECTION_SERVICE_REQUIRED = + SystemProperties.getBoolean("ro.hotword.detection_service_required", false); @NonNull private final Object mLock = new Object(); @@ -201,8 +204,11 @@ public final class AppOpsPolicy implements AppOpsManagerInternal.CheckOpsDelegat private static boolean isHotwordDetectionServiceRequired(PackageManager pm) { // The HotwordDetectionService APIs aren't ready yet for Auto or TV. - return !(pm.hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE) - || pm.hasSystemFeature(PackageManager.FEATURE_LEANBACK)); + if (pm.hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE) + || pm.hasSystemFeature(PackageManager.FEATURE_LEANBACK)) { + return false; + } + return SYSPROP_HOTWORD_DETECTION_SERVICE_REQUIRED; } @Override |