Loading media/java/android/media/AudioRecord.java +27 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,10 @@ package android.media; import java.lang.ref.WeakReference; import java.nio.ByteBuffer; import android.app.ActivityThread; import android.app.AppOpsManager; import android.content.Context; import android.os.Binder; import android.os.Handler; import android.os.Looper; import android.os.Message; Loading Loading @@ -522,6 +526,21 @@ public class AudioRecord return mSessionId; } //-------------------------------------------------------- // Check user permission //-------------------------------------------------------- private boolean checkPermission() { AppOpsManager appOps = (AppOpsManager) ActivityThread.currentApplication(). getSystemService(Context.APP_OPS_SERVICE); int callingUid = Binder.getCallingUid(); String callingPackage= ActivityThread.currentPackageName(); if (appOps.noteOp(AppOpsManager.OP_RECORD_AUDIO, callingUid, callingPackage) == AppOpsManager.MODE_ALLOWED) return true; else return false; } //--------------------------------------------------------- // Transport control methods //-------------------- Loading @@ -536,6 +555,10 @@ public class AudioRecord + "uninitialized AudioRecord."); } // check user permission if (!checkPermission()) return; // start recording synchronized(mRecordingStateLock) { if (native_start(MediaSyncEvent.SYNC_EVENT_NONE, 0) == SUCCESS) { Loading @@ -558,6 +581,10 @@ public class AudioRecord + "uninitialized AudioRecord."); } // check user permission if (!checkPermission()) return; // start recording synchronized(mRecordingStateLock) { if (native_start(syncEvent.getType(), syncEvent.getAudioSessionId()) == SUCCESS) { Loading Loading
media/java/android/media/AudioRecord.java +27 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,10 @@ package android.media; import java.lang.ref.WeakReference; import java.nio.ByteBuffer; import android.app.ActivityThread; import android.app.AppOpsManager; import android.content.Context; import android.os.Binder; import android.os.Handler; import android.os.Looper; import android.os.Message; Loading Loading @@ -522,6 +526,21 @@ public class AudioRecord return mSessionId; } //-------------------------------------------------------- // Check user permission //-------------------------------------------------------- private boolean checkPermission() { AppOpsManager appOps = (AppOpsManager) ActivityThread.currentApplication(). getSystemService(Context.APP_OPS_SERVICE); int callingUid = Binder.getCallingUid(); String callingPackage= ActivityThread.currentPackageName(); if (appOps.noteOp(AppOpsManager.OP_RECORD_AUDIO, callingUid, callingPackage) == AppOpsManager.MODE_ALLOWED) return true; else return false; } //--------------------------------------------------------- // Transport control methods //-------------------- Loading @@ -536,6 +555,10 @@ public class AudioRecord + "uninitialized AudioRecord."); } // check user permission if (!checkPermission()) return; // start recording synchronized(mRecordingStateLock) { if (native_start(MediaSyncEvent.SYNC_EVENT_NONE, 0) == SUCCESS) { Loading @@ -558,6 +581,10 @@ public class AudioRecord + "uninitialized AudioRecord."); } // check user permission if (!checkPermission()) return; // start recording synchronized(mRecordingStateLock) { if (native_start(syncEvent.getType(), syncEvent.getAudioSessionId()) == SUCCESS) { Loading