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 Diff line number Diff line
@@ -854,8 +854,8 @@ public final class DisplayManager {
     *
     * @hide Requires signature permission.
     */
    public void setTemporaryBrightness(float brightness) {
        mGlobal.setTemporaryBrightness(brightness);
    public void setTemporaryBrightness(int displayId, float brightness) {
        mGlobal.setTemporaryBrightness(displayId, brightness);
    }

    /**
+3 −3
Original line number Diff line number Diff line
@@ -636,13 +636,13 @@ public final class DisplayManagerGlobal {
     * Requires the {@link android.Manifest.permission#CONTROL_DISPLAY_BRIGHTNESS} permission.
     * </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.
     */
    public void setTemporaryBrightness(float brightness) {
    public void setTemporaryBrightness(int displayId, float brightness) {
        try {
            mDm.setTemporaryBrightness(brightness);
            mDm.setTemporaryBrightness(displayId, brightness);
        } catch (RemoteException ex) {
            throw ex.rethrowFromSystemServer();
        }
+1 −1
Original line number Diff line number Diff line
@@ -116,7 +116,7 @@ interface IDisplayManager {
    boolean isMinimalPostProcessingRequested(int displayId);

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

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

    public void onClick(View v) {
        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);
    }
}
+3 −1
Original line number Diff line number Diff line
@@ -79,6 +79,7 @@ public class BrightnessController implements ToggleSlider.Listener {
    private final float mMaximumBacklightForVr;
    private final float mDefaultBacklightForVr;

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

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

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

    private void updateVrMode(boolean isEnabled) {
Loading