Merge "Added some bug fixes in call details."
diff --git a/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java b/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
index ef6236b..301d895 100644
--- a/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
+++ b/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
@@ -967,6 +967,11 @@
     if (number != null) {
       contact.setNumber(number);
     }
+
+    if (!TextUtils.isEmpty(postDialDigits)) {
+      contact.setPostDialDigits(postDialDigits);
+    }
+
     /* second line of contact view. */
     if (!TextUtils.isEmpty(info.name)) {
       contact.setDisplayNumber(displayNumber);
diff --git a/java/com/android/dialer/calldetails/CallDetailsEntryViewHolder.java b/java/com/android/dialer/calldetails/CallDetailsEntryViewHolder.java
index 084bd66..4e7b8c6 100644
--- a/java/com/android/dialer/calldetails/CallDetailsEntryViewHolder.java
+++ b/java/com/android/dialer/calldetails/CallDetailsEntryViewHolder.java
@@ -130,6 +130,7 @@
       HistoryResult historyResult = entry.getHistoryResults(0);
       multimediaDetailsContainer.setVisibility(View.VISIBLE);
       multimediaDetailsContainer.setOnClickListener((v) -> startSmsIntent(context, number));
+      multimediaImageContainer.setOnClickListener((v) -> startSmsIntent(context, number));
       multimediaImageContainer.setClipToOutline(true);
 
       if (!TextUtils.isEmpty(historyResult.getImageUri())) {
diff --git a/java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java b/java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java
index 410a3a0..dcd8e35 100644
--- a/java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java
+++ b/java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java
@@ -110,7 +110,10 @@
       Logger.get(view.getContext()).logImpression(DialerImpression.Type.CALL_DETAILS_CALL_BACK);
       DialerUtils.startActivityWithErrorToast(
           view.getContext(),
-          new CallIntentBuilder(contact.getNumber(), CallInitiationType.Type.CALL_DETAILS).build());
+          new CallIntentBuilder(
+                  contact.getNumber() + contact.getPostDialDigits(),
+                  CallInitiationType.Type.CALL_DETAILS)
+              .build());
     } else {
       throw Assert.createIllegalStateFailException("View OnClickListener not implemented: " + view);
     }
diff --git a/java/com/android/dialer/dialercontact/dialer_contact.proto b/java/com/android/dialer/dialercontact/dialer_contact.proto
index d63295b..2d1dfbd 100644
--- a/java/com/android/dialer/dialercontact/dialer_contact.proto
+++ b/java/com/android/dialer/dialercontact/dialer_contact.proto
@@ -5,18 +5,23 @@
 option optimize_for = LITE_RUNTIME;
 
 
-package com.android.dialer.callcomposer;
+package com.android.dialer.dialercontact;
 
 message DialerContact {
   optional fixed64 photo_id = 1;
   optional string photo_uri = 2;
   optional string contact_uri = 3;
   optional string name_or_number = 4;
+
+  // Contact's phone number. Should not contain post dial digits.
   optional string number = 6;
   optional string display_number = 7;
   optional string number_label = 8;
   optional int32 contact_type = 9;
   optional SimDetails sim_details = 10;
+
+  // {@link CallLog.Calls#POST_DIAL_DIGITS}.
+  optional string post_dial_digits = 11;
 }
 
 message SimDetails {