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

Commit 02aa75a0 authored by Michael Wright's avatar Michael Wright Committed by Android (Google) Code Review
Browse files

Merge "VirtualDisplay.Callbacks -> Callback" into lmp-dev

parents 5f4cfd3a 75ee9fcd
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -150,7 +150,7 @@ LOCAL_SRC_FILES += \
	core/java/android/hardware/ISerialManager.aidl \
	core/java/android/hardware/display/IDisplayManager.aidl \
	core/java/android/hardware/display/IDisplayManagerCallback.aidl \
	core/java/android/hardware/display/IVirtualDisplayCallbacks.aidl \
	core/java/android/hardware/display/IVirtualDisplayCallback.aidl \
	core/java/android/hardware/hdmi/IHdmiControlCallback.aidl \
	core/java/android/hardware/hdmi/IHdmiControlService.aidl \
	core/java/android/hardware/hdmi/IHdmiDeviceEventListener.aidl \
+7 −7
Original line number Diff line number Diff line
@@ -13234,7 +13234,7 @@ package android.hardware.display {
  public final class DisplayManager {
    method public android.hardware.display.VirtualDisplay createVirtualDisplay(java.lang.String, int, int, int, android.view.Surface, int);
    method public android.hardware.display.VirtualDisplay createVirtualDisplay(java.lang.String, int, int, int, android.view.Surface, int, android.hardware.display.VirtualDisplay.Callbacks, android.os.Handler);
    method public android.hardware.display.VirtualDisplay createVirtualDisplay(java.lang.String, int, int, int, android.view.Surface, int, android.hardware.display.VirtualDisplay.Callback, android.os.Handler);
    method public android.view.Display getDisplay(int);
    method public android.view.Display[] getDisplays();
    method public android.view.Display[] getDisplays(java.lang.String);
@@ -13262,11 +13262,11 @@ package android.hardware.display {
    method public void setSurface(android.view.Surface);
  }
  public static abstract class VirtualDisplay.Callbacks {
    ctor public VirtualDisplay.Callbacks();
    method public void onDisplayPaused();
    method public void onDisplayResumed();
    method public void onDisplayStopped();
  public static abstract class VirtualDisplay.Callback {
    ctor public VirtualDisplay.Callback();
    method public void onPaused();
    method public void onResumed();
    method public void onStopped();
  }
}
@@ -16312,7 +16312,7 @@ package android.media.projection {
  public final class MediaProjection {
    method public void addCallback(android.media.projection.MediaProjection.Callback, android.os.Handler);
    method public android.hardware.display.VirtualDisplay createVirtualDisplay(java.lang.String, int, int, int, int, android.view.Surface, android.hardware.display.VirtualDisplay.Callbacks, android.os.Handler);
    method public android.hardware.display.VirtualDisplay createVirtualDisplay(java.lang.String, int, int, int, int, android.view.Surface, android.hardware.display.VirtualDisplay.Callback, android.os.Handler);
    method public void removeCallback(android.media.projection.MediaProjection.Callback);
    method public void stop();
  }
+6 −6
Original line number Diff line number Diff line
@@ -472,7 +472,7 @@ public final class DisplayManager {
    /**
     * Creates a virtual display.
     *
     * @see #createVirtualDisplay(String, int, int, int, Surface, int, VirtualDisplay.Callbacks)
     * @see #createVirtualDisplay(String, int, int, int, Surface, int, VirtualDisplay.Callback)
     */
    public VirtualDisplay createVirtualDisplay(@NonNull String name,
            int width, int height, int densityDpi, @Nullable Surface surface, int flags) {
@@ -513,7 +513,7 @@ public final class DisplayManager {
     * {@link #VIRTUAL_DISPLAY_FLAG_PUBLIC}, {@link #VIRTUAL_DISPLAY_FLAG_PRESENTATION},
     * {@link #VIRTUAL_DISPLAY_FLAG_SECURE}, {@link #VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY},
     * or {@link #VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR}.
     * @param callbacks Callbacks to call when the state of the {@link VirtualDisplay} changes
     * @param callback Callback to call when the state of the {@link VirtualDisplay} changes
     * @param handler The handler on which the listener should be invoked, or null
     * if the listener should be invoked on the calling thread's looper.
     * @return The newly created virtual display, or null if the application could
@@ -524,17 +524,17 @@ public final class DisplayManager {
     */
    public VirtualDisplay createVirtualDisplay(@NonNull String name,
            int width, int height, int densityDpi, @Nullable Surface surface, int flags,
            @Nullable VirtualDisplay.Callbacks callbacks, @Nullable Handler handler) {
            @Nullable VirtualDisplay.Callback callback, @Nullable Handler handler) {
        return createVirtualDisplay(null,
                name, width, height, densityDpi, surface, flags, callbacks, handler);
                name, width, height, densityDpi, surface, flags, callback, handler);
    }

    /** @hide */
    public VirtualDisplay createVirtualDisplay(@Nullable MediaProjection projection,
            @NonNull String name, int width, int height, int densityDpi, @Nullable Surface surface,
            int flags, @Nullable VirtualDisplay.Callbacks callbacks, @Nullable Handler handler) {
            int flags, @Nullable VirtualDisplay.Callback callback, @Nullable Handler handler) {
        return mGlobal.createVirtualDisplay(mContext, projection,
                name, width, height, densityDpi, surface, flags, callbacks, handler);
                name, width, height, densityDpi, surface, flags, callback, handler);
    }

    /**
+23 −23
Original line number Diff line number Diff line
@@ -372,7 +372,7 @@ public final class DisplayManagerGlobal {

    public VirtualDisplay createVirtualDisplay(Context context, MediaProjection projection,
            String name, int width, int height, int densityDpi, Surface surface, int flags,
            VirtualDisplay.Callbacks callbacks, Handler handler) {
            VirtualDisplay.Callback callback, Handler handler) {
        if (TextUtils.isEmpty(name)) {
            throw new IllegalArgumentException("name must be non-null and non-empty");
        }
@@ -381,7 +381,7 @@ public final class DisplayManagerGlobal {
                    + "greater than 0");
        }

        VirtualDisplayCallbacks callbackWrapper = new VirtualDisplayCallbacks(callbacks, handler);
        VirtualDisplayCallback callbackWrapper = new VirtualDisplayCallback(callback, handler);
        IMediaProjection projectionToken = projection != null ? projection.getProjection() : null;
        int displayId;
        try {
@@ -408,7 +408,7 @@ public final class DisplayManagerGlobal {
        return new VirtualDisplay(this, display, callbackWrapper, surface);
    }

    public void setVirtualDisplaySurface(IVirtualDisplayCallbacks token, Surface surface) {
    public void setVirtualDisplaySurface(IVirtualDisplayCallback token, Surface surface) {
        try {
            mDm.setVirtualDisplaySurface(token, surface);
        } catch (RemoteException ex) {
@@ -416,7 +416,7 @@ public final class DisplayManagerGlobal {
        }
    }

    public void resizeVirtualDisplay(IVirtualDisplayCallbacks token,
    public void resizeVirtualDisplay(IVirtualDisplayCallback token,
            int width, int height, int densityDpi) {
        try {
            mDm.resizeVirtualDisplay(token, width, height, densityDpi);
@@ -425,7 +425,7 @@ public final class DisplayManagerGlobal {
        }
    }

    public void releaseVirtualDisplay(IVirtualDisplayCallbacks token) {
    public void releaseVirtualDisplay(IVirtualDisplayCallback token) {
        try {
            mDm.releaseVirtualDisplay(token);
        } catch (RemoteException ex) {
@@ -476,61 +476,61 @@ public final class DisplayManagerGlobal {
        }
    }

    private final static class VirtualDisplayCallbacks extends IVirtualDisplayCallbacks.Stub {
        private VirtualDisplayCallbacksDelegate mDelegate;
    private final static class VirtualDisplayCallback extends IVirtualDisplayCallback.Stub {
        private VirtualDisplayCallbackDelegate mDelegate;

        public VirtualDisplayCallbacks(VirtualDisplay.Callbacks callbacks, Handler handler) {
            if (callbacks != null) {
                mDelegate = new VirtualDisplayCallbacksDelegate(callbacks, handler);
        public VirtualDisplayCallback(VirtualDisplay.Callback callback, Handler handler) {
            if (callback != null) {
                mDelegate = new VirtualDisplayCallbackDelegate(callback, handler);
            }
        }

        @Override // Binder call
        public void onDisplayPaused() {
        public void onPaused() {
            if (mDelegate != null) {
                mDelegate.sendEmptyMessage(VirtualDisplayCallbacksDelegate.MSG_DISPLAY_PAUSED);
                mDelegate.sendEmptyMessage(VirtualDisplayCallbackDelegate.MSG_DISPLAY_PAUSED);
            }
        }

        @Override // Binder call
        public void onDisplayResumed() {
        public void onResumed() {
            if (mDelegate != null) {
                mDelegate.sendEmptyMessage(VirtualDisplayCallbacksDelegate.MSG_DISPLAY_RESUMED);
                mDelegate.sendEmptyMessage(VirtualDisplayCallbackDelegate.MSG_DISPLAY_RESUMED);
            }
        }

        @Override // Binder call
        public void onDisplayStopped() {
        public void onStopped() {
            if (mDelegate != null) {
                mDelegate.sendEmptyMessage(VirtualDisplayCallbacksDelegate.MSG_DISPLAY_STOPPED);
                mDelegate.sendEmptyMessage(VirtualDisplayCallbackDelegate.MSG_DISPLAY_STOPPED);
            }
        }
    }

    private final static class VirtualDisplayCallbacksDelegate extends Handler {
    private final static class VirtualDisplayCallbackDelegate extends Handler {
        public static final int MSG_DISPLAY_PAUSED = 0;
        public static final int MSG_DISPLAY_RESUMED = 1;
        public static final int MSG_DISPLAY_STOPPED = 2;

        private final VirtualDisplay.Callbacks mCallbacks;
        private final VirtualDisplay.Callback mCallback;

        public VirtualDisplayCallbacksDelegate(VirtualDisplay.Callbacks callbacks,
        public VirtualDisplayCallbackDelegate(VirtualDisplay.Callback callback,
                Handler handler) {
            super(handler != null ? handler.getLooper() : Looper.myLooper(), null, true /*async*/);
            mCallbacks = callbacks;
            mCallback = callback;
        }

        @Override
        public void handleMessage(Message msg) {
            switch (msg.what) {
                case MSG_DISPLAY_PAUSED:
                    mCallbacks.onDisplayPaused();
                    mCallback.onPaused();
                    break;
                case MSG_DISPLAY_RESUMED:
                    mCallbacks.onDisplayResumed();
                    mCallback.onResumed();
                    break;
                case MSG_DISPLAY_STOPPED:
                    mCallbacks.onDisplayStopped();
                    mCallback.onStopped();
                    break;
            }
        }
+5 −5
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@
package android.hardware.display;

import android.hardware.display.IDisplayManagerCallback;
import android.hardware.display.IVirtualDisplayCallbacks;
import android.hardware.display.IVirtualDisplayCallback;
import android.hardware.display.WifiDisplay;
import android.hardware.display.WifiDisplayStatus;
import android.media.projection.IMediaProjection;
@@ -61,17 +61,17 @@ interface IDisplayManager {

    // Requires CAPTURE_VIDEO_OUTPUT, CAPTURE_SECURE_VIDEO_OUTPUT, or an appropriate
    // MediaProjection token for certain combinations of flags.
    int createVirtualDisplay(in IVirtualDisplayCallbacks callbacks,
    int createVirtualDisplay(in IVirtualDisplayCallback callback,
            in IMediaProjection projectionToken, String packageName, String name,
            int width, int height, int densityDpi, in Surface surface, int flags);

    // No permissions required, but must be same Uid as the creator.
    void resizeVirtualDisplay(in IVirtualDisplayCallbacks token,
    void resizeVirtualDisplay(in IVirtualDisplayCallback token,
            int width, int height, int densityDpi);

    // No permissions required but must be same Uid as the creator.
    void setVirtualDisplaySurface(in IVirtualDisplayCallbacks token, in Surface surface);
    void setVirtualDisplaySurface(in IVirtualDisplayCallback token, in Surface surface);

    // No permissions required but must be same Uid as the creator.
    void releaseVirtualDisplay(in IVirtualDisplayCallbacks token);
    void releaseVirtualDisplay(in IVirtualDisplayCallback token);
}
Loading