diff options
| author | Lucas Dupin <dupin@google.com> | 2018-11-28 17:14:54 +0100 |
|---|---|---|
| committer | android-build-team Robot <android-build-team-robot@google.com> | 2018-11-30 03:36:15 +0000 |
| commit | fec4cdf60e4ce6673e8a8af5594b624e23f1b51f (patch) | |
| tree | e4ef193824ad5826a082ad98896cadb1b5a2562c | |
| parent | f1eaebfb9673fcf9c5dc6543651b720f760317c2 (diff) | |
Only register debug hooks when requested
Always registering them was causing ANRs because of blocking binder calls,
registering on a background thread also isn't ideal beacuse wake locks might
be released and let the device sleep.
Let's only register them when explicitly required.
Change-Id: I52c45fcb38c277903ece662afdd5e6c35cf2aac4
Fixes: 119436283
Test: adb shell setprop debug.aod_brightness 1
(cherry picked from commit bf2fbd5b68b82838e36eae085c82fa9165038ecd)
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/doze/DozeScreenBrightness.java | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeScreenBrightness.java b/packages/SystemUI/src/com/android/systemui/doze/DozeScreenBrightness.java index 01a234544c5b..1dd3101075b0 100644 --- a/packages/SystemUI/src/com/android/systemui/doze/DozeScreenBrightness.java +++ b/packages/SystemUI/src/com/android/systemui/doze/DozeScreenBrightness.java @@ -24,20 +24,21 @@ import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager; -import android.os.Build; import android.os.Handler; +import android.os.SystemProperties; import android.os.Trace; import android.os.UserHandle; import android.provider.Settings; import com.android.internal.annotations.VisibleForTesting; -import com.android.systemui.Dependency; /** * Controls the screen brightness when dozing. */ public class DozeScreenBrightness extends BroadcastReceiver implements DozeMachine.Part, SensorEventListener { + private static final boolean DEBUG_AOD_BRIGHTNESS = SystemProperties + .getBoolean("debug.aod_brightness", false); protected static final String ACTION_AOD_BRIGHTNESS = "com.android.systemui.doze.AOD_BRIGHTNESS"; protected static final String BRIGHTNESS_BUCKET = "brightness_bucket"; @@ -83,11 +84,9 @@ public class DozeScreenBrightness extends BroadcastReceiver implements DozeMachi mSensorToScrimOpacity = sensorToScrimOpacity; if (mDebuggable) { - Dependency.get(Dependency.BG_HANDLER).post(()-> { - IntentFilter filter = new IntentFilter(); - filter.addAction(ACTION_AOD_BRIGHTNESS); - mContext.registerReceiverAsUser(this, UserHandle.ALL, filter, null, handler); - }); + IntentFilter filter = new IntentFilter(); + filter.addAction(ACTION_AOD_BRIGHTNESS); + mContext.registerReceiverAsUser(this, UserHandle.ALL, filter, null, handler); } } @@ -97,7 +96,7 @@ public class DozeScreenBrightness extends BroadcastReceiver implements DozeMachi this(context, service, sensorManager, lightSensor, host, handler, context.getResources().getInteger( com.android.internal.R.integer.config_screenBrightnessDoze), - policy.screenBrightnessArray, policy.dimmingScrimArray, Build.IS_DEBUGGABLE); + policy.screenBrightnessArray, policy.dimmingScrimArray, DEBUG_AOD_BRIGHTNESS); } @Override @@ -126,9 +125,7 @@ public class DozeScreenBrightness extends BroadcastReceiver implements DozeMachi private void onDestroy() { setLightSensorEnabled(false); if (mDebuggable) { - Dependency.get(Dependency.BG_HANDLER).post(()-> { - mContext.unregisterReceiver(this); - }); + mContext.unregisterReceiver(this); } } |
