diff options
author | Santos Cordon <santoscordon@google.com> | 2014-09-03 18:09:38 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-09-03 18:09:38 +0000 |
commit | e6c05fb93cc314cf08fce75059462cced297b61d (patch) | |
tree | 3154102793dbf2300f5e80eeef72c9a9a2f2f796 /InCallUI | |
parent | 7fc046b0f29e78d0cf5a4066c69f826ef4eda6fd (diff) | |
parent | 42cbdd4a6a02d3c8cd292e8a83d24264764c5d79 (diff) |
Merge "Do not request prox sensor ON without an ongoing call." into lmp-dev
Diffstat (limited to 'InCallUI')
-rw-r--r-- | InCallUI/src/com/android/incallui/CallList.java | 8 | ||||
-rw-r--r-- | InCallUI/src/com/android/incallui/ProximitySensor.java | 7 |
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; |