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

Commit 861ee7a8 authored by Nate Myren's avatar Nate Myren
Browse files

Only check downstream permissions in preflight in RecognitionService

Ensure that, in the preflight permission check, RecognitionService does
not check the service's own permissions. These will be checked if the
RecognitionService tries to access the mic

Fixes: 193111794
Test: manual
Change-Id: I172849f2e0368f9601dc298e6cf96d7a52219e5a
parent 73ffe99b
Loading
Loading
Loading
Loading
+2 −13
Original line number Diff line number Diff line
@@ -115,18 +115,14 @@ public abstract class RecognitionService extends Service {
            @NonNull AttributionSource attributionSource) {
        try {
            if (mCurrentCallback == null) {
                Context attributionContext = createContext(new ContextParams.Builder()
                        .setNextAttributionSource(attributionSource)
                        .build());
                boolean preflightPermissionCheckPassed = checkPermissionForPreflight(
                        attributionContext.getAttributionSource());
                        attributionSource);
                if (preflightPermissionCheckPassed) {
                    if (DBG) {
                        Log.d(TAG, "created new mCurrentCallback, listener = "
                                + listener.asBinder());
                    }
                    mCurrentCallback = new Callback(listener, attributionSource,
                            attributionContext);
                    mCurrentCallback = new Callback(listener, attributionSource);
                    RecognitionService.this.onStartListening(intent, mCurrentCallback);
                }

@@ -293,15 +289,8 @@ public abstract class RecognitionService extends Service {

        private Callback(IRecognitionListener listener,
                @NonNull AttributionSource attributionSource) {
            this(listener, attributionSource, null);
        }

        private Callback(IRecognitionListener listener,
                @NonNull AttributionSource attributionSource,
                @Nullable Context attributionContext) {
            mListener = listener;
            mCallingAttributionSource = attributionSource;
            mAttributionContext = attributionContext;
        }

        /**