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

Commit 13042a78 authored by Piotr Wilczyński's avatar Piotr Wilczyński
Browse files

Make brightness change event flag public

Bug: 420638976
Flag: com.android.server.display.feature.flags.set_brightness_by_unit
Test: DisplayManagerGlobalTest, ScreenBrightnessDisplayManagerRepositoryTest, DisplayTrackerImplTest, BrightnessSynchronizerTest, DisplayModeDirectorTest
Change-Id: I64f1a33620026624c1a7119576704ce122e031dd
parent 30e1d066
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -21081,6 +21081,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
@@ -1900,10 +1900,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;
        }
@@ -1946,6 +1942,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