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

Commit 3d0f1522 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Make brightness change event flag public" into main

parents 4b080763 13042a78
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -21082,6 +21082,7 @@ package android.hardware.display {
    field @FlaggedApi("com.android.server.display.feature.flags.display_category_built_in") public static final String DISPLAY_CATEGORY_BUILT_IN_DISPLAYS = "android.hardware.display.category.BUILT_IN_DISPLAYS";
    field public static final String DISPLAY_CATEGORY_PRESENTATION = "android.hardware.display.category.PRESENTATION";
    field @FlaggedApi("com.android.server.display.feature.flags.display_listener_performance_improvements") public static final long EVENT_TYPE_DISPLAY_ADDED = 1L; // 0x1L
    field @FlaggedApi("com.android.server.display.feature.flags.set_brightness_by_unit") public static final long EVENT_TYPE_DISPLAY_BRIGHTNESS = 32L; // 0x20L
    field @FlaggedApi("com.android.server.display.feature.flags.display_listener_performance_improvements") public static final long EVENT_TYPE_DISPLAY_CHANGED = 4L; // 0x4L
    field @FlaggedApi("com.android.server.display.feature.flags.display_listener_performance_improvements") public static final long EVENT_TYPE_DISPLAY_REFRESH_RATE = 8L; // 0x8L
    field @FlaggedApi("com.android.server.display.feature.flags.display_listener_performance_improvements") public static final long EVENT_TYPE_DISPLAY_REMOVED = 2L; // 0x2L
+8 −9
Original line number Diff line number Diff line
@@ -601,7 +601,8 @@ public final class DisplayManager {
            EVENT_TYPE_DISPLAY_CHANGED,
            EVENT_TYPE_DISPLAY_REMOVED,
            EVENT_TYPE_DISPLAY_REFRESH_RATE,
            EVENT_TYPE_DISPLAY_STATE
            EVENT_TYPE_DISPLAY_STATE,
            EVENT_TYPE_DISPLAY_BRIGHTNESS
    })
    @Retention(RetentionPolicy.SOURCE)
    public @interface EventType {}
@@ -610,7 +611,6 @@ public final class DisplayManager {
     * @hide
     */
    @LongDef(flag = true, prefix = {"PRIVATE_EVENT_TYPE_"}, value = {
            PRIVATE_EVENT_TYPE_DISPLAY_BRIGHTNESS,
            PRIVATE_EVENT_TYPE_HDR_SDR_RATIO_CHANGED,
            PRIVATE_EVENT_TYPE_DISPLAY_CONNECTION_CHANGED,
            PRIVATE_EVENT_TYPE_DISPLAY_COMMITTED_STATE_CHANGED
@@ -679,11 +679,10 @@ public final class DisplayManager {
     * through the {@link DisplayListener#onDisplayChanged} callback method. New brightness
     * values can be retrieved via {@link android.view.Display#getBrightnessInfo()}.
     *
     * @see #registerDisplayListener(DisplayListener, Handler, long, long)
     *
     * @hide
     * @see #registerDisplayListener(Executor, long, DisplayListener)
     */
    public static final long PRIVATE_EVENT_TYPE_DISPLAY_BRIGHTNESS = 1L << 0;
    @FlaggedApi(Flags.FLAG_SET_BRIGHTNESS_BY_UNIT)
    public static final long EVENT_TYPE_DISPLAY_BRIGHTNESS = 1L << 5;

    /**
     * Event type to register for a display's hdr/sdr ratio changes. This notification is sent
@@ -696,7 +695,7 @@ public final class DisplayManager {
     *
     * @hide
     */
    public static final long PRIVATE_EVENT_TYPE_HDR_SDR_RATIO_CHANGED = 1L << 1;
    public static final long PRIVATE_EVENT_TYPE_HDR_SDR_RATIO_CHANGED = 1L << 0;

    /**
     * Event type to register for a display's connection changed.
@@ -704,7 +703,7 @@ public final class DisplayManager {
     * @see #registerDisplayListener(DisplayListener, Handler, long, long)
     * @hide
     */
    public static final long PRIVATE_EVENT_TYPE_DISPLAY_CONNECTION_CHANGED = 1L << 2;
    public static final long PRIVATE_EVENT_TYPE_DISPLAY_CONNECTION_CHANGED = 1L << 1;

    /**
     * Event type to register for a display's committed state changes.
@@ -712,7 +711,7 @@ public final class DisplayManager {
     * @see #registerDisplayListener(DisplayListener, Handler, long, long)
     * @hide
     */
    public static final long PRIVATE_EVENT_TYPE_DISPLAY_COMMITTED_STATE_CHANGED = 1L << 3;
    public static final long PRIVATE_EVENT_TYPE_DISPLAY_COMMITTED_STATE_CHANGED = 1L << 2;

    /**
     * Brightness value type where the value is in the range [0, 100] and when set, the brightness
+4 −4
Original line number Diff line number Diff line
@@ -1897,10 +1897,6 @@ public final class DisplayManagerGlobal {

    private long mapPrivateEventFlags(@DisplayManager.PrivateEventType long privateEventFlags) {
        long baseEventMask = 0;
        if ((privateEventFlags & DisplayManager.PRIVATE_EVENT_TYPE_DISPLAY_BRIGHTNESS) != 0) {
            baseEventMask |= INTERNAL_EVENT_FLAG_DISPLAY_BRIGHTNESS_CHANGED;
        }

        if ((privateEventFlags & DisplayManager.PRIVATE_EVENT_TYPE_HDR_SDR_RATIO_CHANGED) != 0) {
            baseEventMask |= INTERNAL_EVENT_FLAG_DISPLAY_HDR_SDR_RATIO_CHANGED;
        }
@@ -1943,6 +1939,10 @@ public final class DisplayManagerGlobal {
            }
        }

        if ((eventFlags & DisplayManager.EVENT_TYPE_DISPLAY_BRIGHTNESS) != 0) {
            baseEventMask |= INTERNAL_EVENT_FLAG_DISPLAY_BRIGHTNESS_CHANGED;
        }

        return baseEventMask;
    }

+2 −2
Original line number Diff line number Diff line
@@ -600,8 +600,8 @@ public class BrightnessSynchronizer {
            final ContentResolver cr = mContext.getContentResolver();
            cr.registerContentObserver(BRIGHTNESS_URI, false,
                    createBrightnessContentObserver(handler), UserHandle.USER_ALL);
            mDisplayManager.registerDisplayListener(mListener, handler, /* eventFlags */ 0,
                    DisplayManager.PRIVATE_EVENT_TYPE_DISPLAY_BRIGHTNESS);
            mDisplayManager.registerDisplayListener(mListener, handler,
                    DisplayManager.EVENT_TYPE_DISPLAY_BRIGHTNESS);
            mIsObserving = true;
        }
    }
+7 −6
Original line number Diff line number Diff line
@@ -428,6 +428,11 @@ public class DisplayManagerGlobalTest {
                        .mapFiltersToInternalEventFlag(
                                DisplayManager.EVENT_TYPE_DISPLAY_STATE,
                                0));
        assertEquals(DisplayManagerGlobal.INTERNAL_EVENT_FLAG_DISPLAY_BRIGHTNESS_CHANGED,
                mDisplayManagerGlobal
                        .mapFiltersToInternalEventFlag(
                                DisplayManager.EVENT_TYPE_DISPLAY_BRIGHTNESS,
                                0));

        // test private flags mapping
        assertEquals(DisplayManagerGlobal.INTERNAL_EVENT_FLAG_DISPLAY_CONNECTION_CHANGED,
@@ -438,18 +443,14 @@ public class DisplayManagerGlobalTest {
                mDisplayManagerGlobal
                        .mapFiltersToInternalEventFlag(0,
                                DisplayManager.PRIVATE_EVENT_TYPE_HDR_SDR_RATIO_CHANGED));
        assertEquals(DisplayManagerGlobal.INTERNAL_EVENT_FLAG_DISPLAY_BRIGHTNESS_CHANGED,
                mDisplayManagerGlobal
                        .mapFiltersToInternalEventFlag(0,
                                DisplayManager.PRIVATE_EVENT_TYPE_DISPLAY_BRIGHTNESS));

        // Test both public and private flags mapping
        assertEquals(DisplayManagerGlobal.INTERNAL_EVENT_FLAG_DISPLAY_BRIGHTNESS_CHANGED
        assertEquals(DisplayManagerGlobal.INTERNAL_EVENT_FLAG_DISPLAY_COMMITTED_STATE_CHANGED
                        | INTERNAL_EVENT_FLAG_DISPLAY_REFRESH_RATE,
                mDisplayManagerGlobal
                        .mapFiltersToInternalEventFlag(
                                DisplayManager.EVENT_TYPE_DISPLAY_REFRESH_RATE,
                                DisplayManager.PRIVATE_EVENT_TYPE_DISPLAY_BRIGHTNESS));
                                DisplayManager.PRIVATE_EVENT_TYPE_DISPLAY_COMMITTED_STATE_CHANGED));
    }

    @Test
Loading