Loading core/java/android/app/ActivityThread.java +6 −0 Original line number Diff line number Diff line Loading @@ -1638,6 +1638,12 @@ public final class ActivityThread { return sCurrentActivityThread; } public static String currentOpPackageName() { ActivityThread am = currentActivityThread(); return (am != null && am.getApplication() != null) ? am.getApplication().getOpPackageName() : null; } public static String currentPackageName() { ActivityThread am = currentActivityThread(); return (am != null && am.mBoundApplication != null) Loading core/java/android/hardware/Camera.java +2 −3 Original line number Diff line number Diff line Loading @@ -460,9 +460,8 @@ public class Camera { mEventHandler = null; } String packageName = ActivityThread.currentPackageName(); return native_setup(new WeakReference<Camera>(this), cameraId, halVersion, packageName); return native_setup(new WeakReference<Camera>(this), cameraId, halVersion, ActivityThread.currentOpPackageName()); } private int cameraInitNormal(int cameraId) { Loading core/java/android/hardware/ICameraService.aidl +3 −3 Original line number Diff line number Diff line Loading @@ -38,13 +38,13 @@ interface ICameraService int getCameraInfo(int cameraId, out CameraInfo info); int connect(ICameraClient client, int cameraId, String clientPackageName, String opPackageName, int clientUid, // Container for an ICamera object out BinderHolder device); int connectDevice(ICameraDeviceCallbacks callbacks, int cameraId, String clientPackageName, String opPackageName, int clientUid, // Container for an ICameraDeviceUser object out BinderHolder device); Loading @@ -69,7 +69,7 @@ interface ICameraService int connectLegacy(ICameraClient client, int cameraId, int halVersion, String clientPackageName, String opPackageName, int clientUid, // Container for an ICamera object out BinderHolder device); Loading core/java/android/hardware/camera2/CameraManager.java +1 −1 Original line number Diff line number Diff line Loading @@ -314,7 +314,7 @@ public final class CameraManager { "Camera service is currently unavailable"); } cameraService.connectDevice(callbacks, id, mContext.getPackageName(), USE_CALLING_UID, holder); mContext.getOpPackageName(), USE_CALLING_UID, holder); cameraUser = ICameraDeviceUser.Stub.asInterface(holder.getBinder()); } else { // Use legacy camera implementation for HAL1 devices Loading media/java/android/media/AudioRecord.java +1 −13 Original line number Diff line number Diff line Loading @@ -27,7 +27,6 @@ import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.SystemApi; import android.app.ActivityThread; import android.app.Application; import android.os.Binder; import android.os.Handler; import android.os.IBinder; Loading Loading @@ -380,7 +379,7 @@ public class AudioRecord int initResult = native_setup( new WeakReference<AudioRecord>(this), mAudioAttributes, mSampleRate, mChannelMask, mChannelIndexMask, mAudioFormat, mNativeBufferSizeInBytes, session, getMyOpPackageName()); session, ActivityThread.currentOpPackageName()); if (initResult != SUCCESS) { loge("Error code "+initResult+" when initializing native AudioRecord object."); return; // with mState == STATE_UNINITIALIZED Loading Loading @@ -1500,15 +1499,4 @@ public class AudioRecord private static void loge(String msg) { Log.e(TAG, msg); } private static String getMyOpPackageName() { ActivityThread activityThread = ActivityThread.currentActivityThread(); if (activityThread != null) { Application application = activityThread.getApplication(); if (application != null) { return application.getOpPackageName(); } } throw new IllegalStateException("Cannot create AudioRecord outside of an app"); } } Loading
core/java/android/app/ActivityThread.java +6 −0 Original line number Diff line number Diff line Loading @@ -1638,6 +1638,12 @@ public final class ActivityThread { return sCurrentActivityThread; } public static String currentOpPackageName() { ActivityThread am = currentActivityThread(); return (am != null && am.getApplication() != null) ? am.getApplication().getOpPackageName() : null; } public static String currentPackageName() { ActivityThread am = currentActivityThread(); return (am != null && am.mBoundApplication != null) Loading
core/java/android/hardware/Camera.java +2 −3 Original line number Diff line number Diff line Loading @@ -460,9 +460,8 @@ public class Camera { mEventHandler = null; } String packageName = ActivityThread.currentPackageName(); return native_setup(new WeakReference<Camera>(this), cameraId, halVersion, packageName); return native_setup(new WeakReference<Camera>(this), cameraId, halVersion, ActivityThread.currentOpPackageName()); } private int cameraInitNormal(int cameraId) { Loading
core/java/android/hardware/ICameraService.aidl +3 −3 Original line number Diff line number Diff line Loading @@ -38,13 +38,13 @@ interface ICameraService int getCameraInfo(int cameraId, out CameraInfo info); int connect(ICameraClient client, int cameraId, String clientPackageName, String opPackageName, int clientUid, // Container for an ICamera object out BinderHolder device); int connectDevice(ICameraDeviceCallbacks callbacks, int cameraId, String clientPackageName, String opPackageName, int clientUid, // Container for an ICameraDeviceUser object out BinderHolder device); Loading @@ -69,7 +69,7 @@ interface ICameraService int connectLegacy(ICameraClient client, int cameraId, int halVersion, String clientPackageName, String opPackageName, int clientUid, // Container for an ICamera object out BinderHolder device); Loading
core/java/android/hardware/camera2/CameraManager.java +1 −1 Original line number Diff line number Diff line Loading @@ -314,7 +314,7 @@ public final class CameraManager { "Camera service is currently unavailable"); } cameraService.connectDevice(callbacks, id, mContext.getPackageName(), USE_CALLING_UID, holder); mContext.getOpPackageName(), USE_CALLING_UID, holder); cameraUser = ICameraDeviceUser.Stub.asInterface(holder.getBinder()); } else { // Use legacy camera implementation for HAL1 devices Loading
media/java/android/media/AudioRecord.java +1 −13 Original line number Diff line number Diff line Loading @@ -27,7 +27,6 @@ import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.SystemApi; import android.app.ActivityThread; import android.app.Application; import android.os.Binder; import android.os.Handler; import android.os.IBinder; Loading Loading @@ -380,7 +379,7 @@ public class AudioRecord int initResult = native_setup( new WeakReference<AudioRecord>(this), mAudioAttributes, mSampleRate, mChannelMask, mChannelIndexMask, mAudioFormat, mNativeBufferSizeInBytes, session, getMyOpPackageName()); session, ActivityThread.currentOpPackageName()); if (initResult != SUCCESS) { loge("Error code "+initResult+" when initializing native AudioRecord object."); return; // with mState == STATE_UNINITIALIZED Loading Loading @@ -1500,15 +1499,4 @@ public class AudioRecord private static void loge(String msg) { Log.e(TAG, msg); } private static String getMyOpPackageName() { ActivityThread activityThread = ActivityThread.currentActivityThread(); if (activityThread != null) { Application application = activityThread.getApplication(); if (application != null) { return application.getOpPackageName(); } } throw new IllegalStateException("Cannot create AudioRecord outside of an app"); } }