Added support for displaying/redialing post-dial
Append dialed post-dial digits(if any exist) to the displayed number
and changes the intent sent by the redial button to include the
post-dial digits.
Bug: 24955678
Change-Id: I0ec2cb2d5504f7fd715132eba7d969ff284e23d1
diff --git a/src/com/android/dialer/CallDetailActivity.java b/src/com/android/dialer/CallDetailActivity.java
index 2e2bea8..690b3e1 100644
--- a/src/com/android/dialer/CallDetailActivity.java
+++ b/src/com/android/dialer/CallDetailActivity.java
@@ -107,11 +107,19 @@
// All calls are from the same number and same contact, so pick the first detail.
mDetails = details[0];
mNumber = TextUtils.isEmpty(mDetails.number) ? null : mDetails.number.toString();
+ mPostDialDigits = TextUtils.isEmpty(mDetails.postDialDigits)
+ ? "" : mDetails.postDialDigits;
mDisplayNumber = mDetails.displayNumber;
final CharSequence callLocationOrType = getNumberTypeOrLocation(mDetails);
- final CharSequence displayNumber = mDetails.displayNumber;
+ final CharSequence displayNumber;
+ if (!TextUtils.isEmpty(mDetails.postDialDigits)) {
+ displayNumber = mDetails.number + mDetails.postDialDigits;
+ } else {
+ displayNumber = mDetails.displayNumber;
+ }
+
final String displayNumberStr = mBidiFormatter.unicodeWrap(
displayNumber.toString(), TextDirectionHeuristics.LTR);
@@ -197,6 +205,7 @@
private PhoneCallDetails mDetails;
protected String mNumber;
private Uri mVoicemailUri;
+ private String mPostDialDigits = "";
private String mDisplayNumber;
private ListView mHistoryList;
@@ -252,7 +261,7 @@
return;
}
mContext.startActivity(
- new CallIntentBuilder(mNumber)
+ new CallIntentBuilder(getDialableNumber())
.setCallInitiationType(LogState.INITIATION_CALL_DETAILS)
.build());
}
@@ -371,7 +380,8 @@
ClipboardUtils.copyText(mContext, null, mNumber, true);
break;
case R.id.call_detail_action_edit_before_call:
- Intent dialIntent = new Intent(Intent.ACTION_DIAL, CallUtil.getCallUri(mNumber));
+ Intent dialIntent = new Intent(Intent.ACTION_DIAL,
+ CallUtil.getCallUri(getDialableNumber()));
DialerUtils.startActivityWithErrorToast(mContext, dialIntent);
break;
default:
@@ -460,6 +470,10 @@
sendBroadcast(new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));
}
+ private String getDialableNumber() {
+ return mNumber + mPostDialDigits;
+ }
+
@NeededForTesting
public boolean hasVoicemail() {
return mVoicemailUri != null;