From 79b6c1cb92946eb6b8ac18caff717a16d1454348 Mon Sep 17 00:00:00 2001 From: Maurice Lam Date: Thu, 17 Feb 2022 08:19:44 +0000 Subject: [PATCH] Update VirtualDeviceManager.ActivityCallback API - Removed overload of addActivityListener that doesn't have executor - Moved executor to be before the listener Bug: 219985243 Test: atest CtsVirtualDevicesTestCases Change-Id: I0681aeabeeefde5ce2c3ff4da3f50acc7f22ca07 --- core/api/system-current.txt | 3 +-- .../companion/virtual/IVirtualDeviceManager.aidl | 1 + .../companion/virtual/VirtualDeviceManager.java | 15 ++------------- 3 files changed, 4 insertions(+), 15 deletions(-) diff --git a/core/api/system-current.txt b/core/api/system-current.txt index e611d6b16bd74..096cab9deea8e 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -2808,8 +2808,7 @@ package android.companion.virtual { } public static class VirtualDeviceManager.VirtualDevice implements java.lang.AutoCloseable { - method public void addActivityListener(@NonNull android.companion.virtual.VirtualDeviceManager.ActivityListener); - method public void addActivityListener(@NonNull android.companion.virtual.VirtualDeviceManager.ActivityListener, @NonNull java.util.concurrent.Executor); + 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 @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); diff --git a/core/java/android/companion/virtual/IVirtualDeviceManager.aidl b/core/java/android/companion/virtual/IVirtualDeviceManager.aidl index b7f826a940a84..a1640ee6d2e8e 100644 --- a/core/java/android/companion/virtual/IVirtualDeviceManager.aidl +++ b/core/java/android/companion/virtual/IVirtualDeviceManager.aidl @@ -37,6 +37,7 @@ interface IVirtualDeviceManager { * CDM. Virtual devices must have a corresponding association with CDM in order to be created. * @param params The parameters for creating this virtual device. See {@link * VirtualDeviceManager.VirtualDeviceParams}. + * @param activityListener The listener to listen for activity changes in a virtual device. */ IVirtualDevice createVirtualDevice( in IBinder token, String packageName, int associationId, diff --git a/core/java/android/companion/virtual/VirtualDeviceManager.java b/core/java/android/companion/virtual/VirtualDeviceManager.java index 02d140f047ccf..dc4b350ff44cb 100644 --- a/core/java/android/companion/virtual/VirtualDeviceManager.java +++ b/core/java/android/companion/virtual/VirtualDeviceManager.java @@ -425,23 +425,12 @@ public final class VirtualDeviceManager { * Adds an activity listener to listen for events such as top activity change or virtual * display task stack became empty. * + * @param executor The executor where the listener is executed on. * @param listener The listener to add. * @see #removeActivityListener(ActivityListener) */ - public void addActivityListener(@NonNull ActivityListener listener) { - addActivityListener(listener, mContext.getMainExecutor()); - } - - /** - * Adds an activity listener to listen for events such as top activity change or virtual - * display task stack became empty. - * - * @param listener The listener to add. - * @param executor The executor where the callback is executed on. - * @see #removeActivityListener(ActivityListener) - */ public void addActivityListener( - @NonNull ActivityListener listener, @NonNull Executor executor) { + @CallbackExecutor @NonNull Executor executor, @NonNull ActivityListener listener) { mActivityListeners.put(listener, new ActivityListenerDelegate(listener, executor)); }