From bfe4feab452d934a862b4bf5e19472c6369b3558 Mon Sep 17 00:00:00 2001 From: blunden Date: Tue, 24 Apr 2018 22:19:30 +0200 Subject: Control dialer's incoming call proximity sensor check via an overlay This feature can't be used on devices with proximity sensors that don't work when the screen is off, e.g. sensors using ultrasound technology. The result in those cases is a black screen with just the status bar showing, instead of the normal incoming call UI. Make it possible to opt-out via an overlay. Change-Id: Ic3848d09e1ed80e5409cbecbaca2517db16ed0b8 --- .../answerproximitysensor/AnswerProximitySensor.java | 7 +++++++ .../android/incallui/res/values/lineage_config.xml | 20 ++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 java/com/android/incallui/res/values/lineage_config.xml diff --git a/java/com/android/incallui/answerproximitysensor/AnswerProximitySensor.java b/java/com/android/incallui/answerproximitysensor/AnswerProximitySensor.java index 8aeb05fea..dbb8df9d5 100644 --- a/java/com/android/incallui/answerproximitysensor/AnswerProximitySensor.java +++ b/java/com/android/incallui/answerproximitysensor/AnswerProximitySensor.java @@ -27,6 +27,8 @@ import com.android.incallui.call.DialerCall; import com.android.incallui.call.DialerCallListener; import com.android.incallui.call.state.DialerCallState; +import com.android.incallui.R; + /** * This class prevents users from accidentally answering calls by keeping the screen off until the * proximity sensor is unblocked. If the screen is already on or if this is a call waiting call then @@ -61,6 +63,11 @@ public class AnswerProximitySensor return false; } + if (!context.getResources().getBoolean(R.bool.config_answer_proximity_sensor_enabled)) { + LogUtil.i("AnswerProximitySensor.shouldUse", "disabled by overlay"); + return false; + } + if (!context .getSystemService(PowerManager.class) .isWakeLockLevelSupported(PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK)) { diff --git a/java/com/android/incallui/res/values/lineage_config.xml b/java/com/android/incallui/res/values/lineage_config.xml new file mode 100644 index 000000000..e9a958de5 --- /dev/null +++ b/java/com/android/incallui/res/values/lineage_config.xml @@ -0,0 +1,20 @@ + + + + + true + -- cgit v1.2.3