Merge "Make executor @Nullable in createVirtualDisplay"
This commit is contained in:
committed by
Android (Google) Code Review
commit
a1b0c8b975
@@ -2794,7 +2794,7 @@ package android.companion.virtual {
|
||||
method public void addActivityListener(@NonNull android.companion.virtual.VirtualDeviceManager.ActivityListener, @NonNull java.util.concurrent.Executor);
|
||||
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, @NonNull 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, @Nullable android.view.Surface, int, @Nullable java.util.concurrent.Executor, @Nullable android.hardware.display.VirtualDisplay.Callback);
|
||||
method @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.hardware.input.VirtualKeyboard createVirtualKeyboard(@NonNull android.hardware.display.VirtualDisplay, @NonNull String, int, int);
|
||||
method @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.hardware.input.VirtualMouse createVirtualMouse(@NonNull android.hardware.display.VirtualDisplay, @NonNull String, int, int);
|
||||
method @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.hardware.input.VirtualTouchscreen createVirtualTouchscreen(@NonNull android.hardware.display.VirtualDisplay, @NonNull String, int, int);
|
||||
|
||||
@@ -48,7 +48,6 @@ import android.os.ResultReceiver;
|
||||
import android.util.ArrayMap;
|
||||
import android.view.Surface;
|
||||
|
||||
import java.util.Objects;
|
||||
import java.util.concurrent.Executor;
|
||||
|
||||
/**
|
||||
@@ -223,7 +222,8 @@ public final class VirtualDeviceManager {
|
||||
* {@link DisplayManager#VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY
|
||||
* VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY}.
|
||||
* @param executor The executor on which {@code callback} will be invoked. This is ignored
|
||||
* if {@code callback} is {@code null}.
|
||||
* if {@code callback} is {@code null}. If {@code callback} is specified, this executor must
|
||||
* not be null.
|
||||
* @param callback Callback to call when the state of the {@link VirtualDisplay} changes
|
||||
* @return The newly created virtual display, or {@code null} if the application could
|
||||
* not create the virtual display.
|
||||
@@ -237,7 +237,7 @@ public final class VirtualDeviceManager {
|
||||
@IntRange(from = 1) int densityDpi,
|
||||
@Nullable Surface surface,
|
||||
@VirtualDisplayFlag int flags,
|
||||
@NonNull @CallbackExecutor Executor executor,
|
||||
@Nullable @CallbackExecutor Executor executor,
|
||||
@Nullable VirtualDisplay.Callback callback) {
|
||||
// TODO(b/205343547): Handle display groups properly instead of creating a new display
|
||||
// group for every new virtual display created using this API.
|
||||
@@ -253,7 +253,7 @@ public final class VirtualDeviceManager {
|
||||
.setFlags(getVirtualDisplayFlags(flags))
|
||||
.build(),
|
||||
callback,
|
||||
Objects.requireNonNull(executor));
|
||||
executor);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -957,7 +957,7 @@ public final class DisplayManager {
|
||||
public VirtualDisplay createVirtualDisplay(@Nullable IVirtualDevice virtualDevice,
|
||||
@NonNull VirtualDisplayConfig virtualDisplayConfig,
|
||||
@Nullable VirtualDisplay.Callback callback,
|
||||
@NonNull Executor executor) {
|
||||
@Nullable Executor executor) {
|
||||
return mGlobal.createVirtualDisplay(mContext, null /* projection */, virtualDevice,
|
||||
virtualDisplayConfig, callback, executor, null);
|
||||
}
|
||||
|
||||
@@ -1054,6 +1054,14 @@ public final class DisplayManagerGlobal {
|
||||
@Nullable private final VirtualDisplay.Callback mCallback;
|
||||
@Nullable private final Executor mExecutor;
|
||||
|
||||
/**
|
||||
* Creates a virtual display callback.
|
||||
*
|
||||
* @param callback The callback to call for virtual display events, or {@code null} if the
|
||||
* caller does not wish to receive callback events.
|
||||
* @param executor The executor to call the {@code callback} on. Must not be {@code null} if
|
||||
* the callback is not {@code null}.
|
||||
*/
|
||||
VirtualDisplayCallback(VirtualDisplay.Callback callback, Executor executor) {
|
||||
mCallback = callback;
|
||||
mExecutor = mCallback != null ? Objects.requireNonNull(executor) : null;
|
||||
|
||||
Reference in New Issue
Block a user