diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2018-06-27 19:53:55 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2018-06-27 19:53:55 +0000 |
commit | 1b4ec7b954ba2d8efae2f383697babe54b795f67 (patch) | |
tree | 4c051c4a8702f4256f83f0e55182e27b2ed5b840 /java/com/android/incallui/contactgrid/TopRow.java | |
parent | cae28c6d5c04a79fb058043ce0c3e043e610309a (diff) | |
parent | d637af51091dc86a197da6520484e10a356a421b (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.java | 23 |
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) { |