From fc67e19bffe9fee9af2430607365fcc8a6bcf0d3 Mon Sep 17 00:00:00 2001 From: mattgilbride Date: Thu, 3 Nov 2022 14:05:31 +0000 Subject: [PATCH] VoiceInteraction - call PermissionEnforcer helper on methods annotated with @EnforcePermission Migrates all existing java methods annotated with @EnforcePermission such that they call the super._enforcePermission method provided by PermissionEnforcer. This required by the @EnforcePermission annotation, but is currently a no-op, and will be switched on with ag/20325484. Bug: 234083358 Test: TH Change-Id: Ib2a5f22cb4558a325cb7f11dd35c453afdb887d2 --- .../VoiceInteractionManagerService.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java index 151ff80adce85..7207e3738d775 100644 --- a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java +++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java @@ -1174,6 +1174,8 @@ public class VoiceInteractionManagerService extends SystemService { @android.annotation.EnforcePermission(android.Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE) @Override public void setDisabled(boolean disabled) { + super.setDisabled_enforcePermission(); + synchronized (this) { if (mTemporarilyDisabled == disabled) { if (DEBUG) Slog.d(TAG, "setDisabled(): already " + disabled); @@ -1244,6 +1246,8 @@ public class VoiceInteractionManagerService extends SystemService { public void updateState( @Nullable PersistableBundle options, @Nullable SharedMemory sharedMemory) { + super.updateState_enforcePermission(); + synchronized (this) { enforceIsCurrentVoiceInteractionService(); @@ -1260,6 +1264,8 @@ public class VoiceInteractionManagerService extends SystemService { @Nullable SharedMemory sharedMemory, IHotwordRecognitionStatusCallback callback, int detectorType) { + super.initAndVerifyDetector_enforcePermission(); + synchronized (this) { enforceIsCurrentVoiceInteractionService(); @@ -1711,6 +1717,8 @@ public class VoiceInteractionManagerService extends SystemService { @Nullable String attributionTag, @Nullable IVoiceInteractionSessionShowCallback showCallback, @Nullable IBinder activityToken) { + super.showSessionForActiveService_enforcePermission(); + if (DEBUG_USER) Slog.d(TAG, "showSessionForActiveService()"); synchronized (this) { @@ -1742,6 +1750,8 @@ public class VoiceInteractionManagerService extends SystemService { @Override public void hideCurrentSession() throws RemoteException { + super.hideCurrentSession_enforcePermission(); + if (mImpl == null) { return; } @@ -1762,6 +1772,8 @@ public class VoiceInteractionManagerService extends SystemService { @android.annotation.EnforcePermission(android.Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE) @Override public void launchVoiceAssistFromKeyguard() { + super.launchVoiceAssistFromKeyguard_enforcePermission(); + synchronized (this) { if (mImpl == null) { Slog.w(TAG, "launchVoiceAssistFromKeyguard without running voice interaction" @@ -1780,6 +1792,8 @@ public class VoiceInteractionManagerService extends SystemService { @android.annotation.EnforcePermission(android.Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE) @Override public boolean isSessionRunning() { + super.isSessionRunning_enforcePermission(); + synchronized (this) { return mImpl != null && mImpl.mActiveSession != null; } @@ -1788,6 +1802,8 @@ public class VoiceInteractionManagerService extends SystemService { @android.annotation.EnforcePermission(android.Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE) @Override public boolean activeServiceSupportsAssist() { + super.activeServiceSupportsAssist_enforcePermission(); + synchronized (this) { return mImpl != null && mImpl.mInfo != null && mImpl.mInfo.getSupportsAssist(); } @@ -1796,6 +1812,8 @@ public class VoiceInteractionManagerService extends SystemService { @android.annotation.EnforcePermission(android.Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE) @Override public boolean activeServiceSupportsLaunchFromKeyguard() throws RemoteException { + super.activeServiceSupportsLaunchFromKeyguard_enforcePermission(); + synchronized (this) { return mImpl != null && mImpl.mInfo != null && mImpl.mInfo.getSupportsLaunchFromKeyguard(); @@ -1805,6 +1823,8 @@ public class VoiceInteractionManagerService extends SystemService { @android.annotation.EnforcePermission(android.Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE) @Override public void onLockscreenShown() { + super.onLockscreenShown_enforcePermission(); + synchronized (this) { if (mImpl == null) { return; @@ -1828,6 +1848,8 @@ public class VoiceInteractionManagerService extends SystemService { @Override public void registerVoiceInteractionSessionListener( IVoiceInteractionSessionListener listener) { + super.registerVoiceInteractionSessionListener_enforcePermission(); + synchronized (this) { mVoiceInteractionSessionListeners.register(listener); } @@ -1837,6 +1859,8 @@ public class VoiceInteractionManagerService extends SystemService { @Override public void getActiveServiceSupportedActions(List voiceActions, IVoiceActionCheckCallback callback) { + super.getActiveServiceSupportedActions_enforcePermission(); + synchronized (this) { if (mImpl == null) { try {