summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSantos Cordon <santoscordon@google.com>2014-09-03 18:09:38 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-09-03 18:09:38 +0000
commite6c05fb93cc314cf08fce75059462cced297b61d (patch)
tree3154102793dbf2300f5e80eeef72c9a9a2f2f796
parent7fc046b0f29e78d0cf5a4066c69f826ef4eda6fd (diff)
parent42cbdd4a6a02d3c8cd292e8a83d24264764c5d79 (diff)
Merge "Do not request prox sensor ON without an ongoing call." into lmp-dev
-rw-r--r--InCallUI/src/com/android/incallui/CallList.java8
-rw-r--r--InCallUI/src/com/android/incallui/ProximitySensor.java7
2 files changed, 12 insertions, 3 deletions
diff --git a/InCallUI/src/com/android/incallui/CallList.java b/InCallUI/src/com/android/incallui/CallList.java
index 0908b56ad..7f76cd5dd 100644
--- a/InCallUI/src/com/android/incallui/CallList.java
+++ b/InCallUI/src/com/android/incallui/CallList.java
@@ -282,6 +282,14 @@ public class CallList implements InCallPhoneListener {
return result;
}
+ public boolean hasLiveCall() {
+ Call call = getFirstCall();
+ if (call == null) {
+ return false;
+ }
+ return call != getDisconnectingCall() && call != getDisconnectedCall();
+ }
+
/**
* Returns the first call found in the call map with the specified call modification state.
* @param state The session modification state to search for.
diff --git a/InCallUI/src/com/android/incallui/ProximitySensor.java b/InCallUI/src/com/android/incallui/ProximitySensor.java
index 02de4fd22..5bde190c1 100644
--- a/InCallUI/src/com/android/incallui/ProximitySensor.java
+++ b/InCallUI/src/com/android/incallui/ProximitySensor.java
@@ -81,9 +81,10 @@ public class ProximitySensor implements AccelerometerListener.OrientationListene
@Override
public void onStateChange(InCallState oldState, InCallState newState, CallList callList) {
// We ignore incoming state because we do not want to enable proximity
- // sensor during incoming call screen
- boolean isOffhook = (InCallState.INCALL == newState
- || InCallState.OUTGOING == newState);
+ // sensor during incoming call screen. We check hasLiveCall() because a disconnected call
+ // can also put the in-call screen in the INCALL state.
+ boolean hasOngoingCall = InCallState.INCALL == newState && callList.hasLiveCall();
+ boolean isOffhook = (InCallState.OUTGOING == newState) || hasOngoingCall;
if (isOffhook != mIsPhoneOffhook) {
mIsPhoneOffhook = isOffhook;