Loading core/java/android/hardware/display/DisplayManager.java +9 −1 Original line number Diff line number Diff line Loading @@ -623,6 +623,9 @@ public final class DisplayManager { * is triggered whenever the properties of a {@link android.view.Display}, such as size, * state, density are modified. * * This event is not triggered for refresh rate changes as they can change very often. * To monitor refresh rate changes, subscribe to {@link EVENT_TYPE_DISPLAY_REFRESH_RATE}. * * @see #registerDisplayListener(DisplayListener, Handler, long) * */ Loading Loading @@ -801,6 +804,9 @@ public final class DisplayManager { * Registers a display listener to receive notifications about when * displays are added, removed or changed. * * We encourage to use {@link #registerDisplayListener(Executor, long, DisplayListener)} * instead to subscribe for explicit events of interest * * @param listener The listener to register. * @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. Loading @@ -809,7 +815,9 @@ public final class DisplayManager { */ public void registerDisplayListener(DisplayListener listener, Handler handler) { registerDisplayListener(listener, handler, EVENT_TYPE_DISPLAY_ADDED | EVENT_TYPE_DISPLAY_CHANGED | EVENT_TYPE_DISPLAY_REMOVED); | EVENT_TYPE_DISPLAY_CHANGED | EVENT_TYPE_DISPLAY_REFRESH_RATE | EVENT_TYPE_DISPLAY_REMOVED); } /** Loading core/java/android/hardware/display/DisplayManagerGlobal.java +6 −12 Original line number Diff line number Diff line Loading @@ -1766,29 +1766,23 @@ public final class DisplayManagerGlobal { } if ((eventFlags & DisplayManager.EVENT_TYPE_DISPLAY_CHANGED) != 0) { // For backward compatibility, a client subscribing to // DisplayManager.EVENT_FLAG_DISPLAY_CHANGED will be enrolled to both Basic and // RR changes baseEventMask |= INTERNAL_EVENT_FLAG_DISPLAY_BASIC_CHANGED | INTERNAL_EVENT_FLAG_DISPLAY_REFRESH_RATE; baseEventMask |= INTERNAL_EVENT_FLAG_DISPLAY_BASIC_CHANGED; } if ((eventFlags & DisplayManager.EVENT_TYPE_DISPLAY_REMOVED) != 0) { if ((eventFlags & DisplayManager.EVENT_TYPE_DISPLAY_REMOVED) != 0) { baseEventMask |= INTERNAL_EVENT_FLAG_DISPLAY_REMOVED; } if (Flags.displayListenerPerformanceImprovements()) { if ((eventFlags & DisplayManager.EVENT_TYPE_DISPLAY_REFRESH_RATE) != 0) { baseEventMask |= INTERNAL_EVENT_FLAG_DISPLAY_REFRESH_RATE; } if (Flags.displayListenerPerformanceImprovements()) { if ((eventFlags & DisplayManager.EVENT_TYPE_DISPLAY_STATE) != 0) { baseEventMask |= INTERNAL_EVENT_FLAG_DISPLAY_STATE; } } return baseEventMask; } } core/tests/coretests/src/android/hardware/display/DisplayManagerGlobalTest.java +4 −2 Original line number Diff line number Diff line Loading @@ -307,8 +307,10 @@ public class DisplayManagerGlobalTest { assertEquals(DisplayManagerGlobal.INTERNAL_EVENT_FLAG_DISPLAY_ADDED, mDisplayManagerGlobal .mapFiltersToInternalEventFlag(DisplayManager.EVENT_TYPE_DISPLAY_ADDED, 0)); assertEquals(DISPLAY_CHANGE_EVENTS, mDisplayManagerGlobal .mapFiltersToInternalEventFlag(DisplayManager.EVENT_TYPE_DISPLAY_CHANGED, 0)); assertEquals(DisplayManagerGlobal.INTERNAL_EVENT_FLAG_DISPLAY_BASIC_CHANGED, mDisplayManagerGlobal .mapFiltersToInternalEventFlag(DisplayManager.EVENT_TYPE_DISPLAY_CHANGED, 0)); assertEquals(DisplayManagerGlobal.INTERNAL_EVENT_FLAG_DISPLAY_REMOVED, mDisplayManagerGlobal.mapFiltersToInternalEventFlag( DisplayManager.EVENT_TYPE_DISPLAY_REMOVED, 0)); Loading Loading
core/java/android/hardware/display/DisplayManager.java +9 −1 Original line number Diff line number Diff line Loading @@ -623,6 +623,9 @@ public final class DisplayManager { * is triggered whenever the properties of a {@link android.view.Display}, such as size, * state, density are modified. * * This event is not triggered for refresh rate changes as they can change very often. * To monitor refresh rate changes, subscribe to {@link EVENT_TYPE_DISPLAY_REFRESH_RATE}. * * @see #registerDisplayListener(DisplayListener, Handler, long) * */ Loading Loading @@ -801,6 +804,9 @@ public final class DisplayManager { * Registers a display listener to receive notifications about when * displays are added, removed or changed. * * We encourage to use {@link #registerDisplayListener(Executor, long, DisplayListener)} * instead to subscribe for explicit events of interest * * @param listener The listener to register. * @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. Loading @@ -809,7 +815,9 @@ public final class DisplayManager { */ public void registerDisplayListener(DisplayListener listener, Handler handler) { registerDisplayListener(listener, handler, EVENT_TYPE_DISPLAY_ADDED | EVENT_TYPE_DISPLAY_CHANGED | EVENT_TYPE_DISPLAY_REMOVED); | EVENT_TYPE_DISPLAY_CHANGED | EVENT_TYPE_DISPLAY_REFRESH_RATE | EVENT_TYPE_DISPLAY_REMOVED); } /** Loading
core/java/android/hardware/display/DisplayManagerGlobal.java +6 −12 Original line number Diff line number Diff line Loading @@ -1766,29 +1766,23 @@ public final class DisplayManagerGlobal { } if ((eventFlags & DisplayManager.EVENT_TYPE_DISPLAY_CHANGED) != 0) { // For backward compatibility, a client subscribing to // DisplayManager.EVENT_FLAG_DISPLAY_CHANGED will be enrolled to both Basic and // RR changes baseEventMask |= INTERNAL_EVENT_FLAG_DISPLAY_BASIC_CHANGED | INTERNAL_EVENT_FLAG_DISPLAY_REFRESH_RATE; baseEventMask |= INTERNAL_EVENT_FLAG_DISPLAY_BASIC_CHANGED; } if ((eventFlags & DisplayManager.EVENT_TYPE_DISPLAY_REMOVED) != 0) { if ((eventFlags & DisplayManager.EVENT_TYPE_DISPLAY_REMOVED) != 0) { baseEventMask |= INTERNAL_EVENT_FLAG_DISPLAY_REMOVED; } if (Flags.displayListenerPerformanceImprovements()) { if ((eventFlags & DisplayManager.EVENT_TYPE_DISPLAY_REFRESH_RATE) != 0) { baseEventMask |= INTERNAL_EVENT_FLAG_DISPLAY_REFRESH_RATE; } if (Flags.displayListenerPerformanceImprovements()) { if ((eventFlags & DisplayManager.EVENT_TYPE_DISPLAY_STATE) != 0) { baseEventMask |= INTERNAL_EVENT_FLAG_DISPLAY_STATE; } } return baseEventMask; } }
core/tests/coretests/src/android/hardware/display/DisplayManagerGlobalTest.java +4 −2 Original line number Diff line number Diff line Loading @@ -307,8 +307,10 @@ public class DisplayManagerGlobalTest { assertEquals(DisplayManagerGlobal.INTERNAL_EVENT_FLAG_DISPLAY_ADDED, mDisplayManagerGlobal .mapFiltersToInternalEventFlag(DisplayManager.EVENT_TYPE_DISPLAY_ADDED, 0)); assertEquals(DISPLAY_CHANGE_EVENTS, mDisplayManagerGlobal .mapFiltersToInternalEventFlag(DisplayManager.EVENT_TYPE_DISPLAY_CHANGED, 0)); assertEquals(DisplayManagerGlobal.INTERNAL_EVENT_FLAG_DISPLAY_BASIC_CHANGED, mDisplayManagerGlobal .mapFiltersToInternalEventFlag(DisplayManager.EVENT_TYPE_DISPLAY_CHANGED, 0)); assertEquals(DisplayManagerGlobal.INTERNAL_EVENT_FLAG_DISPLAY_REMOVED, mDisplayManagerGlobal.mapFiltersToInternalEventFlag( DisplayManager.EVENT_TYPE_DISPLAY_REMOVED, 0)); Loading