Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit db9dad2c authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Make executor @Nullable in createVirtualDisplay" into tm-dev am: 57da9a6e

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16980470

Change-Id: I46409d974927f94aa8aee468b51d044530b0154b
parents e3c5623e 57da9a6e
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -2793,7 +2793,7 @@ package android.companion.virtual {
    method public void addActivityListener(@NonNull android.companion.virtual.VirtualDeviceManager.ActivityListener, @NonNull java.util.concurrent.Executor);
    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 @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 @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.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.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);
    method @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.hardware.input.VirtualTouchscreen createVirtualTouchscreen(@NonNull android.hardware.display.VirtualDisplay, @NonNull String, int, int);
+4 −4
Original line number Original line Diff line number Diff line
@@ -48,7 +48,6 @@ import android.os.ResultReceiver;
import android.util.ArrayMap;
import android.util.ArrayMap;
import android.view.Surface;
import android.view.Surface;


import java.util.Objects;
import java.util.concurrent.Executor;
import java.util.concurrent.Executor;


/**
/**
@@ -223,7 +222,8 @@ public final class VirtualDeviceManager {
         * {@link DisplayManager#VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY
         * {@link DisplayManager#VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY
         * 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
         * @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
         * @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
         * @return The newly created virtual display, or {@code null} if the application could
         * not create the virtual display.
         * not create the virtual display.
@@ -237,7 +237,7 @@ public final class VirtualDeviceManager {
                @IntRange(from = 1) int densityDpi,
                @IntRange(from = 1) int densityDpi,
                @Nullable Surface surface,
                @Nullable Surface surface,
                @VirtualDisplayFlag int flags,
                @VirtualDisplayFlag int flags,
                @NonNull @CallbackExecutor Executor executor,
                @Nullable @CallbackExecutor Executor executor,
                @Nullable VirtualDisplay.Callback callback) {
                @Nullable VirtualDisplay.Callback callback) {
            // TODO(b/205343547): Handle display groups properly instead of creating a new display
            // TODO(b/205343547): Handle display groups properly instead of creating a new display
            //  group for every new virtual display created using this API.
            //  group for every new virtual display created using this API.
@@ -253,7 +253,7 @@ public final class VirtualDeviceManager {
                            .setFlags(getVirtualDisplayFlags(flags))
                            .setFlags(getVirtualDisplayFlags(flags))
                            .build(),
                            .build(),
                    callback,
                    callback,
                    Objects.requireNonNull(executor));
                    executor);
        }
        }


        /**
        /**
+1 −1
Original line number Original line Diff line number Diff line
@@ -957,7 +957,7 @@ public final class DisplayManager {
    public VirtualDisplay createVirtualDisplay(@Nullable IVirtualDevice virtualDevice,
    public VirtualDisplay createVirtualDisplay(@Nullable IVirtualDevice virtualDevice,
            @NonNull VirtualDisplayConfig virtualDisplayConfig,
            @NonNull VirtualDisplayConfig virtualDisplayConfig,
            @Nullable VirtualDisplay.Callback callback,
            @Nullable VirtualDisplay.Callback callback,
            @NonNull Executor executor) {
            @Nullable Executor executor) {
        return mGlobal.createVirtualDisplay(mContext, null /* projection */, virtualDevice,
        return mGlobal.createVirtualDisplay(mContext, null /* projection */, virtualDevice,
                virtualDisplayConfig, callback, executor, null);
                virtualDisplayConfig, callback, executor, null);
    }
    }
+8 −0
Original line number Original line Diff line number Diff line
@@ -1054,6 +1054,14 @@ public final class DisplayManagerGlobal {
        @Nullable private final VirtualDisplay.Callback mCallback;
        @Nullable private final VirtualDisplay.Callback mCallback;
        @Nullable private final Executor mExecutor;
        @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) {
        VirtualDisplayCallback(VirtualDisplay.Callback callback, Executor executor) {
            mCallback = callback;
            mCallback = callback;
            mExecutor = mCallback != null ? Objects.requireNonNull(executor) : null;
            mExecutor = mCallback != null ? Objects.requireNonNull(executor) : null;