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

Commit cc1882f7 authored by Fiona Campbell's avatar Fiona Campbell
Browse files

Enable per display brightness setting

Pass displayId through from brightnesscontroller to
settemporarybrightness on the correct displaypowercontroller.

Bug: 175286226
Test: atest frameworks/base/services/tests/servicestests/src/com/android/server/display
Test: atest ColorModeControls
Change-Id: Ibb65b8c5a70445702b711739551ffb9f727ef450
parent 9330a9ac
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -854,8 +854,8 @@ public final class DisplayManager {
     *
     *
     * @hide Requires signature permission.
     * @hide Requires signature permission.
     */
     */
    public void setTemporaryBrightness(float brightness) {
    public void setTemporaryBrightness(int displayId, float brightness) {
        mGlobal.setTemporaryBrightness(brightness);
        mGlobal.setTemporaryBrightness(displayId, brightness);
    }
    }


    /**
    /**
+3 −3
Original line number Original line Diff line number Diff line
@@ -636,13 +636,13 @@ public final class DisplayManagerGlobal {
     * Requires the {@link android.Manifest.permission#CONTROL_DISPLAY_BRIGHTNESS} permission.
     * Requires the {@link android.Manifest.permission#CONTROL_DISPLAY_BRIGHTNESS} permission.
     * </p>
     * </p>
     *
     *
     * @param brightness The brightness value from 0 to 255.
     * @param brightness The brightness value from 0.0f to 1.0f.
     *
     *
     * @hide Requires signature permission.
     * @hide Requires signature permission.
     */
     */
    public void setTemporaryBrightness(float brightness) {
    public void setTemporaryBrightness(int displayId, float brightness) {
        try {
        try {
            mDm.setTemporaryBrightness(brightness);
            mDm.setTemporaryBrightness(displayId, brightness);
        } catch (RemoteException ex) {
        } catch (RemoteException ex) {
            throw ex.rethrowFromSystemServer();
            throw ex.rethrowFromSystemServer();
        }
        }
+1 −1
Original line number Original line Diff line number Diff line
@@ -116,7 +116,7 @@ interface IDisplayManager {
    boolean isMinimalPostProcessingRequested(int displayId);
    boolean isMinimalPostProcessingRequested(int displayId);


    // Temporarily sets the display brightness.
    // Temporarily sets the display brightness.
    void setTemporaryBrightness(float brightness);
    void setTemporaryBrightness(int displayId, float brightness);


    // Temporarily sets the auto brightness adjustment factor.
    // Temporarily sets the auto brightness adjustment factor.
    void setTemporaryAutoBrightnessAdjustment(float adjustment);
    void setTemporaryAutoBrightnessAdjustment(float adjustment);
+2 −1
Original line number Original line Diff line number Diff line
@@ -42,7 +42,8 @@ public class BrightnessLimit extends Activity implements OnClickListener {


    public void onClick(View v) {
    public void onClick(View v) {
        DisplayManager dm = getSystemService(DisplayManager.class);
        DisplayManager dm = getSystemService(DisplayManager.class);
        dm.setTemporaryBrightness(0.0f);
        final int displayId = getBaseContext().getDisplay().getDisplayId();
        dm.setTemporaryBrightness(displayId, 0.0f);
        Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, 0);
        Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, 0);
    }
    }
}
}
+3 −1
Original line number Original line Diff line number Diff line
@@ -79,6 +79,7 @@ public class BrightnessController implements ToggleSlider.Listener {
    private final float mMaximumBacklightForVr;
    private final float mMaximumBacklightForVr;
    private final float mDefaultBacklightForVr;
    private final float mDefaultBacklightForVr;


    private final int mDisplayId;
    private final Context mContext;
    private final Context mContext;
    private final ToggleSlider mControl;
    private final ToggleSlider mControl;
    private final boolean mAutomaticAvailable;
    private final boolean mAutomaticAvailable;
@@ -311,6 +312,7 @@ public class BrightnessController implements ToggleSlider.Listener {
        };
        };
        mBrightnessObserver = new BrightnessObserver(mHandler);
        mBrightnessObserver = new BrightnessObserver(mHandler);


        mDisplayId = mContext.getDisplayId();
        PowerManager pm = context.getSystemService(PowerManager.class);
        PowerManager pm = context.getSystemService(PowerManager.class);
        mMinimumBacklight = pm.getBrightnessConstraint(
        mMinimumBacklight = pm.getBrightnessConstraint(
                PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_MINIMUM);
                PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_MINIMUM);
@@ -420,7 +422,7 @@ public class BrightnessController implements ToggleSlider.Listener {
    }
    }


    private void setBrightness(float brightness) {
    private void setBrightness(float brightness) {
        mDisplayManager.setTemporaryBrightness(brightness);
        mDisplayManager.setTemporaryBrightness(mDisplayId, brightness);
    }
    }


    private void updateVrMode(boolean isEnabled) {
    private void updateVrMode(boolean isEnabled) {
Loading