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

Commit 46d4c22e authored by Shashank Mittal's avatar Shashank Mittal Committed by Linux Build Service Account
Browse files

AppOps: Fix audio permission check.

Audio permission should be checked for applications initializing audio.
For video only case this check should not be executed.

Change-Id: I0fd2fa1d6c54a303551564e1a278e8b49b837f90
parent 7e00fd51
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@
#include "WebmWriter.h"
#include "StagefrightRecorder.h"

#include <binder/AppOpsManager.h>
#include <binder/IPCThreadState.h>
#include <binder/IServiceManager.h>

@@ -893,6 +894,15 @@ status_t StagefrightRecorder::start() {
        }
    }

    if (mAudioSource != AUDIO_SOURCE_CNT) {
        //check permissions
        if (mAppOpsManager.noteOp(AppOpsManager::OP_RECORD_AUDIO, mClientUid,
                mClientName) != AppOpsManager::MODE_ALLOWED) {
            ALOGE("User permission denied to record audio.");
            return status;
        }
    }

    if (mWriter == NULL) {
        ALOGE("File writer is not avaialble");
        return UNKNOWN_ERROR;
+2 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@
#include <utils/String8.h>

#include <system/audio.h>
#include <binder/AppOpsManager.h>

namespace android {

@@ -71,6 +72,7 @@ struct StagefrightRecorder : public MediaRecorderBase {
    virtual sp<IGraphicBufferProducer> querySurfaceMediaSource() const;

private:
    AppOpsManager mAppOpsManager;
    sp<ICamera> mCamera;
    sp<ICameraRecordingProxy> mCameraProxy;
    sp<IGraphicBufferProducer> mPreviewSurface;