From bffa47fa0e9eafe19008d75fb6d33cd5dfdfda42 Mon Sep 17 00:00:00 2001 From: Antony Sargent Date: Wed, 30 Nov 2022 10:46:22 -0800 Subject: [PATCH] Add a convenience method for creating a device Context Bug: 261073567 Test: atest VirtualDeviceManagerBasicTest Change-Id: I7b10a9c3e3aa83b133b5782b1594d93994185c6e --- core/api/system-current.txt | 1 + .../companion/virtual/VirtualDeviceManager.java | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/core/api/system-current.txt b/core/api/system-current.txt index 13914c54a813e..6972031185c89 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -2956,6 +2956,7 @@ package android.companion.virtual { public static class VirtualDeviceManager.VirtualDevice implements java.lang.AutoCloseable { method public void addActivityListener(@NonNull java.util.concurrent.Executor, @NonNull android.companion.virtual.VirtualDeviceManager.ActivityListener); method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void close(); + method @NonNull public android.content.Context createContext(); method @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.companion.virtual.audio.VirtualAudioDevice createVirtualAudioDevice(@NonNull android.hardware.display.VirtualDisplay, @Nullable java.util.concurrent.Executor, @Nullable android.companion.virtual.audio.VirtualAudioDevice.AudioConfigurationChangeCallback); method @Nullable public android.hardware.display.VirtualDisplay createVirtualDisplay(@IntRange(from=1) int, @IntRange(from=1) int, @IntRange(from=1) int, @Nullable android.view.Surface, int, @Nullable java.util.concurrent.Executor, @Nullable android.hardware.display.VirtualDisplay.Callback); method @Nullable public android.hardware.display.VirtualDisplay createVirtualDisplay(@IntRange(from=1) int, @IntRange(from=1) int, @IntRange(from=1) int, @NonNull java.util.List, @Nullable android.view.Surface, int, @Nullable java.util.concurrent.Executor, @Nullable android.hardware.display.VirtualDisplay.Callback); diff --git a/core/java/android/companion/virtual/VirtualDeviceManager.java b/core/java/android/companion/virtual/VirtualDeviceManager.java index 01b42bfa661c1..e5b2e6ee4d5b0 100644 --- a/core/java/android/companion/virtual/VirtualDeviceManager.java +++ b/core/java/android/companion/virtual/VirtualDeviceManager.java @@ -309,6 +309,18 @@ public final class VirtualDeviceManager { } } + /** + * @return A new Context bound to this device. This is a convenience method equivalent to + * calling {@link Context#createDeviceContext(int)} with the device id of this device. + */ + public @NonNull Context createContext() { + try { + return mContext.createDeviceContext(mVirtualDevice.getDeviceId()); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); + } + } + /** * Returns this device's sensor with the given type and name, if any. *