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

Commit 3dbac658 authored by Vladimir Komsiyski's avatar Vladimir Komsiyski Committed by Android (Google) Code Review
Browse files

Merge "Switch the VDM internal API from associationId to persistentId." into main

parents dec997c1 bc5c1da7
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -102,13 +102,6 @@ public final class VirtualDeviceManager {
    public static final String EXTRA_VIRTUAL_DEVICE_ID =
            "android.companion.virtual.extra.VIRTUAL_DEVICE_ID";

    /**
     * A representation of an invalid CDM association ID. Association IDs must be positive.
     *
     * @hide
     */
    public static final int ASSOCIATION_ID_INVALID = -1;

    /** @hide */
    @Retention(RetentionPolicy.SOURCE)
    @IntDef(
+2 −4
Original line number Diff line number Diff line
@@ -687,14 +687,12 @@ public class VirtualDeviceManagerService extends SystemService {
        }

        @Override
        public int getAssociationIdForDevice(int deviceId) {
        public @Nullable String getPersistentIdForDevice(int deviceId) {
            VirtualDeviceImpl virtualDevice;
            synchronized (mVirtualDeviceManagerLock) {
                virtualDevice = mVirtualDevices.get(deviceId);
            }
            return virtualDevice == null
                    ? VirtualDeviceManager.ASSOCIATION_ID_INVALID
                    : virtualDevice.getAssociationId();
            return virtualDevice == null ? null : virtualDevice.getPersistentDeviceId();
        }

        @Override
+6 −5
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.server.companion.virtual;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.companion.virtual.IVirtualDevice;
import android.companion.virtual.VirtualDevice;
import android.companion.virtual.sensor.VirtualSensor;
import android.os.LocaleList;
import android.util.ArraySet;
@@ -158,12 +159,12 @@ public abstract class VirtualDeviceManagerInternal {
    public abstract @NonNull ArraySet<Integer> getDisplayIdsForDevice(int deviceId);

    /**
     * Gets the CDM association ID for the VirtualDevice with the given device ID.
     * Gets the persistent ID for the VirtualDevice with the given device ID.
     *
     * @param deviceId which device we're asking about
     * @return the CDM association ID for this device, or
     *   {@link android.companion.virtual.VirtualDeviceManager#ASSOCIATION_ID_INVALID} if no such
     *   association exists.
     * @return the persistent ID for this device, or {@code null} if no such ID exists.
     *
     * @see VirtualDevice#getPersistentDeviceId()
     */
    public abstract int getAssociationIdForDevice(int deviceId);
    public abstract @Nullable String getPersistentIdForDevice(int deviceId);
}
+10 −13
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@

package com.android.server.companion.virtual;

import static android.companion.virtual.VirtualDeviceManager.ASSOCIATION_ID_INVALID;
import static android.companion.virtual.VirtualDeviceParams.DEVICE_POLICY_CUSTOM;
import static android.companion.virtual.VirtualDeviceParams.DEVICE_POLICY_DEFAULT;
import static android.companion.virtual.VirtualDeviceParams.POLICY_TYPE_RECENTS;
@@ -1714,19 +1713,16 @@ public class VirtualDeviceManagerServiceTest {
    }

    @Test
    public void getAssociationIdForDevice_invalidDeviceId_returnsInvalidAssociationId() {
        assertThat(mLocalService.getAssociationIdForDevice(DEVICE_ID_INVALID))
                .isEqualTo(ASSOCIATION_ID_INVALID);
        assertThat(mLocalService.getAssociationIdForDevice(DEVICE_ID_DEFAULT))
                .isEqualTo(ASSOCIATION_ID_INVALID);
        assertThat(mLocalService.getAssociationIdForDevice(VIRTUAL_DEVICE_ID_2))
                .isEqualTo(ASSOCIATION_ID_INVALID);
    public void getPersistentIdForDevice_invalidDeviceId_returnsNull() {
        assertThat(mLocalService.getPersistentIdForDevice(DEVICE_ID_INVALID)).isNull();
        assertThat(mLocalService.getPersistentIdForDevice(DEVICE_ID_DEFAULT)).isNull();
        assertThat(mLocalService.getPersistentIdForDevice(VIRTUAL_DEVICE_ID_2)).isNull();
    }

    @Test
    public void getAssociationIdForDevice_returnsCorrectAssociationId() {
        assertThat(mLocalService.getAssociationIdForDevice(VIRTUAL_DEVICE_ID_1))
                .isEqualTo(mAssociationInfo.getId());
    public void getPersistentIdForDevice_returnsCorrectId() {
        assertThat(mLocalService.getPersistentIdForDevice(VIRTUAL_DEVICE_ID_1))
                .isEqualTo(mDeviceImpl.getPersistentDeviceId());
    }

    private VirtualDeviceImpl createVirtualDevice(int virtualDeviceId, int ownerUid) {
@@ -1740,12 +1736,13 @@ public class VirtualDeviceManagerServiceTest {
            VirtualDeviceParams params) {
        VirtualDeviceImpl virtualDeviceImpl = new VirtualDeviceImpl(mContext,
                mAssociationInfo, mVdms, new Binder(), ownerUid, virtualDeviceId,
                mInputController, mCameraAccessController
                /* onDeviceCloseListener= */ /*deviceId -> mVdms.removeVirtualDevice(deviceId)*/,
                mInputController, mCameraAccessController,
                mPendingTrampolineCallback, mActivityListener, mSoundEffectListener,
                mRunningAppsChangedCallback, params, new DisplayManagerGlobal(mIDisplayManager));
        mVdms.addVirtualDevice(virtualDeviceImpl);
        assertThat(virtualDeviceImpl.getAssociationId()).isEqualTo(mAssociationInfo.getId());
        assertThat(virtualDeviceImpl.getPersistentDeviceId())
                .isEqualTo("companion:" + mAssociationInfo.getId());
        return virtualDeviceImpl;
    }