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

Commit 930297e0 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "AOD: Refactor low and high brightness modes" into oc-dr1-dev

parents 5a0958ed 3a8f892b
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -267,6 +267,12 @@
    <!-- Doze: alpha to apply to small icons when dozing -->
    <integer name="doze_small_icon_alpha">222</integer><!-- 87% of 0xff -->

    <!-- Doze: the brightness value to use for the lower brightness AOD mode -->
    <integer name="config_doze_aod_brightness_low">6</integer>

    <!-- Doze: the brightness value to use for the higher brightness AOD mode -->
    <integer name="config_doze_aod_brightness_high">27</integer>

    <!-- Doze: whether the double tap sensor reports 2D touch coordinates -->
    <bool name="doze_double_tap_reports_touch_coordinates">false</bool>

+22 −1
Original line number Diff line number Diff line
@@ -23,6 +23,9 @@ import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Handler;

import com.android.internal.annotations.VisibleForTesting;
import com.android.systemui.R;

/**
 * Controls the screen brightness when dozing.
 */
@@ -34,6 +37,9 @@ public class DozeScreenBrightness implements DozeMachine.Part, SensorEventListen
    private final Sensor mLightSensor;
    private boolean mRegistered;

    private final int mHighBrightness;
    private final int mLowBrightness;

    public DozeScreenBrightness(Context context, DozeMachine.Service service,
            SensorManager sensorManager, Sensor lightSensor, Handler handler) {
        mContext = context;
@@ -41,6 +47,11 @@ public class DozeScreenBrightness implements DozeMachine.Part, SensorEventListen
        mSensorManager = sensorManager;
        mLightSensor = lightSensor;
        mHandler = handler;

        mLowBrightness = context.getResources().getInteger(
                R.integer.config_doze_aod_brightness_low);
        mHighBrightness = context.getResources().getInteger(
                R.integer.config_doze_aod_brightness_high);
    }

    @Override
@@ -67,7 +78,17 @@ public class DozeScreenBrightness implements DozeMachine.Part, SensorEventListen
    @Override
    public void onSensorChanged(SensorEvent event) {
        if (mRegistered) {
            mDozeService.setDozeScreenBrightness(Math.max(1, (int) event.values[0]));
            mDozeService.setDozeScreenBrightness(computeBrightness((int) event.values[0]));
        }
    }

    private int computeBrightness(int sensorValue) {
        // The sensor reports 0 for off, 1 for low brightness and 2 for high brightness.
        // We currently use DozeScreenState for screen off, so we treat off as low brightness.
        if (sensorValue >= 2) {
            return mHighBrightness;
        } else {
            return mLowBrightness;
        }
    }

+2 −0
Original line number Diff line number Diff line
@@ -38,11 +38,13 @@ import com.android.systemui.SysuiTestCase;
import com.android.systemui.utils.hardware.FakeSensorManager;

import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;

@RunWith(AndroidJUnit4.class)
@SmallTest
@Ignore
public class DozeScreenBrightnessTest extends SysuiTestCase {

    DozeServiceFake mServiceFake;