summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLucas Dupin <dupin@google.com>2018-11-28 17:14:54 +0100
committerandroid-build-team Robot <android-build-team-robot@google.com>2018-11-30 03:36:15 +0000
commitfec4cdf60e4ce6673e8a8af5594b624e23f1b51f (patch)
treee4ef193824ad5826a082ad98896cadb1b5a2562c
parentf1eaebfb9673fcf9c5dc6543651b720f760317c2 (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.java19
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);
}
}