Loading core/java/android/companion/virtual/flags.aconfig +11 −4 Original line number Diff line number Diff line Loading @@ -43,6 +43,13 @@ flag { bug: "270352264" } flag { name: "stream_camera" namespace: "virtual_devices" description: "Enable streaming camera to Virtual Devices" bug: "291740640" } flag { name: "stream_permissions" namespace: "virtual_devices" Loading services/companion/java/com/android/server/companion/virtual/VirtualDeviceImpl.java +9 −3 Original line number Diff line number Diff line Loading @@ -326,7 +326,9 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub mSensorController = new SensorController(this, mDeviceId, mParams.getVirtualSensorCallback(), mParams.getVirtualSensorConfigs()); mCameraAccessController = cameraAccessController; if (mCameraAccessController != null) { mCameraAccessController.startObservingIfNeeded(); } if (!Flags.streamPermissions()) { mPermissionDialogComponent = getPermissionDialogComponent(); } else { Loading Loading @@ -566,7 +568,9 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub } mAppToken.unlinkToDeath(this, 0); if (mCameraAccessController != null) { mCameraAccessController.stopObservingIfNeeded(); } mInputController.close(); mSensorController.close(); Loading @@ -586,7 +590,9 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub @Override @RequiresPermission(android.Manifest.permission.CAMERA_INJECT_EXTERNAL_CAMERA) public void onRunningAppsChanged(ArraySet<Integer> runningUids) { if (mCameraAccessController != null) { mCameraAccessController.blockCameraAccessIfNeeded(runningUids); } mRunningAppsChangedCallback.accept(runningUids); } Loading services/companion/java/com/android/server/companion/virtual/VirtualDeviceManagerService.java +3 −0 Original line number Diff line number Diff line Loading @@ -187,6 +187,9 @@ public class VirtualDeviceManagerService extends SystemService { } CameraAccessController getCameraAccessController(UserHandle userHandle) { if (Flags.streamCamera()) { return null; } int userId = userHandle.getIdentifier(); synchronized (mVirtualDeviceManagerLock) { for (int i = 0; i < mVirtualDevices.size(); i++) { Loading Loading
core/java/android/companion/virtual/flags.aconfig +11 −4 Original line number Diff line number Diff line Loading @@ -43,6 +43,13 @@ flag { bug: "270352264" } flag { name: "stream_camera" namespace: "virtual_devices" description: "Enable streaming camera to Virtual Devices" bug: "291740640" } flag { name: "stream_permissions" namespace: "virtual_devices" Loading
services/companion/java/com/android/server/companion/virtual/VirtualDeviceImpl.java +9 −3 Original line number Diff line number Diff line Loading @@ -326,7 +326,9 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub mSensorController = new SensorController(this, mDeviceId, mParams.getVirtualSensorCallback(), mParams.getVirtualSensorConfigs()); mCameraAccessController = cameraAccessController; if (mCameraAccessController != null) { mCameraAccessController.startObservingIfNeeded(); } if (!Flags.streamPermissions()) { mPermissionDialogComponent = getPermissionDialogComponent(); } else { Loading Loading @@ -566,7 +568,9 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub } mAppToken.unlinkToDeath(this, 0); if (mCameraAccessController != null) { mCameraAccessController.stopObservingIfNeeded(); } mInputController.close(); mSensorController.close(); Loading @@ -586,7 +590,9 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub @Override @RequiresPermission(android.Manifest.permission.CAMERA_INJECT_EXTERNAL_CAMERA) public void onRunningAppsChanged(ArraySet<Integer> runningUids) { if (mCameraAccessController != null) { mCameraAccessController.blockCameraAccessIfNeeded(runningUids); } mRunningAppsChangedCallback.accept(runningUids); } Loading
services/companion/java/com/android/server/companion/virtual/VirtualDeviceManagerService.java +3 −0 Original line number Diff line number Diff line Loading @@ -187,6 +187,9 @@ public class VirtualDeviceManagerService extends SystemService { } CameraAccessController getCameraAccessController(UserHandle userHandle) { if (Flags.streamCamera()) { return null; } int userId = userHandle.getIdentifier(); synchronized (mVirtualDeviceManagerLock) { for (int i = 0; i < mVirtualDevices.size(); i++) { Loading