diff options
| -rw-r--r-- | core/java/android/permission/PermissionManager.java | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/core/java/android/permission/PermissionManager.java b/core/java/android/permission/PermissionManager.java index 8495f3747573..fa9f03da6372 100644 --- a/core/java/android/permission/PermissionManager.java +++ b/core/java/android/permission/PermissionManager.java @@ -247,8 +247,6 @@ public final class PermissionManager { private final LegacyPermissionManager mLegacyPermissionManager; - private final VirtualDeviceManager mVirtualDeviceManager; - private final ArrayMap<PackageManager.OnPermissionsChangedListener, IOnPermissionsChangeListener> mPermissionListeners = new ArrayMap<>(); private PermissionUsageHelper mUsageHelper; @@ -269,7 +267,6 @@ public final class PermissionManager { mPermissionManager = IPermissionManager.Stub.asInterface(ServiceManager.getServiceOrThrow( "permissionmgr")); mLegacyPermissionManager = context.getSystemService(LegacyPermissionManager.class); - mVirtualDeviceManager = context.getSystemService(VirtualDeviceManager.class); } /** @@ -1918,14 +1915,18 @@ public final class PermissionManager { if (deviceId == Context.DEVICE_ID_DEFAULT) { persistentDeviceId = VirtualDeviceManager.PERSISTENT_DEVICE_ID_DEFAULT; } else if (android.companion.virtual.flags.Flags.vdmPublicApis()) { - VirtualDevice virtualDevice = mVirtualDeviceManager.getVirtualDevice(deviceId); - if (virtualDevice == null) { - Slog.e(LOG_TAG, "Virtual device is not found with device Id " + deviceId); - return null; - } - persistentDeviceId = virtualDevice.getPersistentDeviceId(); - if (persistentDeviceId == null) { - Slog.e(LOG_TAG, "Cannot find persistent device Id for " + deviceId); + VirtualDeviceManager virtualDeviceManager = mContext.getSystemService( + VirtualDeviceManager.class); + if (virtualDeviceManager != null) { + VirtualDevice virtualDevice = virtualDeviceManager.getVirtualDevice(deviceId); + if (virtualDevice == null) { + Slog.e(LOG_TAG, "Virtual device is not found with device Id " + deviceId); + return null; + } + persistentDeviceId = virtualDevice.getPersistentDeviceId(); + if (persistentDeviceId == null) { + Slog.e(LOG_TAG, "Cannot find persistent device Id for " + deviceId); + } } } else { Slog.e(LOG_TAG, "vdmPublicApis flag is not enabled when device Id " + deviceId |