Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 10fed4a2 authored by Matt Gilbride's avatar Matt Gilbride Committed by Android (Google) Code Review
Browse files

Merge "@EnforcePermission migrations - other services"

parents ca08003d 244522cf
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -129,6 +129,7 @@ interface IVoiceInteractionManagerService {
     * @param activityToken optional token of activity that needs to be on top
     * @RequiresPermission Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE
     */
    @EnforcePermission("ACCESS_VOICE_INTERACTION_SERVICE")
    boolean showSessionForActiveService(in Bundle args, int sourceFlags,
            IVoiceInteractionSessionShowCallback showCallback, IBinder activityToken);

@@ -136,6 +137,7 @@ interface IVoiceInteractionManagerService {
     * Hides the session from the active service, if it is showing.
     * @RequiresPermission Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE
     */
    @EnforcePermission("ACCESS_VOICE_INTERACTION_SERVICE")
    void hideCurrentSession();

    /**
@@ -143,12 +145,14 @@ interface IVoiceInteractionManagerService {
     * be called if {@link #activeServiceSupportsLaunchFromKeyguard()} returns true.
     * @RequiresPermission Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE
     */
    @EnforcePermission("ACCESS_VOICE_INTERACTION_SERVICE")
    void launchVoiceAssistFromKeyguard();

    /**
     * Indicates whether there is a voice session running (but not necessarily showing).
     * @RequiresPermission Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE
     */
    @EnforcePermission("ACCESS_VOICE_INTERACTION_SERVICE")
    boolean isSessionRunning();

    /**
@@ -156,6 +160,7 @@ interface IVoiceInteractionManagerService {
     * assist gesture.
     * @RequiresPermission Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE
     */
    @EnforcePermission("ACCESS_VOICE_INTERACTION_SERVICE")
    boolean activeServiceSupportsAssist();

    /**
@@ -163,18 +168,21 @@ interface IVoiceInteractionManagerService {
     * from the lockscreen.
     * @RequiresPermission Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE
     */
    @EnforcePermission("ACCESS_VOICE_INTERACTION_SERVICE")
    boolean activeServiceSupportsLaunchFromKeyguard();

    /**
     * Called when the lockscreen got shown.
     * @RequiresPermission Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE
     */
    @EnforcePermission("ACCESS_VOICE_INTERACTION_SERVICE")
    void onLockscreenShown();

    /**
     * Register a voice interaction listener.
     * @RequiresPermission Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE
     */
    @EnforcePermission("ACCESS_VOICE_INTERACTION_SERVICE")
    void registerVoiceInteractionSessionListener(IVoiceInteractionSessionListener listener);

    /**
@@ -182,6 +190,7 @@ interface IVoiceInteractionManagerService {
     * Returns all supported voice actions.
     * @RequiresPermission Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE
     */
    @EnforcePermission("ACCESS_VOICE_INTERACTION_SERVICE")
    void getActiveServiceSupportedActions(in List<String> voiceActions,
     in IVoiceActionCheckCallback callback);

@@ -214,6 +223,7 @@ interface IVoiceInteractionManagerService {
     * NOTE: it's only effective when the service itself is available / enabled in the device, so
     * calling setDisable(false) would be a no-op when it isn't.
     */
    @EnforcePermission("ACCESS_VOICE_INTERACTION_SERVICE")
    void setDisabled(boolean disabled);

    /**
@@ -244,6 +254,7 @@ interface IVoiceInteractionManagerService {
     * @param callback Use this to report {@link HotwordDetectionService} status.
     * @param detectorType Indicate which detector is used.
     */
    @EnforcePermission("MANAGE_HOTWORD_DETECTION")
    void updateState(
            in Identity originatorIdentity,
            in PersistableBundle options,
@@ -256,6 +267,7 @@ interface IVoiceInteractionManagerService {
     */
    void shutdownHotwordDetectionService();

    @EnforcePermission(allOf={"RECORD_AUDIO", "CAPTURE_AUDIO_HOTWORD"})
    void startListeningFromMic(
        in AudioFormat audioFormat,
        in IMicrophoneHotwordDetectionVoiceInteractionCallback callback);
@@ -271,6 +283,7 @@ interface IVoiceInteractionManagerService {
    /**
     * Test API to simulate to trigger hardware recognition event for test.
     */
    @EnforcePermission(allOf={"RECORD_AUDIO", "CAPTURE_AUDIO_HOTWORD"})
    void triggerHardwareRecognitionEventForTest(
            in SoundTrigger.KeyphraseRecognitionEvent event,
            in IHotwordRecognitionStatusCallback callback);
+13 −15
Original line number Diff line number Diff line
@@ -1149,9 +1149,9 @@ public class VoiceInteractionManagerService extends SystemService {
            }
        }

        @android.annotation.EnforcePermission(android.Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE)
        @Override
        public void setDisabled(boolean disabled) {
            enforceCallingPermission(Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE);
            synchronized (this) {
                if (mTemporarilyDisabled == disabled) {
                    if (DEBUG) Slog.d(TAG, "setDisabled(): already " + disabled);
@@ -1207,6 +1207,7 @@ public class VoiceInteractionManagerService extends SystemService {

        //----------------- Hotword Detection/Validation APIs --------------------------------//

        @android.annotation.EnforcePermission(android.Manifest.permission.MANAGE_HOTWORD_DETECTION)
        @Override
        public void updateState(
                @NonNull Identity voiceInteractorIdentity,
@@ -1214,7 +1215,6 @@ public class VoiceInteractionManagerService extends SystemService {
                @Nullable SharedMemory sharedMemory,
                IHotwordRecognitionStatusCallback callback,
                int detectorType) {
            enforceCallingPermission(Manifest.permission.MANAGE_HOTWORD_DETECTION);
            synchronized (this) {
                enforceIsCurrentVoiceInteractionService();

@@ -1256,13 +1256,12 @@ public class VoiceInteractionManagerService extends SystemService {
            }
        }

        @android.annotation.EnforcePermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD})
        @Override
        public void startListeningFromMic(
                AudioFormat audioFormat,
                IMicrophoneHotwordDetectionVoiceInteractionCallback callback)
                throws RemoteException {
            enforceCallingPermission(Manifest.permission.RECORD_AUDIO);
            enforceCallingPermission(Manifest.permission.CAPTURE_AUDIO_HOTWORD);
            synchronized (this) {
                enforceIsCurrentVoiceInteractionService();

@@ -1322,13 +1321,12 @@ public class VoiceInteractionManagerService extends SystemService {
            }
        }

        @android.annotation.EnforcePermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD})
        @Override
        public void triggerHardwareRecognitionEventForTest(
                SoundTrigger.KeyphraseRecognitionEvent event,
                IHotwordRecognitionStatusCallback callback)
                throws RemoteException {
            enforceCallingPermission(Manifest.permission.RECORD_AUDIO);
            enforceCallingPermission(Manifest.permission.CAPTURE_AUDIO_HOTWORD);
            synchronized (this) {
                enforceIsCurrentVoiceInteractionService();

@@ -1669,10 +1667,10 @@ public class VoiceInteractionManagerService extends SystemService {
            }
        }

        @android.annotation.EnforcePermission(android.Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE)
        @Override
        public boolean showSessionForActiveService(Bundle args, int sourceFlags,
                IVoiceInteractionSessionShowCallback showCallback, IBinder activityToken) {
            enforceCallingPermission(Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE);
            if (DEBUG_USER) Slog.d(TAG, "showSessionForActiveService()");

            synchronized (this) {
@@ -1700,9 +1698,9 @@ public class VoiceInteractionManagerService extends SystemService {
            }
        }

        @android.annotation.EnforcePermission(android.Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE)
        @Override
        public void hideCurrentSession() throws RemoteException {
            enforceCallingPermission(Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE);

            if (mImpl == null) {
                return;
@@ -1721,9 +1719,9 @@ public class VoiceInteractionManagerService extends SystemService {
            }
        }

        @android.annotation.EnforcePermission(android.Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE)
        @Override
        public void launchVoiceAssistFromKeyguard() {
            enforceCallingPermission(Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE);
            synchronized (this) {
                if (mImpl == null) {
                    Slog.w(TAG, "launchVoiceAssistFromKeyguard without running voice interaction"
@@ -1739,34 +1737,34 @@ public class VoiceInteractionManagerService extends SystemService {
            }
        }

        @android.annotation.EnforcePermission(android.Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE)
        @Override
        public boolean isSessionRunning() {
            enforceCallingPermission(Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE);
            synchronized (this) {
                return mImpl != null && mImpl.mActiveSession != null;
            }
        }

        @android.annotation.EnforcePermission(android.Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE)
        @Override
        public boolean activeServiceSupportsAssist() {
            enforceCallingPermission(Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE);
            synchronized (this) {
                return mImpl != null && mImpl.mInfo != null && mImpl.mInfo.getSupportsAssist();
            }
        }

        @android.annotation.EnforcePermission(android.Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE)
        @Override
        public boolean activeServiceSupportsLaunchFromKeyguard() throws RemoteException {
            enforceCallingPermission(Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE);
            synchronized (this) {
                return mImpl != null && mImpl.mInfo != null
                        && mImpl.mInfo.getSupportsLaunchFromKeyguard();
            }
        }

        @android.annotation.EnforcePermission(android.Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE)
        @Override
        public void onLockscreenShown() {
            enforceCallingPermission(Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE);
            synchronized (this) {
                if (mImpl == null) {
                    return;
@@ -1786,19 +1784,19 @@ public class VoiceInteractionManagerService extends SystemService {
            }
        }

        @android.annotation.EnforcePermission(android.Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE)
        @Override
        public void registerVoiceInteractionSessionListener(
                IVoiceInteractionSessionListener listener) {
            enforceCallingPermission(Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE);
            synchronized (this) {
                mVoiceInteractionSessionListeners.register(listener);
            }
        }

        @android.annotation.EnforcePermission(android.Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE)
        @Override
        public void getActiveServiceSupportedActions(List<String> voiceActions,
                IVoiceActionCheckCallback callback) {
            enforceCallingPermission(Manifest.permission.ACCESS_VOICE_INTERACTION_SERVICE);
            synchronized (this) {
                if (mImpl == null) {
                    try {