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

Commit 064391c9 authored by Winson Chung's avatar Winson Chung Committed by Automerger Merge Worker
Browse files

Merge "Return the existing display ids when registering a display window...

Merge "Return the existing display ids when registering a display window listener" into sc-v2-dev am: 31fd5176

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

Change-Id: I4f41a0f72d98c0c9af80ea94c615e902cb36df56
parents 5dd0219d 31fd5176
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -32,7 +32,8 @@ import android.content.res.Configuration;
oneway interface IDisplayWindowListener {

    /**
     * Called when a display is added to the WM hierarchy.
     * Called when a new display is added to the WM hierarchy. The existing display ids are returned
     * when this listener is registered with WM via {@link #registerDisplayWindowListener}.
     */
    void onDisplayAdded(int displayId);

+3 −2
Original line number Diff line number Diff line
@@ -521,9 +521,10 @@ interface IWindowManager
    void unregisterDisplayFoldListener(IDisplayFoldListener listener);

    /**
     * Registers an IDisplayContainerListener
     * Registers an IDisplayContainerListener, and returns the set of existing display ids. The
     * listener's onDisplayAdded() will not be called for the displays returned.
     */
    void registerDisplayWindowListener(IDisplayWindowListener listener);
    int[] registerDisplayWindowListener(IDisplayWindowListener listener);

    /**
     * Unregisters an IDisplayContainerListener.
+4 −1
Original line number Diff line number Diff line
@@ -67,7 +67,10 @@ public class DisplayController {
     */
    public void initialize() {
        try {
            mWmService.registerDisplayWindowListener(mDisplayContainerListener);
            int[] displayIds = mWmService.registerDisplayWindowListener(mDisplayContainerListener);
            for (int i = 0; i < displayIds.length; i++) {
                onDisplayAdded(displayIds[i]);
            }
        } catch (RemoteException e) {
            throw new RuntimeException("Unable to register display controller");
        }
+1 −13
Original line number Diff line number Diff line
@@ -731,24 +731,12 @@ public class ShellTransitionTests {
        IWindowManager mockWM = mock(IWindowManager.class);
        final IDisplayWindowListener[] displayListener = new IDisplayWindowListener[1];
        try {
            doAnswer(new Answer() {
                @Override
                public Object answer(InvocationOnMock invocation) {
                    displayListener[0] = invocation.getArgument(0);
                    return null;
                }
            }).when(mockWM).registerDisplayWindowListener(any());
            doReturn(new int[] {DEFAULT_DISPLAY}).when(mockWM).registerDisplayWindowListener(any());
        } catch (RemoteException e) {
            // No remote stuff happening, so this can't be hit
        }
        DisplayController out = new DisplayController(mContext, mockWM, mMainExecutor);
        out.initialize();
        try {
            displayListener[0].onDisplayAdded(DEFAULT_DISPLAY);
            mMainExecutor.flushAll();
        } catch (RemoteException e) {
            // Again, no remote stuff
        }
        return out;
    }

+5 −2
Original line number Diff line number Diff line
@@ -692,8 +692,11 @@ public class CameraServiceProxy extends SystemService
            }

            try {
                WindowManagerGlobal.getWindowManagerService().registerDisplayWindowListener(
                        mDisplayWindowListener);
                int[] displayIds = WindowManagerGlobal.getWindowManagerService()
                        .registerDisplayWindowListener(mDisplayWindowListener);
                for (int i = 0; i < displayIds.length; i++) {
                    mDisplayWindowListener.onDisplayAdded(displayIds[i]);
                }
            } catch (RemoteException e) {
                Log.e(TAG, "Failed to register display window listener!");
            }
Loading