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

Commit 0dc7206a authored by Rupesh Bansal's avatar Rupesh Bansal Committed by Automerger Merge Worker
Browse files

Merge "Added display device config for default refresh rates in the hbm mode"...

Merge "Added display device config for default refresh rates in the hbm mode" into tm-qpr-dev am: 8f3fe87a

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



Change-Id: Ib79ad6b5d04cd4221c62c51447f592d7eb5459c5
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 4b877c95 8f3fe87a
Loading
Loading
Loading
Loading
+37 −4
Original line number Diff line number Diff line
@@ -137,6 +137,8 @@ import javax.xml.datatype.DatatypeConfigurationException;
 *      <refreshRate>
 *        <lowerBlockingZoneConfigs>
 *          <defaultRefreshRate>75</defaultRefreshRate>
 *          <defaultRefreshRateInHbmHdr>75</defaultRefreshRateInHbmHdr>
 *          <defaultRefreshRateInHbmSunlight>75</defaultRefreshRateInHbmSunlight>
 *          <blockingZoneThreshold>
 *            <displayBrightnessPoint>
 *              <lux>50</lux>
@@ -404,6 +406,7 @@ public class DisplayDeviceConfig {
    private static final long STABLE_FLAG = 1L << 62;
    private static final int DEFAULT_PEAK_REFRESH_RATE = 0;
    private static final int DEFAULT_REFRESH_RATE = 60;
    private static final int DEFAULT_REFRESH_RATE_IN_HBM = 0;
    private static final int DEFAULT_LOW_REFRESH_RATE = 60;
    private static final int DEFAULT_HIGH_REFRESH_RATE = 0;
    private static final int[] DEFAULT_BRIGHTNESS_THRESHOLDS = new int[]{};
@@ -584,6 +587,15 @@ public class DisplayDeviceConfig {
     */
    private int mDefaultRefreshRate = DEFAULT_REFRESH_RATE;

    /**
     * Default refresh rate while the device has high brightness mode enabled for HDR.
     */
    private int mDefaultRefreshRateInHbmHdr = DEFAULT_REFRESH_RATE_IN_HBM;

    /**
     * Default refresh rate while the device has high brightness mode enabled for Sunlight.
     */
    private int mDefaultRefreshRateInHbmSunlight = DEFAULT_REFRESH_RATE_IN_HBM;
    /**
     * Default refresh rate in the high zone defined by brightness and ambient thresholds.
     * If non-positive, then the refresh rate is unchanged even if thresholds are configured.
@@ -1324,8 +1336,7 @@ public class DisplayDeviceConfig {
     * @return Default refresh rate while the device has high brightness mode enabled for HDR.
     */
    public int getDefaultRefreshRateInHbmHdr() {
        return mContext.getResources().getInteger(
            R.integer.config_defaultRefreshRateInHbmHdr);
        return mDefaultRefreshRateInHbmHdr;
    }

    /**
@@ -1333,8 +1344,7 @@ public class DisplayDeviceConfig {
     * high lux.
     */
    public int getDefaultRefreshRateInHbmSunlight() {
        return mContext.getResources().getInteger(
            R.integer.config_defaultRefreshRateInHbmSunlight);
        return mDefaultRefreshRateInHbmSunlight;
    }

    /**
@@ -1490,6 +1500,8 @@ public class DisplayDeviceConfig {
                + ", mDefaultHighBlockingZoneRefreshRate= " + mDefaultHighBlockingZoneRefreshRate
                + ", mDefaultPeakRefreshRate= " + mDefaultPeakRefreshRate
                + ", mDefaultRefreshRate= " + mDefaultRefreshRate
                + ", mDefaultRefreshRateInHbmHdr= " + mDefaultRefreshRateInHbmHdr
                + ", mDefaultRefreshRateInHbmSunlight= " + mDefaultRefreshRateInHbmSunlight
                + ", mLowDisplayBrightnessThresholds= "
                + Arrays.toString(mLowDisplayBrightnessThresholds)
                + ", mLowAmbientBrightnessThresholds= "
@@ -1805,6 +1817,7 @@ public class DisplayDeviceConfig {
                        : refreshRateConfigs.getHigherBlockingZoneConfigs();
        loadPeakDefaultRefreshRate(refreshRateConfigs);
        loadDefaultRefreshRate(refreshRateConfigs);
        loadDefaultRefreshRateInHbm(refreshRateConfigs);
        loadLowerRefreshRateBlockingZones(lowerBlockingZoneConfig);
        loadHigherRefreshRateBlockingZones(higherBlockingZoneConfig);
    }
@@ -1829,6 +1842,26 @@ public class DisplayDeviceConfig {
        }
    }

    private void loadDefaultRefreshRateInHbm(RefreshRateConfigs refreshRateConfigs) {
        if (refreshRateConfigs != null
                && refreshRateConfigs.getDefaultRefreshRateInHbmHdr() != null) {
            mDefaultRefreshRateInHbmHdr = refreshRateConfigs.getDefaultRefreshRateInHbmHdr()
                    .intValue();
        } else {
            mDefaultRefreshRateInHbmHdr = mContext.getResources().getInteger(
                    R.integer.config_defaultRefreshRateInHbmHdr);
        }

        if (refreshRateConfigs != null
                && refreshRateConfigs.getDefaultRefreshRateInHbmSunlight() != null) {
            mDefaultRefreshRateInHbmSunlight =
                    refreshRateConfigs.getDefaultRefreshRateInHbmSunlight().intValue();
        } else {
            mDefaultRefreshRateInHbmSunlight = mContext.getResources().getInteger(
                R.integer.config_defaultRefreshRateInHbmSunlight);
        }
    }

    /**
     * Loads the refresh rate configurations pertaining to the upper blocking zones.
     */
+8 −0
Original line number Diff line number Diff line
@@ -472,6 +472,14 @@
                    minOccurs="0" maxOccurs="1">
            <xs:annotation name="final"/>
        </xs:element>
        <xs:element name="defaultRefreshRateInHbmHdr" type="xs:nonNegativeInteger"
                    minOccurs="0" maxOccurs="1">
            <xs:annotation name="final"/>
        </xs:element>
        <xs:element name="defaultRefreshRateInHbmSunlight" type="xs:nonNegativeInteger"
                    minOccurs="0" maxOccurs="1">
            <xs:annotation name="final"/>
        </xs:element>
        <xs:element name="lowerBlockingZoneConfigs" type="blockingZoneConfig"
                    minOccurs="0" maxOccurs="1">
            <xs:annotation name="final"/>
+4 −0
Original line number Diff line number Diff line
@@ -188,10 +188,14 @@ package com.android.server.display.config {
    ctor public RefreshRateConfigs();
    method public final java.math.BigInteger getDefaultPeakRefreshRate();
    method public final java.math.BigInteger getDefaultRefreshRate();
    method public final java.math.BigInteger getDefaultRefreshRateInHbmHdr();
    method public final java.math.BigInteger getDefaultRefreshRateInHbmSunlight();
    method public final com.android.server.display.config.BlockingZoneConfig getHigherBlockingZoneConfigs();
    method public final com.android.server.display.config.BlockingZoneConfig getLowerBlockingZoneConfigs();
    method public final void setDefaultPeakRefreshRate(java.math.BigInteger);
    method public final void setDefaultRefreshRate(java.math.BigInteger);
    method public final void setDefaultRefreshRateInHbmHdr(java.math.BigInteger);
    method public final void setDefaultRefreshRateInHbmSunlight(java.math.BigInteger);
    method public final void setHigherBlockingZoneConfigs(com.android.server.display.config.BlockingZoneConfig);
    method public final void setLowerBlockingZoneConfigs(com.android.server.display.config.BlockingZoneConfig);
  }
+4 −0
Original line number Diff line number Diff line
@@ -158,6 +158,8 @@ public final class DisplayDeviceConfigTest {
        assertEquals(90, mDisplayDeviceConfig.getDefaultHighBlockingZoneRefreshRate());
        assertEquals(85, mDisplayDeviceConfig.getDefaultPeakRefreshRate());
        assertEquals(45, mDisplayDeviceConfig.getDefaultRefreshRate());
        assertEquals(82, mDisplayDeviceConfig.getDefaultRefreshRateInHbmHdr());
        assertEquals(83, mDisplayDeviceConfig.getDefaultRefreshRateInHbmSunlight());
        assertArrayEquals(new int[]{45, 55},
                mDisplayDeviceConfig.getLowDisplayBrightnessThresholds());
        assertArrayEquals(new int[]{50, 60},
@@ -465,6 +467,8 @@ public final class DisplayDeviceConfigTest {
                +   "<refreshRate>\n"
                +       "<defaultRefreshRate>45</defaultRefreshRate>\n"
                +       "<defaultPeakRefreshRate>85</defaultPeakRefreshRate>\n"
                +       "<defaultRefreshRateInHbmHdr>82</defaultRefreshRateInHbmHdr>\n"
                +       "<defaultRefreshRateInHbmSunlight>83</defaultRefreshRateInHbmSunlight>\n"
                +       "<lowerBlockingZoneConfigs>\n"
                +           "<defaultRefreshRate>75</defaultRefreshRate>\n"
                +           "<blockingZoneThreshold>\n"