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

Commit 7e6095cc authored by Jan Sebechlebsky's avatar Jan Sebechlebsky Committed by Ján Sebechlebský
Browse files

Use SparseArray.get to fetch VD instances by id

... instead of looping over the array.

Bug: 263231559
Test: atest VirtualDeviceManagerBasicTest

Change-Id: I400fc2f6b701cca97dd5ba534abbe18202e722e4
parent 773c2c9f
Loading
Loading
Loading
Loading
+6 −15
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.server.companion.virtual;

import static android.companion.virtual.VirtualDeviceParams.DEVICE_POLICY_DEFAULT;
import static android.media.AudioManager.AUDIO_SESSION_ID_GENERATE;

import static com.android.server.wm.ActivityInterceptorCallback.VIRTUAL_DEVICE_SERVICE_ORDERED_ID;
@@ -363,14 +364,10 @@ public class VirtualDeviceManagerService extends SystemService {
        @VirtualDeviceParams.DevicePolicy
        public int getDevicePolicy(int deviceId, @VirtualDeviceParams.PolicyType int policyType) {
            synchronized (mVirtualDeviceManagerLock) {
                for (int i = 0; i < mVirtualDevices.size(); i++) {
                    final VirtualDeviceImpl device = mVirtualDevices.valueAt(i);
                    if (device.getDeviceId() == deviceId) {
                        return device.getDevicePolicy(policyType);
                    }
                }
                VirtualDeviceImpl virtualDevice = mVirtualDevices.get(deviceId);
                return virtualDevice != null
                        ? virtualDevice.getDevicePolicy(policyType) : DEVICE_POLICY_DEFAULT;
            }
            return VirtualDeviceParams.DEVICE_POLICY_DEFAULT;
        }


@@ -513,15 +510,9 @@ public class VirtualDeviceManagerService extends SystemService {
        @Override
        public int getDeviceOwnerUid(int deviceId) {
            synchronized (mVirtualDeviceManagerLock) {
                int size = mVirtualDevices.size();
                for (int i = 0; i < size; i++) {
                    VirtualDeviceImpl device = mVirtualDevices.valueAt(i);
                    if (device.getDeviceId() == deviceId) {
                        return device.getOwnerUid();
                    }
                }
                VirtualDeviceImpl virtualDevice = mVirtualDevices.get(deviceId);
                return virtualDevice != null ? virtualDevice.getOwnerUid() : Process.INVALID_UID;
            }
            return Process.INVALID_UID;
        }

        @Override