Loading core/java/android/companion/virtual/VirtualDeviceManager.java +1 −1 Original line number Diff line number Diff line Loading @@ -583,7 +583,7 @@ public final class VirtualDeviceManager { throw ex.rethrowFromSystemServer(); } DisplayManagerGlobal displayManager = DisplayManagerGlobal.getInstance(); return displayManager.createVirtualDisplayWrapper(config, mContext, callbackWrapper, return displayManager.createVirtualDisplayWrapper(config, callbackWrapper, displayId); } Loading core/java/android/hardware/display/DisplayManager.java +5 −8 Original line number Diff line number Diff line Loading @@ -1096,8 +1096,7 @@ public final class DisplayManager { @NonNull VirtualDisplayConfig config, @Nullable Handler handler, @Nullable VirtualDisplay.Callback callback) { return createVirtualDisplay(null /* projection */, config, callback, handler, null /* windowContext */); return createVirtualDisplay(null /* projection */, config, callback, handler); } // TODO : Remove this hidden API after remove all callers. (Refer to MultiDisplayService) Loading @@ -1122,15 +1121,13 @@ public final class DisplayManager { if (surface != null) { builder.setSurface(surface); } return createVirtualDisplay(projection, builder.build(), callback, handler, null /* windowContext */); return createVirtualDisplay(projection, builder.build(), callback, handler); } /** @hide */ public VirtualDisplay createVirtualDisplay(@Nullable MediaProjection projection, @NonNull VirtualDisplayConfig virtualDisplayConfig, @Nullable VirtualDisplay.Callback callback, @Nullable Handler handler, @Nullable Context windowContext) { @Nullable VirtualDisplay.Callback callback, @Nullable Handler handler) { Executor executor = null; // If callback is null, the executor will not be used. Avoid creating the handler and the // handler executor. Loading @@ -1139,7 +1136,7 @@ public final class DisplayManager { Handler.createAsync(handler != null ? handler.getLooper() : Looper.myLooper())); } return mGlobal.createVirtualDisplay(mContext, projection, virtualDisplayConfig, callback, executor, windowContext); executor); } /** Loading Loading @@ -1610,7 +1607,7 @@ public final class DisplayManager { throw ex.rethrowFromSystemServer(); } return DisplayManagerGlobal.getInstance().createVirtualDisplayWrapper(virtualDisplayConfig, null, callbackWrapper, displayId); callbackWrapper, displayId); } /** Loading core/java/android/hardware/display/DisplayManagerGlobal.java +4 −4 Original line number Diff line number Diff line Loading @@ -635,7 +635,7 @@ public final class DisplayManagerGlobal { public VirtualDisplay createVirtualDisplay(@NonNull Context context, MediaProjection projection, @NonNull VirtualDisplayConfig virtualDisplayConfig, VirtualDisplay.Callback callback, @Nullable Executor executor, @Nullable Context windowContext) { @Nullable Executor executor) { VirtualDisplayCallback callbackWrapper = new VirtualDisplayCallback(callback, executor); IMediaProjection projectionToken = projection != null ? projection.getProjection() : null; int displayId; Loading @@ -645,7 +645,7 @@ public final class DisplayManagerGlobal { } catch (RemoteException ex) { throw ex.rethrowFromSystemServer(); } return createVirtualDisplayWrapper(virtualDisplayConfig, windowContext, callbackWrapper, return createVirtualDisplayWrapper(virtualDisplayConfig, callbackWrapper, displayId); } Loading @@ -655,7 +655,7 @@ public final class DisplayManagerGlobal { */ @Nullable public VirtualDisplay createVirtualDisplayWrapper(VirtualDisplayConfig virtualDisplayConfig, Context windowContext, IVirtualDisplayCallback callbackWrapper, int displayId) { IVirtualDisplayCallback callbackWrapper, int displayId) { if (displayId < 0) { Log.e(TAG, "Could not create virtual display: " + virtualDisplayConfig.getName()); return null; Loading @@ -672,7 +672,7 @@ public final class DisplayManagerGlobal { return null; } return new VirtualDisplay(this, display, callbackWrapper, virtualDisplayConfig.getSurface(), windowContext); virtualDisplayConfig.getSurface()); } public void setVirtualDisplaySurface(IVirtualDisplayCallback token, Surface surface) { Loading core/java/android/hardware/display/VirtualDisplay.java +2 −11 Original line number Diff line number Diff line Loading @@ -15,8 +15,6 @@ */ package android.hardware.display; import android.annotation.Nullable; import android.content.Context; import android.view.Display; import android.view.Surface; Loading @@ -38,19 +36,12 @@ public final class VirtualDisplay { private final Display mDisplay; private IVirtualDisplayCallback mToken; private Surface mSurface; /** * Store the WindowContext in a field. If it is a local variable, and it is garbage collected * during a MediaProjection session, the WindowContainer listener no longer exists. */ @Nullable private final Context mWindowContext; VirtualDisplay(DisplayManagerGlobal global, Display display, IVirtualDisplayCallback token, Surface surface, Context windowContext) { VirtualDisplay(DisplayManagerGlobal global, Display display, IVirtualDisplayCallback token, Surface surface) { mGlobal = global; mDisplay = display; mToken = token; mSurface = surface; mWindowContext = windowContext; } /** Loading core/java/android/hardware/display/VirtualDisplayConfig.java +2 −36 Original line number Diff line number Diff line Loading @@ -28,7 +28,6 @@ import android.os.Handler; import android.os.Parcel; import android.os.Parcelable; import android.util.ArraySet; import android.view.ContentRecordingSession; import android.view.Display; import android.view.Surface; Loading @@ -54,8 +53,6 @@ public final class VirtualDisplayConfig implements Parcelable { private final int mDisplayIdToMirror; private final boolean mWindowManagerMirroringEnabled; private ArraySet<String> mDisplayCategories = null; @Nullable private ContentRecordingSession mContentRecordingSession; private final float mRequestedRefreshRate; private VirtualDisplayConfig( Loading @@ -68,7 +65,6 @@ public final class VirtualDisplayConfig implements Parcelable { @Nullable String uniqueId, int displayIdToMirror, boolean windowManagerMirroringEnabled, ContentRecordingSession session, @NonNull ArraySet<String> displayCategories, float requestedRefreshRate) { mName = name; Loading @@ -80,7 +76,6 @@ public final class VirtualDisplayConfig implements Parcelable { mUniqueId = uniqueId; mDisplayIdToMirror = displayIdToMirror; mWindowManagerMirroringEnabled = windowManagerMirroringEnabled; mContentRecordingSession = session; mDisplayCategories = displayCategories; mRequestedRefreshRate = requestedRefreshRate; } Loading Loading @@ -160,16 +155,6 @@ public final class VirtualDisplayConfig implements Parcelable { return mWindowManagerMirroringEnabled; } /** * Returns the recording session associated with this {@link VirtualDisplay}. Only used for * recording via {@link MediaProjection}. * @hide */ @Nullable public ContentRecordingSession getContentRecordingSession() { return mContentRecordingSession; } /** * Returns the display categories. * Loading Loading @@ -201,7 +186,6 @@ public final class VirtualDisplayConfig implements Parcelable { dest.writeString8(mUniqueId); dest.writeInt(mDisplayIdToMirror); dest.writeBoolean(mWindowManagerMirroringEnabled); dest.writeTypedObject(mContentRecordingSession, flags); dest.writeArraySet(mDisplayCategories); dest.writeFloat(mRequestedRefreshRate); } Loading @@ -227,7 +211,6 @@ public final class VirtualDisplayConfig implements Parcelable { && Objects.equals(mUniqueId, that.mUniqueId) && mDisplayIdToMirror == that.mDisplayIdToMirror && mWindowManagerMirroringEnabled == that.mWindowManagerMirroringEnabled && Objects.equals(mContentRecordingSession, that.mContentRecordingSession) && Objects.equals(mDisplayCategories, that.mDisplayCategories) && mRequestedRefreshRate == that.mRequestedRefreshRate; } Loading @@ -236,8 +219,8 @@ public final class VirtualDisplayConfig implements Parcelable { public int hashCode() { int hashCode = Objects.hash( mName, mWidth, mHeight, mDensityDpi, mFlags, mSurface, mUniqueId, mDisplayIdToMirror, mWindowManagerMirroringEnabled, mContentRecordingSession, mDisplayCategories, mRequestedRefreshRate); mDisplayIdToMirror, mWindowManagerMirroringEnabled, mDisplayCategories, mRequestedRefreshRate); return hashCode; } Loading @@ -254,7 +237,6 @@ public final class VirtualDisplayConfig implements Parcelable { + " mUniqueId=" + mUniqueId + " mDisplayIdToMirror=" + mDisplayIdToMirror + " mWindowManagerMirroringEnabled=" + mWindowManagerMirroringEnabled + " mContentRecordingSession=" + mContentRecordingSession + " mDisplayCategories=" + mDisplayCategories + " mRequestedRefreshRate=" + mRequestedRefreshRate + ")"; Loading @@ -270,7 +252,6 @@ public final class VirtualDisplayConfig implements Parcelable { mUniqueId = in.readString8(); mDisplayIdToMirror = in.readInt(); mWindowManagerMirroringEnabled = in.readBoolean(); mContentRecordingSession = in.readTypedObject(ContentRecordingSession.CREATOR); mDisplayCategories = (ArraySet<String>) in.readArraySet(null); mRequestedRefreshRate = in.readFloat(); } Loading Loading @@ -302,8 +283,6 @@ public final class VirtualDisplayConfig implements Parcelable { private String mUniqueId = null; private int mDisplayIdToMirror = DEFAULT_DISPLAY; private boolean mWindowManagerMirroringEnabled = false; @Nullable private ContentRecordingSession mContentRecordingSession; private ArraySet<String> mDisplayCategories = new ArraySet<>(); private float mRequestedRefreshRate = 0.0f; Loading Loading @@ -395,18 +374,6 @@ public final class VirtualDisplayConfig implements Parcelable { return this; } /** * Sets the recording session associated with this {@link VirtualDisplay}. Only used for * recording via {@link MediaProjection}. * * @hide */ @NonNull public Builder setContentRecordingSession(@Nullable ContentRecordingSession session) { mContentRecordingSession = session; return this; } /** * Sets the display categories. * Loading Loading @@ -468,7 +435,6 @@ public final class VirtualDisplayConfig implements Parcelable { mUniqueId, mDisplayIdToMirror, mWindowManagerMirroringEnabled, mContentRecordingSession, mDisplayCategories, mRequestedRefreshRate); } Loading Loading
core/java/android/companion/virtual/VirtualDeviceManager.java +1 −1 Original line number Diff line number Diff line Loading @@ -583,7 +583,7 @@ public final class VirtualDeviceManager { throw ex.rethrowFromSystemServer(); } DisplayManagerGlobal displayManager = DisplayManagerGlobal.getInstance(); return displayManager.createVirtualDisplayWrapper(config, mContext, callbackWrapper, return displayManager.createVirtualDisplayWrapper(config, callbackWrapper, displayId); } Loading
core/java/android/hardware/display/DisplayManager.java +5 −8 Original line number Diff line number Diff line Loading @@ -1096,8 +1096,7 @@ public final class DisplayManager { @NonNull VirtualDisplayConfig config, @Nullable Handler handler, @Nullable VirtualDisplay.Callback callback) { return createVirtualDisplay(null /* projection */, config, callback, handler, null /* windowContext */); return createVirtualDisplay(null /* projection */, config, callback, handler); } // TODO : Remove this hidden API after remove all callers. (Refer to MultiDisplayService) Loading @@ -1122,15 +1121,13 @@ public final class DisplayManager { if (surface != null) { builder.setSurface(surface); } return createVirtualDisplay(projection, builder.build(), callback, handler, null /* windowContext */); return createVirtualDisplay(projection, builder.build(), callback, handler); } /** @hide */ public VirtualDisplay createVirtualDisplay(@Nullable MediaProjection projection, @NonNull VirtualDisplayConfig virtualDisplayConfig, @Nullable VirtualDisplay.Callback callback, @Nullable Handler handler, @Nullable Context windowContext) { @Nullable VirtualDisplay.Callback callback, @Nullable Handler handler) { Executor executor = null; // If callback is null, the executor will not be used. Avoid creating the handler and the // handler executor. Loading @@ -1139,7 +1136,7 @@ public final class DisplayManager { Handler.createAsync(handler != null ? handler.getLooper() : Looper.myLooper())); } return mGlobal.createVirtualDisplay(mContext, projection, virtualDisplayConfig, callback, executor, windowContext); executor); } /** Loading Loading @@ -1610,7 +1607,7 @@ public final class DisplayManager { throw ex.rethrowFromSystemServer(); } return DisplayManagerGlobal.getInstance().createVirtualDisplayWrapper(virtualDisplayConfig, null, callbackWrapper, displayId); callbackWrapper, displayId); } /** Loading
core/java/android/hardware/display/DisplayManagerGlobal.java +4 −4 Original line number Diff line number Diff line Loading @@ -635,7 +635,7 @@ public final class DisplayManagerGlobal { public VirtualDisplay createVirtualDisplay(@NonNull Context context, MediaProjection projection, @NonNull VirtualDisplayConfig virtualDisplayConfig, VirtualDisplay.Callback callback, @Nullable Executor executor, @Nullable Context windowContext) { @Nullable Executor executor) { VirtualDisplayCallback callbackWrapper = new VirtualDisplayCallback(callback, executor); IMediaProjection projectionToken = projection != null ? projection.getProjection() : null; int displayId; Loading @@ -645,7 +645,7 @@ public final class DisplayManagerGlobal { } catch (RemoteException ex) { throw ex.rethrowFromSystemServer(); } return createVirtualDisplayWrapper(virtualDisplayConfig, windowContext, callbackWrapper, return createVirtualDisplayWrapper(virtualDisplayConfig, callbackWrapper, displayId); } Loading @@ -655,7 +655,7 @@ public final class DisplayManagerGlobal { */ @Nullable public VirtualDisplay createVirtualDisplayWrapper(VirtualDisplayConfig virtualDisplayConfig, Context windowContext, IVirtualDisplayCallback callbackWrapper, int displayId) { IVirtualDisplayCallback callbackWrapper, int displayId) { if (displayId < 0) { Log.e(TAG, "Could not create virtual display: " + virtualDisplayConfig.getName()); return null; Loading @@ -672,7 +672,7 @@ public final class DisplayManagerGlobal { return null; } return new VirtualDisplay(this, display, callbackWrapper, virtualDisplayConfig.getSurface(), windowContext); virtualDisplayConfig.getSurface()); } public void setVirtualDisplaySurface(IVirtualDisplayCallback token, Surface surface) { Loading
core/java/android/hardware/display/VirtualDisplay.java +2 −11 Original line number Diff line number Diff line Loading @@ -15,8 +15,6 @@ */ package android.hardware.display; import android.annotation.Nullable; import android.content.Context; import android.view.Display; import android.view.Surface; Loading @@ -38,19 +36,12 @@ public final class VirtualDisplay { private final Display mDisplay; private IVirtualDisplayCallback mToken; private Surface mSurface; /** * Store the WindowContext in a field. If it is a local variable, and it is garbage collected * during a MediaProjection session, the WindowContainer listener no longer exists. */ @Nullable private final Context mWindowContext; VirtualDisplay(DisplayManagerGlobal global, Display display, IVirtualDisplayCallback token, Surface surface, Context windowContext) { VirtualDisplay(DisplayManagerGlobal global, Display display, IVirtualDisplayCallback token, Surface surface) { mGlobal = global; mDisplay = display; mToken = token; mSurface = surface; mWindowContext = windowContext; } /** Loading
core/java/android/hardware/display/VirtualDisplayConfig.java +2 −36 Original line number Diff line number Diff line Loading @@ -28,7 +28,6 @@ import android.os.Handler; import android.os.Parcel; import android.os.Parcelable; import android.util.ArraySet; import android.view.ContentRecordingSession; import android.view.Display; import android.view.Surface; Loading @@ -54,8 +53,6 @@ public final class VirtualDisplayConfig implements Parcelable { private final int mDisplayIdToMirror; private final boolean mWindowManagerMirroringEnabled; private ArraySet<String> mDisplayCategories = null; @Nullable private ContentRecordingSession mContentRecordingSession; private final float mRequestedRefreshRate; private VirtualDisplayConfig( Loading @@ -68,7 +65,6 @@ public final class VirtualDisplayConfig implements Parcelable { @Nullable String uniqueId, int displayIdToMirror, boolean windowManagerMirroringEnabled, ContentRecordingSession session, @NonNull ArraySet<String> displayCategories, float requestedRefreshRate) { mName = name; Loading @@ -80,7 +76,6 @@ public final class VirtualDisplayConfig implements Parcelable { mUniqueId = uniqueId; mDisplayIdToMirror = displayIdToMirror; mWindowManagerMirroringEnabled = windowManagerMirroringEnabled; mContentRecordingSession = session; mDisplayCategories = displayCategories; mRequestedRefreshRate = requestedRefreshRate; } Loading Loading @@ -160,16 +155,6 @@ public final class VirtualDisplayConfig implements Parcelable { return mWindowManagerMirroringEnabled; } /** * Returns the recording session associated with this {@link VirtualDisplay}. Only used for * recording via {@link MediaProjection}. * @hide */ @Nullable public ContentRecordingSession getContentRecordingSession() { return mContentRecordingSession; } /** * Returns the display categories. * Loading Loading @@ -201,7 +186,6 @@ public final class VirtualDisplayConfig implements Parcelable { dest.writeString8(mUniqueId); dest.writeInt(mDisplayIdToMirror); dest.writeBoolean(mWindowManagerMirroringEnabled); dest.writeTypedObject(mContentRecordingSession, flags); dest.writeArraySet(mDisplayCategories); dest.writeFloat(mRequestedRefreshRate); } Loading @@ -227,7 +211,6 @@ public final class VirtualDisplayConfig implements Parcelable { && Objects.equals(mUniqueId, that.mUniqueId) && mDisplayIdToMirror == that.mDisplayIdToMirror && mWindowManagerMirroringEnabled == that.mWindowManagerMirroringEnabled && Objects.equals(mContentRecordingSession, that.mContentRecordingSession) && Objects.equals(mDisplayCategories, that.mDisplayCategories) && mRequestedRefreshRate == that.mRequestedRefreshRate; } Loading @@ -236,8 +219,8 @@ public final class VirtualDisplayConfig implements Parcelable { public int hashCode() { int hashCode = Objects.hash( mName, mWidth, mHeight, mDensityDpi, mFlags, mSurface, mUniqueId, mDisplayIdToMirror, mWindowManagerMirroringEnabled, mContentRecordingSession, mDisplayCategories, mRequestedRefreshRate); mDisplayIdToMirror, mWindowManagerMirroringEnabled, mDisplayCategories, mRequestedRefreshRate); return hashCode; } Loading @@ -254,7 +237,6 @@ public final class VirtualDisplayConfig implements Parcelable { + " mUniqueId=" + mUniqueId + " mDisplayIdToMirror=" + mDisplayIdToMirror + " mWindowManagerMirroringEnabled=" + mWindowManagerMirroringEnabled + " mContentRecordingSession=" + mContentRecordingSession + " mDisplayCategories=" + mDisplayCategories + " mRequestedRefreshRate=" + mRequestedRefreshRate + ")"; Loading @@ -270,7 +252,6 @@ public final class VirtualDisplayConfig implements Parcelable { mUniqueId = in.readString8(); mDisplayIdToMirror = in.readInt(); mWindowManagerMirroringEnabled = in.readBoolean(); mContentRecordingSession = in.readTypedObject(ContentRecordingSession.CREATOR); mDisplayCategories = (ArraySet<String>) in.readArraySet(null); mRequestedRefreshRate = in.readFloat(); } Loading Loading @@ -302,8 +283,6 @@ public final class VirtualDisplayConfig implements Parcelable { private String mUniqueId = null; private int mDisplayIdToMirror = DEFAULT_DISPLAY; private boolean mWindowManagerMirroringEnabled = false; @Nullable private ContentRecordingSession mContentRecordingSession; private ArraySet<String> mDisplayCategories = new ArraySet<>(); private float mRequestedRefreshRate = 0.0f; Loading Loading @@ -395,18 +374,6 @@ public final class VirtualDisplayConfig implements Parcelable { return this; } /** * Sets the recording session associated with this {@link VirtualDisplay}. Only used for * recording via {@link MediaProjection}. * * @hide */ @NonNull public Builder setContentRecordingSession(@Nullable ContentRecordingSession session) { mContentRecordingSession = session; return this; } /** * Sets the display categories. * Loading Loading @@ -468,7 +435,6 @@ public final class VirtualDisplayConfig implements Parcelable { mUniqueId, mDisplayIdToMirror, mWindowManagerMirroringEnabled, mContentRecordingSession, mDisplayCategories, mRequestedRefreshRate); } Loading