From dc1ea7ce04745fded47577fb9c2ddce8485f1784 Mon Sep 17 00:00:00 2001 From: Nicholas Ambur Date: Fri, 17 Apr 2020 10:12:18 -0700 Subject: [PATCH] fix calling SoundTriggerMiddleware in safeMode deleteSoundModel is calling into the SoundTriggerModdleware when safe mode is enabled. Middleware should not be called in this case. Bug: 152354427 Test: atest SoundTriggerServiceTest#testServiceDisabledInSafeMode Change-Id: I1fa13fd32a384b59928a5deb9505dc4a1e757efa --- .../server/soundtrigger/SoundTriggerService.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerService.java b/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerService.java index 42e2bbf088342..6c13cd799bc26 100644 --- a/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerService.java +++ b/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerService.java @@ -346,12 +346,15 @@ public class SoundTriggerService extends SystemService { sEventLogger.log(new SoundTriggerLogger.StringEvent("deleteSoundModel(): id = " + soundModelId)); - // Unload the model if it is loaded. - mSoundTriggerHelper.unloadGenericSoundModel(soundModelId.getUuid()); - mDbHelper.deleteGenericSoundModel(soundModelId.getUuid()); + if (isInitialized()) { + // Unload the model if it is loaded. + mSoundTriggerHelper.unloadGenericSoundModel(soundModelId.getUuid()); - // Stop recognition if it is started. - mSoundModelStatTracker.onStop(soundModelId.getUuid()); + // Stop tracking recognition if it is started. + mSoundModelStatTracker.onStop(soundModelId.getUuid()); + } + + mDbHelper.deleteGenericSoundModel(soundModelId.getUuid()); } @Override