summaryrefslogtreecommitdiff
path: root/java/com/android/incallui/contactgrid/TopRow.java
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2018-06-27 19:53:55 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2018-06-27 19:53:55 +0000
commit1b4ec7b954ba2d8efae2f383697babe54b795f67 (patch)
tree4c051c4a8702f4256f83f0e55182e27b2ed5b840 /java/com/android/incallui/contactgrid/TopRow.java
parentcae28c6d5c04a79fb058043ce0c3e043e610309a (diff)
parentd637af51091dc86a197da6520484e10a356a421b (diff)
Merge changes I0f1ed20a,Ia68d3b13,I72047d59,Ieff3c7fb,I53c3896a, ...
* changes: Added method to set Save and Redo buttons enabled/disabled Added logic to setState() method to change state of buttons Update emergency call map and device number UI. Fix SpeedDialUiItem.getDefaultVoiceChannel Fix an AOSP build error caused by version codes Update connection label. Remove redundant version checks and annotations in the assisted dialing package.
Diffstat (limited to 'java/com/android/incallui/contactgrid/TopRow.java')
-rw-r--r--java/com/android/incallui/contactgrid/TopRow.java23
1 files changed, 21 insertions, 2 deletions
diff --git a/java/com/android/incallui/contactgrid/TopRow.java b/java/com/android/incallui/contactgrid/TopRow.java
index 82a103a61..d242c3a14 100644
--- a/java/com/android/incallui/contactgrid/TopRow.java
+++ b/java/com/android/incallui/contactgrid/TopRow.java
@@ -21,8 +21,12 @@ import android.graphics.drawable.Drawable;
import android.support.annotation.Nullable;
import android.telephony.PhoneNumberUtils;
import android.text.BidiFormatter;
+import android.text.Spannable;
+import android.text.SpannableString;
+import android.text.Spanned;
import android.text.TextDirectionHeuristics;
import android.text.TextUtils;
+import android.text.style.ForegroundColorSpan;
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
import com.android.incallui.call.state.DialerCallState;
@@ -141,8 +145,7 @@ public class TopRow {
} else if (state.isWifi() && !TextUtils.isEmpty(state.connectionLabel())) {
return state.connectionLabel();
} else if (isAccount(state)) {
- return context.getString(
- R.string.contact_grid_incoming_via_template, state.connectionLabel());
+ return getColoredConnectionLabel(context, state);
} else if (state.isWorkCall()) {
return context.getString(R.string.contact_grid_incoming_work_call);
} else {
@@ -150,6 +153,22 @@ public class TopRow {
}
}
+ private static Spannable getColoredConnectionLabel(Context context, PrimaryCallState state) {
+ Assert.isNotNull(state.connectionLabel());
+ String label =
+ context.getString(R.string.contact_grid_incoming_via_template, state.connectionLabel());
+ Spannable spannable = new SpannableString(label);
+
+ int start = label.indexOf(state.connectionLabel());
+ int end = start + state.connectionLabel().length();
+ spannable.setSpan(
+ new ForegroundColorSpan(state.primaryColor()),
+ start,
+ end,
+ Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
+ return spannable;
+ }
+
private static CharSequence getLabelForIncomingVideo(
Context context, @SessionModificationState int sessionModificationState, boolean isWifi) {
if (sessionModificationState == SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST) {