summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--InCallUI/src/com/android/incallui/AnswerFragment.java6
-rw-r--r--InCallUI/src/com/android/incallui/AnswerPresenter.java7
-rw-r--r--InCallUI/src/com/android/incallui/CallList.java8
-rw-r--r--InCallUI/src/com/android/incallui/InCallServiceImpl.java11
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} */