diff --git a/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerService.java b/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerService.java index b062e6b08e002..913535e06a214 100644 --- a/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerService.java +++ b/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerService.java @@ -296,7 +296,10 @@ public class SoundTriggerService extends SystemService { // Helper to add session logger to the capacity limited detached list. // If we are at capacity, remove the oldest, and retry - private void addDetachedSessionLogger(EventLogger logger) { + private void detachSessionLogger(EventLogger logger) { + if (!mSessionEventLoggers.remove(logger)) { + return; + } // Attempt to push to the top of the queue while (!mDetachedSessionEventLoggers.offerFirst(logger)) { // Remove the oldest element, if one still exists @@ -872,8 +875,7 @@ public class SoundTriggerService extends SystemService { private void detach() { mSoundTriggerHelper.detach(); - mSessionEventLoggers.remove(mEventLogger); - addDetachedSessionLogger(mEventLogger); + detachSessionLogger(mEventLogger); } private void enforceCallingPermission(String permission) { @@ -1659,8 +1661,7 @@ public class SoundTriggerService extends SystemService { private void detachInternal() { mEventLogger.enqueue(new SessionEvent(Type.DETACH, null)); - mSessionEventLoggers.remove(mEventLogger); - addDetachedSessionLogger(mEventLogger); + detachSessionLogger(mEventLogger); mSoundTriggerHelper.detach(); } } diff --git a/services/voiceinteraction/java/com/android/server/soundtrigger_middleware/SoundTriggerMiddlewarePermission.java b/services/voiceinteraction/java/com/android/server/soundtrigger_middleware/SoundTriggerMiddlewarePermission.java index 13fe14caa1f99..00cedd77414e6 100644 --- a/services/voiceinteraction/java/com/android/server/soundtrigger_middleware/SoundTriggerMiddlewarePermission.java +++ b/services/voiceinteraction/java/com/android/server/soundtrigger_middleware/SoundTriggerMiddlewarePermission.java @@ -78,7 +78,7 @@ public class SoundTriggerMiddlewarePermission implements ISoundTriggerMiddleware public @NonNull SoundTriggerModuleDescriptor[] listModules() { Identity identity = getIdentity(); - enforcePermissionsForPreflight(identity); + enforcePermissionForPreflight(mContext, identity, CAPTURE_AUDIO_HOTWORD); return mDelegate.listModules(); }