From 105ce49b0dd94cbdd28c86ad3b544c01302dfd89 Mon Sep 17 00:00:00 2001 From: Ytai Ben-Tsvi Date: Wed, 7 Oct 2020 09:45:49 -0700 Subject: Remove soundtrigger permission checks for cancelation operations We should not require special permissions for unloading/stopping/ detaching. There are some scenarios where those operations would be performed after the session owner had already lost its privileges, such as when the designated assistant app gets replaced. The old app should still be allowed to clean up. Bug: 169628490 Test: atest GtsAssistIntentTestCases:com.google.android.assist.gts.KeyphraseModelManagerTest#testUpdateAndRemoveKeyphraseSoundModel Test still fails, but for different reasons. Change-Id: Iea64970f7b2d7b387e6e892d555bbb90c73b1a18 --- .../SoundTriggerMiddlewarePermission.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/services/core/java/com/android/server/soundtrigger_middleware/SoundTriggerMiddlewarePermission.java b/services/core/java/com/android/server/soundtrigger_middleware/SoundTriggerMiddlewarePermission.java index 7b6c6561ccf1..51b00faa28d2 100644 --- a/services/core/java/com/android/server/soundtrigger_middleware/SoundTriggerMiddlewarePermission.java +++ b/services/core/java/com/android/server/soundtrigger_middleware/SoundTriggerMiddlewarePermission.java @@ -236,7 +236,8 @@ public class SoundTriggerMiddlewarePermission implements ISoundTriggerMiddleware @Override public void unloadModel(int modelHandle) throws RemoteException { - enforcePermissions(); + // Unloading a model does not require special permissions. Having a handle to the + // session is sufficient. mDelegate.unloadModel(modelHandle); } @@ -250,7 +251,8 @@ public class SoundTriggerMiddlewarePermission implements ISoundTriggerMiddleware @Override public void stopRecognition(int modelHandle) throws RemoteException { - enforcePermissions(); + // Stopping a model does not require special permissions. Having a handle to the + // session is sufficient. mDelegate.stopRecognition(modelHandle); } @@ -284,7 +286,8 @@ public class SoundTriggerMiddlewarePermission implements ISoundTriggerMiddleware @Override public void detach() throws RemoteException { - enforcePermissions(); + // Detaching does not require special permissions. Having a handle to the session is + // sufficient. mDelegate.detach(); } -- cgit v1.2.3-59-g8ed1b