Hides dialpad on incoming call.
Bug: 10842639
Change-Id: Ia014bdc85128a4838b3dfcf7e67bb93c8a7725d9
diff --git a/InCallUI/src/com/android/incallui/CallButtonPresenter.java b/InCallUI/src/com/android/incallui/CallButtonPresenter.java
index 4de129d..74aff53 100644
--- a/InCallUI/src/com/android/incallui/CallButtonPresenter.java
+++ b/InCallUI/src/com/android/incallui/CallButtonPresenter.java
@@ -19,6 +19,7 @@
import com.android.incallui.AudioModeProvider.AudioModeListener;
import com.android.incallui.InCallPresenter.InCallState;
import com.android.incallui.InCallPresenter.InCallStateListener;
+import com.android.incallui.InCallPresenter.IncomingCallListener;
import com.android.services.telephony.common.AudioMode;
import com.android.services.telephony.common.Call;
import com.android.services.telephony.common.Call.Capabilities;
@@ -29,7 +30,7 @@
* Logic for call buttons.
*/
public class CallButtonPresenter extends Presenter<CallButtonPresenter.CallButtonUi>
- implements InCallStateListener, AudioModeListener {
+ implements InCallStateListener, AudioModeListener, IncomingCallListener {
private Call mCall;
private ProximitySensor mProximitySensor;
@@ -50,6 +51,7 @@
// register for call state changes last
InCallPresenter.getInstance().addListener(this);
+ InCallPresenter.getInstance().addIncomingCallListener(this);
}
@Override
@@ -58,6 +60,7 @@
InCallPresenter.getInstance().removeListener(this);
AudioModeProvider.getInstance().removeListener(this);
+ InCallPresenter.getInstance().removeIncomingCallListener(this);
mProximitySensor = null;
}
@@ -77,16 +80,23 @@
&& mCall != null && PhoneNumberUtils.isVoiceMailNumber(mCall.getNumber())) {
getUi().displayDialpad(true);
}
+ } else if (state == InCallState.INCOMING) {
+ getUi().displayDialpad(false);
+ mCall = null;
} else {
mCall = null;
}
-
updateUi(state, mCall);
mPreviousState = state;
}
@Override
+ public void onIncomingCall(InCallState state, Call call) {
+ onStateChange(state, CallList.getInstance());
+ }
+
+ @Override
public void onAudioMode(int mode) {
if (getUi() != null) {
getUi().setAudio(mode);