SoundTriggerTestApp: also unload on error conditions

When the service is killed/going down, it should unload all the sound
models it has running as part of being a good citizen.

Test: Kill/stop the service and see that the models are evicted from the
HAL

Change-Id: I6f88c8327682df5870b381d5bafda79e67fb7079
diff --git a/tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/SoundTriggerTestService.java b/tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/SoundTriggerTestService.java
index a2385d6..b550cfa 100644
--- a/tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/SoundTriggerTestService.java
+++ b/tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/SoundTriggerTestService.java
@@ -100,7 +100,7 @@
     @Override
     public void onDestroy() {
         super.onDestroy();
-        stopAllRecognitions();
+        stopAllRecognitionsAndUnload();
         unregisterReceiver(mBroadcastReceiver);
     }
 
@@ -171,7 +171,7 @@
     @Override
     public void onTaskRemoved(Intent rootIntent) {
         super.onTaskRemoved(rootIntent);
-        stopAllRecognitions();
+        stopAllRecognitionsAndUnload();
         stopSelf();
     }
 
@@ -197,8 +197,10 @@
         }
     }
 
-    private synchronized void stopAllRecognitions() {
+    private synchronized void stopAllRecognitionsAndUnload() {
+        Log.e(TAG, "Stop all recognitions");
         for (ModelInfo modelInfo : mModelInfoMap.values()) {
+            Log.e(TAG, "Loop " + modelInfo.modelUuid);
             if (modelInfo.detector != null) {
                 Log.i(TAG, "Stopping recognition for " + modelInfo.name);
                 try {
@@ -206,6 +208,12 @@
                 } catch (Exception e) {
                     Log.e(TAG, "Failed to stop recognition", e);
                 }
+                try {
+                    mSoundTriggerUtil.deleteSoundModel(modelInfo.modelUuid);
+                    modelInfo.detector = null;
+                } catch (Exception e) {
+                    Log.e(TAG, "Failed to unload sound model", e);
+                }
             }
         }
     }