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

Commit 8d087bfc authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Address VirtualDisplayConfig API feedback." into udc-dev

parents c0fca287 9fcb7561
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -19593,7 +19593,7 @@ package android.hardware.display {
  public final class VirtualDisplayConfig implements android.os.Parcelable {
    method public int describeContents();
    method public int getDensityDpi();
    method @NonNull public java.util.List<java.lang.String> getDisplayCategories();
    method @NonNull public java.util.Set<java.lang.String> getDisplayCategories();
    method public int getFlags();
    method public int getHeight();
    method @NonNull public String getName();
@@ -19608,7 +19608,7 @@ package android.hardware.display {
    ctor public VirtualDisplayConfig.Builder(@NonNull String, @IntRange(from=1) int, @IntRange(from=1) int, @IntRange(from=1) int);
    method @NonNull public android.hardware.display.VirtualDisplayConfig.Builder addDisplayCategory(@NonNull String);
    method @NonNull public android.hardware.display.VirtualDisplayConfig build();
    method @NonNull public android.hardware.display.VirtualDisplayConfig.Builder setDisplayCategories(@NonNull java.util.List<java.lang.String>);
    method @NonNull public android.hardware.display.VirtualDisplayConfig.Builder setDisplayCategories(@NonNull java.util.Set<java.lang.String>);
    method @NonNull public android.hardware.display.VirtualDisplayConfig.Builder setFlags(int);
    method @NonNull public android.hardware.display.VirtualDisplayConfig.Builder setRequestedRefreshRate(@FloatRange(from=0.0f) float);
    method @NonNull public android.hardware.display.VirtualDisplayConfig.Builder setSurface(@Nullable android.view.Surface);
+6 −5
Original line number Diff line number Diff line
@@ -545,12 +545,13 @@ public final class VirtualDeviceManager {
                @VirtualDisplayFlag int flags,
                @Nullable @CallbackExecutor Executor executor,
                @Nullable VirtualDisplay.Callback callback) {
            VirtualDisplayConfig config = new VirtualDisplayConfig.Builder(
            VirtualDisplayConfig.Builder builder = new VirtualDisplayConfig.Builder(
                    getVirtualDisplayName(), width, height, densityDpi)
                    .setSurface(surface)
                    .setFlags(flags)
                    .build();
            return createVirtualDisplay(config, executor, callback);
                    .setFlags(flags);
            if (surface != null) {
                builder.setSurface(surface);
            }
            return createVirtualDisplay(builder.build(), executor, callback);
        }

        /**
+24 −25
Original line number Diff line number Diff line
@@ -27,13 +27,13 @@ import android.media.projection.MediaProjection;
import android.os.Handler;
import android.os.Parcel;
import android.os.Parcelable;
import android.util.ArraySet;
import android.view.Display;
import android.view.Surface;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.Set;

/**
 * Holds configuration used to create {@link VirtualDisplay} instances.
@@ -51,8 +51,8 @@ public final class VirtualDisplayConfig implements Parcelable {
    private final Surface mSurface;
    private final String mUniqueId;
    private final int mDisplayIdToMirror;
    private final boolean mWindowManagerMirroring;
    private ArrayList<String> mDisplayCategories = null;
    private final boolean mWindowManagerMirroringEnabled;
    private ArraySet<String> mDisplayCategories = null;
    private final float mRequestedRefreshRate;

    private VirtualDisplayConfig(
@@ -64,8 +64,8 @@ public final class VirtualDisplayConfig implements Parcelable {
            @Nullable Surface surface,
            @Nullable String uniqueId,
            int displayIdToMirror,
            boolean windowManagerMirroring,
            @NonNull ArrayList<String> displayCategories,
            boolean windowManagerMirroringEnabled,
            @NonNull ArraySet<String> displayCategories,
            float requestedRefreshRate) {
        mName = name;
        mWidth = width;
@@ -75,7 +75,7 @@ public final class VirtualDisplayConfig implements Parcelable {
        mSurface = surface;
        mUniqueId = uniqueId;
        mDisplayIdToMirror = displayIdToMirror;
        mWindowManagerMirroring = windowManagerMirroring;
        mWindowManagerMirroringEnabled = windowManagerMirroringEnabled;
        mDisplayCategories = displayCategories;
        mRequestedRefreshRate = requestedRefreshRate;
    }
@@ -151,8 +151,8 @@ public final class VirtualDisplayConfig implements Parcelable {
     * if DisplayManager should record contents instead.
     * @hide
     */
    public boolean isWindowManagerMirroring() {
        return mWindowManagerMirroring;
    public boolean isWindowManagerMirroringEnabled() {
        return mWindowManagerMirroringEnabled;
    }

    /**
@@ -161,8 +161,8 @@ public final class VirtualDisplayConfig implements Parcelable {
     * @see Builder#setDisplayCategories
     */
    @NonNull
    public List<String> getDisplayCategories() {
        return Collections.unmodifiableList(mDisplayCategories);
    public Set<String> getDisplayCategories() {
        return Collections.unmodifiableSet(mDisplayCategories);
    }

    /**
@@ -185,8 +185,8 @@ public final class VirtualDisplayConfig implements Parcelable {
        dest.writeTypedObject(mSurface, flags);
        dest.writeString8(mUniqueId);
        dest.writeInt(mDisplayIdToMirror);
        dest.writeBoolean(mWindowManagerMirroring);
        dest.writeStringList(mDisplayCategories);
        dest.writeBoolean(mWindowManagerMirroringEnabled);
        dest.writeArraySet(mDisplayCategories);
        dest.writeFloat(mRequestedRefreshRate);
    }

@@ -210,7 +210,7 @@ public final class VirtualDisplayConfig implements Parcelable {
                && Objects.equals(mSurface, that.mSurface)
                && Objects.equals(mUniqueId, that.mUniqueId)
                && mDisplayIdToMirror == that.mDisplayIdToMirror
                && mWindowManagerMirroring == that.mWindowManagerMirroring
                && mWindowManagerMirroringEnabled == that.mWindowManagerMirroringEnabled
                && Objects.equals(mDisplayCategories, that.mDisplayCategories)
                && mRequestedRefreshRate == that.mRequestedRefreshRate;
    }
@@ -219,7 +219,7 @@ public final class VirtualDisplayConfig implements Parcelable {
    public int hashCode() {
        int hashCode = Objects.hash(
                mName, mWidth, mHeight, mDensityDpi, mFlags, mSurface, mUniqueId,
                mDisplayIdToMirror, mWindowManagerMirroring, mDisplayCategories,
                mDisplayIdToMirror, mWindowManagerMirroringEnabled, mDisplayCategories,
                mRequestedRefreshRate);
        return hashCode;
    }
@@ -236,7 +236,7 @@ public final class VirtualDisplayConfig implements Parcelable {
                + " mSurface=" + mSurface
                + " mUniqueId=" + mUniqueId
                + " mDisplayIdToMirror=" + mDisplayIdToMirror
                + " mWindowManagerMirroring=" + mWindowManagerMirroring
                + " mWindowManagerMirroringEnabled=" + mWindowManagerMirroringEnabled
                + " mDisplayCategories=" + mDisplayCategories
                + " mRequestedRefreshRate=" + mRequestedRefreshRate
                + ")";
@@ -251,9 +251,8 @@ public final class VirtualDisplayConfig implements Parcelable {
        mSurface = in.readTypedObject(Surface.CREATOR);
        mUniqueId = in.readString8();
        mDisplayIdToMirror = in.readInt();
        mWindowManagerMirroring = in.readBoolean();
        mDisplayCategories = new ArrayList<>();
        in.readStringList(mDisplayCategories);
        mWindowManagerMirroringEnabled = in.readBoolean();
        mDisplayCategories = (ArraySet<String>) in.readArraySet(null);
        mRequestedRefreshRate = in.readFloat();
    }

@@ -283,8 +282,8 @@ public final class VirtualDisplayConfig implements Parcelable {
        private Surface mSurface = null;
        private String mUniqueId = null;
        private int mDisplayIdToMirror = DEFAULT_DISPLAY;
        private boolean mWindowManagerMirroring = false;
        private ArrayList<String> mDisplayCategories = new ArrayList<>();
        private boolean mWindowManagerMirroringEnabled = false;
        private ArraySet<String> mDisplayCategories = new ArraySet<>();
        private float mRequestedRefreshRate = 0.0f;

        /**
@@ -370,8 +369,8 @@ public final class VirtualDisplayConfig implements Parcelable {
         * @hide
         */
        @NonNull
        public Builder setWindowManagerMirroring(boolean windowManagerMirroring) {
            mWindowManagerMirroring = windowManagerMirroring;
        public Builder setWindowManagerMirroringEnabled(boolean windowManagerMirroringEnabled) {
            mWindowManagerMirroringEnabled = windowManagerMirroringEnabled;
            return this;
        }

@@ -383,7 +382,7 @@ public final class VirtualDisplayConfig implements Parcelable {
         * {@link android.content.pm.ActivityInfo#requiredDisplayCategory}.
         */
        @NonNull
        public Builder setDisplayCategories(@NonNull List<String> displayCategories) {
        public Builder setDisplayCategories(@NonNull Set<String> displayCategories) {
            mDisplayCategories.clear();
            mDisplayCategories.addAll(Objects.requireNonNull(displayCategories));
            return this;
@@ -435,7 +434,7 @@ public final class VirtualDisplayConfig implements Parcelable {
                    mSurface,
                    mUniqueId,
                    mDisplayIdToMirror,
                    mWindowManagerMirroring,
                    mWindowManagerMirroringEnabled,
                    mDisplayCategories,
                    mRequestedRefreshRate);
        }
+1 −1
Original line number Diff line number Diff line
@@ -191,7 +191,7 @@ public final class MediaProjection {
            } else {
                session = ContentRecordingSession.createTaskSession(launchCookie);
            }
            virtualDisplayConfig.setWindowManagerMirroring(true);
            virtualDisplayConfig.setWindowManagerMirroringEnabled(true);
            final DisplayManager dm = mContext.getSystemService(DisplayManager.class);
            final VirtualDisplay virtualDisplay = dm.createVirtualDisplay(this,
                    virtualDisplayConfig.build(), callback, handler, windowContext);
+2 −2
Original line number Diff line number Diff line
@@ -134,7 +134,7 @@ public class GenericWindowPolicyController extends DisplayWindowPolicyController
    private final ArraySet<RunningAppsChangedListener> mRunningAppsChangedListeners =
            new ArraySet<>();
    @Nullable private final SecureWindowCallback mSecureWindowCallback;
    @Nullable private final List<String> mDisplayCategories;
    @Nullable private final Set<String> mDisplayCategories;

    private final boolean mShowTasksInHostDeviceRecents;

@@ -178,7 +178,7 @@ public class GenericWindowPolicyController extends DisplayWindowPolicyController
            @NonNull ActivityBlockedCallback activityBlockedCallback,
            @NonNull SecureWindowCallback secureWindowCallback,
            @NonNull IntentListenerCallback intentListenerCallback,
            @NonNull List<String> displayCategories,
            @NonNull Set<String> displayCategories,
            boolean showTasksInHostDeviceRecents) {
        super();
        mAllowedUsers = allowedUsers;
Loading