summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Vladimir Komsiyski <vladokom@google.com> 2025-02-19 03:19:12 -0800
committer Android (Google) Code Review <android-gerrit@google.com> 2025-02-19 03:19:12 -0800
commitc9052e27cc8aa6f724b543f1a4ad764d761544c4 (patch)
tree9745dc9968f4acd09506a8a224f863f4e082194b
parentbf72299b1b94737e41a37e4829e183f54751db16 (diff)
parent3b391a78180b630681e2df36c57c7ff9ae4eba66 (diff)
Merge "Expose the public VD from VDMInternal" into main
-rw-r--r--services/companion/java/com/android/server/companion/virtual/VirtualDeviceManagerService.java5
-rw-r--r--services/core/java/com/android/server/companion/virtual/VirtualDeviceManagerInternal.java16
2 files changed, 21 insertions, 0 deletions
diff --git a/services/companion/java/com/android/server/companion/virtual/VirtualDeviceManagerService.java b/services/companion/java/com/android/server/companion/virtual/VirtualDeviceManagerService.java
index 139bbae26289..93b4de856463 100644
--- a/services/companion/java/com/android/server/companion/virtual/VirtualDeviceManagerService.java
+++ b/services/companion/java/com/android/server/companion/virtual/VirtualDeviceManagerService.java
@@ -891,6 +891,11 @@ public class VirtualDeviceManagerService extends SystemService {
}
@Override
+ public VirtualDevice getVirtualDevice(int deviceId) {
+ return mImpl.getVirtualDevice(deviceId);
+ }
+
+ @Override
public long getDimDurationMillisForDeviceId(int deviceId) {
VirtualDeviceImpl virtualDevice = getVirtualDeviceForId(deviceId);
return virtualDevice == null ? -1 : virtualDevice.getDimDurationMillis();
diff --git a/services/core/java/com/android/server/companion/virtual/VirtualDeviceManagerInternal.java b/services/core/java/com/android/server/companion/virtual/VirtualDeviceManagerInternal.java
index d412277d2605..f5284a3ed589 100644
--- a/services/core/java/com/android/server/companion/virtual/VirtualDeviceManagerInternal.java
+++ b/services/core/java/com/android/server/companion/virtual/VirtualDeviceManagerInternal.java
@@ -211,4 +211,20 @@ public abstract class VirtualDeviceManagerInternal {
*/
public abstract @NonNull VirtualDeviceManager.VirtualDevice createVirtualDevice(
@NonNull VirtualDeviceParams params);
+
+ /**
+ * Returns the details of the virtual device with the given ID, if any.
+ *
+ * <p>The returned object is a read-only representation of the virtual device that expose its
+ * properties.</p>
+ *
+ * <p>Note that if the virtual device is closed and becomes invalid, the returned object will
+ * not be updated and may contain stale values. Use a {@link VirtualDeviceListener} for real
+ * time updates of the availability of virtual devices.</p>
+ *
+ * @return the virtual device with the requested ID, or {@code null} if no such device exists or
+ * it has already been closed.
+ */
+ @Nullable
+ public abstract VirtualDevice getVirtualDevice(int deviceId);
}