diff options
author | Santos Cordon <santoscordon@google.com> | 2014-05-14 18:45:39 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-05-14 18:45:39 +0000 |
commit | 80d9ce19a0cc78cb135370dde75440dc845ad2a5 (patch) | |
tree | 78484cd02bcef8071623c80a7afee67cff20f588 /InCallUI | |
parent | e2294a903461f9e22b774058fc18ffe5c93b0c1f (diff) | |
parent | d71ec225de3b3080ae9051048b6ef4e36c4ae7f6 (diff) |
am 34f73562: Support a second incoming call (call-waiting)
* commit '34f735625b79f7250b72d9471fab837b90139de3':
Support a second incoming call (call-waiting)
Diffstat (limited to 'InCallUI')
4 files changed, 20 insertions, 12 deletions
diff --git a/InCallUI/src/com/android/incallui/AnswerFragment.java b/InCallUI/src/com/android/incallui/AnswerFragment.java index c76c5071b..2630303be 100644 --- a/InCallUI/src/com/android/incallui/AnswerFragment.java +++ b/InCallUI/src/com/android/incallui/AnswerFragment.java @@ -33,8 +33,10 @@ import android.widget.EditText; import android.widget.ListView; import com.google.common.base.Preconditions; +import com.google.common.collect.Lists; import java.util.ArrayList; +import java.util.List; /** * @@ -271,8 +273,8 @@ public class AnswerFragment extends BaseFragment<AnswerPresenter, AnswerPresente } @Override - public void configureMessageDialog(ArrayList<String> textResponses) { - final ArrayList<String> textResponsesForDisplay = new ArrayList<String>(textResponses); + public void configureMessageDialog(List<String> textResponses) { + final List<String> textResponsesForDisplay = Lists.newArrayList(textResponses); textResponsesForDisplay.add(getResources().getString( R.string.respond_via_sms_custom_message)); diff --git a/InCallUI/src/com/android/incallui/AnswerPresenter.java b/InCallUI/src/com/android/incallui/AnswerPresenter.java index 315270784..5b263f8a8 100644 --- a/InCallUI/src/com/android/incallui/AnswerPresenter.java +++ b/InCallUI/src/com/android/incallui/AnswerPresenter.java @@ -20,7 +20,7 @@ import android.telecomm.InCallAdapter; import com.android.services.telephony.common.Call; -import java.util.ArrayList; +import java.util.List; /** * Presenter for the Incoming call widget. @@ -92,8 +92,7 @@ public class AnswerPresenter extends Presenter<AnswerPresenter.AnswerUi> CallList.getInstance().addCallUpdateListener(mCallId, this); Log.d(TAG, "Showing incoming for call id: " + mCallId + " " + this); - final ArrayList<String> textMsgs = CallList.getInstance().getTextResponses( - call.getCallId()); + final List<String> textMsgs = CallList.getInstance().getTextResponses(call.getCallId()); getUi().showAnswerUi(true); if (call.can(Call.Capabilities.RESPOND_VIA_TEXT) && textMsgs != null) { @@ -184,6 +183,6 @@ public class AnswerPresenter extends Presenter<AnswerPresenter.AnswerUi> public void showAnswerUi(boolean show); public void showTextButton(boolean show); public void showMessageDialog(); - public void configureMessageDialog(ArrayList<String> textResponses); + public void configureMessageDialog(List<String> textResponses); } } diff --git a/InCallUI/src/com/android/incallui/CallList.java b/InCallUI/src/com/android/incallui/CallList.java index 3692bbfd3..c0303254c 100644 --- a/InCallUI/src/com/android/incallui/CallList.java +++ b/InCallUI/src/com/android/incallui/CallList.java @@ -27,7 +27,6 @@ import android.telephony.DisconnectCause; import com.android.services.telephony.common.Call; -import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Set; @@ -48,8 +47,7 @@ public class CallList { private static CallList sInstance = new CallList(); private final HashMap<Integer, Call> mCallMap = Maps.newHashMap(); - private final HashMap<Integer, ArrayList<String>> mCallTextReponsesMap = - Maps.newHashMap(); + private final HashMap<Integer, List<String>> mCallTextReponsesMap = Maps.newHashMap(); private final Set<Listener> mListeners = Sets.newHashSet(); private final HashMap<Integer, List<CallUpdateListener>> mCallUpdateListenerMap = Maps .newHashMap(); @@ -262,7 +260,7 @@ public class CallList { return false; } - public ArrayList<String> getTextResponses(int callId) { + public List<String> getTextResponses(int callId) { return mCallTextReponsesMap.get(callId); } @@ -412,7 +410,7 @@ public class CallList { if (!isCallDead(call)) { if (textResponses != null) { - mCallTextReponsesMap.put(id, (ArrayList<String>) textResponses); + mCallTextReponsesMap.put(id, textResponses); } } else if (mCallMap.containsKey(id)) { mCallTextReponsesMap.remove(id); diff --git a/InCallUI/src/com/android/incallui/InCallServiceImpl.java b/InCallUI/src/com/android/incallui/InCallServiceImpl.java index 93986ff57..752061437 100644 --- a/InCallUI/src/com/android/incallui/InCallServiceImpl.java +++ b/InCallUI/src/com/android/incallui/InCallServiceImpl.java @@ -25,6 +25,7 @@ import android.telecomm.CallInfo; import android.telecomm.InCallAdapter; import com.android.services.telephony.common.Call; +import com.google.common.collect.ImmutableList; /** * Used to receive updates about calls from the Telecomm component. This service is bound to @@ -33,6 +34,9 @@ import com.android.services.telephony.common.Call; * the service triggering InCallActivity (via CallList) to finish soon after. */ public class InCallServiceImpl extends android.telecomm.InCallService { + + private static final ImmutableList<String> EMPTY_RESPONSE_TEXTS = ImmutableList.of(); + /** {@inheritDoc} */ @Override public void onCreate() { InCallPresenter inCallPresenter = InCallPresenter.getInstance(); @@ -58,7 +62,12 @@ public class InCallServiceImpl extends android.telecomm.InCallService { /** {@inheritDoc} */ @Override protected void addCall(CallInfo callInfo) { Call call = CallInfoTranslator.getCall(callInfo); - CallList.getInstance().onUpdate(call); + + if (call.getState() == Call.State.INCOMING) { + CallList.getInstance().onIncoming(call, EMPTY_RESPONSE_TEXTS); + } else { + CallList.getInstance().onUpdate(call); + } } /** {@inheritDoc} */ |