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

Commit 889aed25 authored by Ján Sebechlebský's avatar Ján Sebechlebský Committed by Android (Google) Code Review
Browse files

Merge "Cache camera id in VirtualCamera instance and make it immutable." into main

parents caa63d0a f6f0389f
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -346,7 +346,8 @@ public class VirtualDeviceInternal {
    VirtualCamera createVirtualCamera(@NonNull VirtualCameraConfig config) {
        try {
            mVirtualDevice.registerVirtualCamera(config);
            return new VirtualCamera(mVirtualDevice, config);
            return new VirtualCamera(mVirtualDevice,
                            Integer.toString(mVirtualDevice.getVirtualCameraId(config)), config);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
+7 −8
Original line number Diff line number Diff line
@@ -54,6 +54,8 @@ import java.util.concurrent.Executor;
public final class VirtualCamera implements Closeable {

    private final IVirtualDevice mVirtualDevice;

    private final String mCameraId;
    private final VirtualCameraConfig mConfig;

    /**
@@ -63,10 +65,12 @@ public final class VirtualCamera implements Closeable {
     * @param config Configuration for the new virtual camera
     * @hide
     */
    @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE)
    public VirtualCamera(
            @NonNull IVirtualDevice virtualDevice, @NonNull VirtualCameraConfig config) {
            @NonNull IVirtualDevice virtualDevice,
            @NonNull String cameraId,
            @NonNull VirtualCameraConfig config) {
        mVirtualDevice = Objects.requireNonNull(virtualDevice);
        mCameraId = Objects.requireNonNull(cameraId);
        mConfig = Objects.requireNonNull(config);
    }

@@ -80,14 +84,9 @@ public final class VirtualCamera implements Closeable {
     * Returns the id of this virtual camera instance.
     * @hide
     */
    @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE)
    @NonNull
    public String getId() {
        try {
            return Integer.toString(mVirtualDevice.getVirtualCameraId(mConfig));
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
        return mCameraId;
    }

    @Override