diff options
Diffstat (limited to 'java/com/android/incallui/contactgrid')
4 files changed, 49 insertions, 1 deletions
diff --git a/java/com/android/incallui/contactgrid/ContactGridManager.java b/java/com/android/incallui/contactgrid/ContactGridManager.java index 327eaf2b8..d8b1f5004 100644 --- a/java/com/android/incallui/contactgrid/ContactGridManager.java +++ b/java/com/android/incallui/contactgrid/ContactGridManager.java @@ -244,6 +244,10 @@ public class ContactGridManager { statusTextView.setText(info.label); statusTextView.setVisibility(View.VISIBLE); statusTextView.setSingleLine(info.labelIsSingleLine); + // Required to start the marquee + // This will send a AccessibilityEvent.TYPE_VIEW_SELECTED, but has no observable effect on + // talkback. + statusTextView.setSelected(true); } if (info.icon == null) { diff --git a/java/com/android/incallui/contactgrid/TopRow.java b/java/com/android/incallui/contactgrid/TopRow.java index f551092d4..89300caa8 100644 --- a/java/com/android/incallui/contactgrid/TopRow.java +++ b/java/com/android/incallui/contactgrid/TopRow.java @@ -166,7 +166,22 @@ public class TopRow { private static CharSequence getLabelForDialing(Context context, PrimaryCallState state) { if (!TextUtils.isEmpty(state.connectionLabel()) && !state.isWifi()) { - return context.getString(R.string.incall_calling_via_template, state.connectionLabel()); + CharSequence label = getCallingViaLabel(context, state); + + if (state.isAssistedDialed() && state.assistedDialingExtras() != null) { + LogUtil.i("TopRow.getLabelForDialing", "using assisted dialing with via label."); + String countryCode = + String.valueOf(state.assistedDialingExtras().transformedNumberCountryCallingCode()); + label = + TextUtils.concat( + label, + " • ", + context.getString( + R.string.incall_connecting_assited_dialed_component, + countryCode, + state.assistedDialingExtras().userHomeCountryCode())); + } + return label; } else { if (state.isVideoCall()) { if (state.isWifi()) { @@ -189,6 +204,22 @@ public class TopRow { } } + private static CharSequence getCallingViaLabel(Context context, PrimaryCallState state) { + if (state.simSuggestionReason() != null) { + switch (state.simSuggestionReason()) { + case FREQUENT: + return context.getString( + R.string.incall_calling_on_recent_choice_template, state.connectionLabel()); + case INTRA_CARRIER: + return context.getString( + R.string.incall_calling_on_same_carrier_template, state.connectionLabel()); + default: + break; + } + } + return context.getString(R.string.incall_calling_via_template, state.connectionLabel()); + } + private static CharSequence getConnectionLabel(PrimaryCallState state) { if (!TextUtils.isEmpty(state.connectionLabel()) && (isAccount(state) || state.isWifi() || state.isConference())) { diff --git a/java/com/android/incallui/contactgrid/res/layout/incall_contactgrid_top_row.xml b/java/com/android/incallui/contactgrid/res/layout/incall_contactgrid_top_row.xml index 42066f286..2f9ca3ea8 100644 --- a/java/com/android/incallui/contactgrid/res/layout/incall_contactgrid_top_row.xml +++ b/java/com/android/incallui/contactgrid/res/layout/incall_contactgrid_top_row.xml @@ -40,6 +40,8 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" + android:ellipsize="marquee" + android:scrollHorizontally="true" android:textAppearance="@style/Dialer.Incall.TextAppearance" tools:text="Captain Holt"/> </LinearLayout> diff --git a/java/com/android/incallui/contactgrid/res/values/strings.xml b/java/com/android/incallui/contactgrid/res/values/strings.xml index c6bdb11ba..7c0f5a679 100644 --- a/java/com/android/incallui/contactgrid/res/values/strings.xml +++ b/java/com/android/incallui/contactgrid/res/values/strings.xml @@ -20,6 +20,14 @@ [CHAR LIMIT=40] --> <string name="incall_calling_via_template">Calling via <xliff:g id="provider_name">%s</xliff:g></string> + <!-- Title displayed in the overlay for outgoing calls when the provider is automatically chosen + because it is the same provider the callee is using. [CHAR LIMIT=60] --> + <string name="incall_calling_on_same_carrier_template">Calling on same carrier <xliff:g id="provider_name">%s</xliff:g></string> + + <!-- Title displayed in the overlay for outgoing calls when the provider is automatically chosen + because the user has selected it multiple times. [CHAR LIMIT=60] --> + <string name="incall_calling_on_recent_choice_template">Calling on recent choice <xliff:g id="provider_name">%s</xliff:g></string> + <!-- Displayed above the contact name during an outgoing phone call. Indicates that the call is in the connecting stage. --> <string name="incall_connecting">Calling…</string> @@ -27,6 +35,9 @@ <!-- Display information related to assisted dialing, for example Calling using +1 (US)… --> <string name="incall_connecting_assited_dialed">Calling using +<xliff:g example="1" id="ad_country_code">%1$s</xliff:g> (<xliff:g example="1" id="ad_user_home_locale">%2$s</xliff:g>)\u2026</string> + <!-- String appended to the outgoing call title for additional information related to assisted dialing, for example "Calling via <CARRIER> • Using +1 (US)… "--> + <string name="incall_connecting_assited_dialed_component">Using +<xliff:g example="1" id="ad_country_code">%1$s</xliff:g> (<xliff:g example="1" id="ad_user_home_locale">%2$s</xliff:g>)\u2026</string> + <!-- Displayed above the contact name when an external call is being pulled to the local device. --> <string name="incall_transferring">Transferring…</string> |