summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java')
-rw-r--r--java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java32
1 files changed, 22 insertions, 10 deletions
diff --git a/java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java b/java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java
index 647c6edb6..34ed68836 100644
--- a/java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java
+++ b/java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java
@@ -27,7 +27,7 @@ import android.widget.ImageView;
import android.widget.QuickContactBadge;
import android.widget.RelativeLayout;
import android.widget.TextView;
-import com.android.dialer.calldetails.CallDetailsActivity.AssistedDialingNumberParseWorker;
+import com.android.dialer.calldetails.CallDetailsActivityCommon.AssistedDialingNumberParseWorker;
import com.android.dialer.calldetails.CallDetailsEntries.CallDetailsEntry;
import com.android.dialer.calllogutils.CallbackActionHelper.CallbackAction;
import com.android.dialer.common.Assert;
@@ -40,7 +40,11 @@ import com.android.dialer.dialercontact.DialerContact;
import com.android.dialer.logging.InteractionEvent;
import com.android.dialer.logging.Logger;
-/** ViewHolder for Header/Contact in {@link CallDetailsActivity}. */
+/**
+ * ViewHolder for the header in {@link OldCallDetailsActivity} or {@link CallDetailsActivity}.
+ *
+ * <p>The header contains contact info and the primary callback button.
+ */
public class CallDetailsHeaderViewHolder extends RecyclerView.ViewHolder
implements OnClickListener, FailureListener {
@@ -54,10 +58,16 @@ public class CallDetailsHeaderViewHolder extends RecyclerView.ViewHolder
private final TextView assistedDialingInternationalDirectDialCodeAndCountryCodeText;
private final RelativeLayout assistedDialingContainer;
- private DialerContact contact;
+ private final String number;
+ private final String postDialDigits;
+
private @CallbackAction int callbackAction;
- CallDetailsHeaderViewHolder(View container, CallDetailsHeaderListener callDetailsHeaderListener) {
+ CallDetailsHeaderViewHolder(
+ View container,
+ String number,
+ String postDialDigits,
+ CallDetailsHeaderListener callDetailsHeaderListener) {
super(container);
context = container.getContext();
callbackButton = container.findViewById(R.id.call_back_button);
@@ -73,7 +83,11 @@ public class CallDetailsHeaderViewHolder extends RecyclerView.ViewHolder
callDetailsHeaderListener::openAssistedDialingSettings);
callbackButton.setOnClickListener(this);
+
+ this.number = number;
+ this.postDialDigits = postDialDigits;
this.callDetailsHeaderListener = callDetailsHeaderListener;
+
Logger.get(context)
.logQuickContactOnTouch(
contactPhoto, InteractionEvent.Type.OPEN_QUICK_CONTACT_FROM_CALL_DETAILS, true);
@@ -89,7 +103,7 @@ public class CallDetailsHeaderViewHolder extends RecyclerView.ViewHolder
if (callDetailsEntry != null && hasAssistedDialingFeature(callDetailsEntry.getFeatures())) {
showAssistedDialingContainer(true);
callDetailsHeaderListener.createAssistedDialerNumberParserTask(
- new CallDetailsActivity.AssistedDialingNumberParseWorker(),
+ new CallDetailsActivityCommon.AssistedDialingNumberParseWorker(),
this::updateAssistedDialingText,
this::onFailure);
@@ -132,7 +146,6 @@ public class CallDetailsHeaderViewHolder extends RecyclerView.ViewHolder
/** Populates the contact info fields based on the current contact information. */
void updateContactInfo(DialerContact contact, @CallbackAction int callbackAction) {
- this.contact = contact;
ContactPhotoManager.getInstance(context)
.loadDialerThumbnailOrPhoto(
contactPhoto,
@@ -194,14 +207,13 @@ public class CallDetailsHeaderViewHolder extends RecyclerView.ViewHolder
if (view == callbackButton) {
switch (callbackAction) {
case CallbackAction.IMS_VIDEO:
- callDetailsHeaderListener.placeImsVideoCall(contact.getNumber());
+ callDetailsHeaderListener.placeImsVideoCall(number);
break;
case CallbackAction.DUO:
- callDetailsHeaderListener.placeDuoVideoCall(contact.getNumber());
+ callDetailsHeaderListener.placeDuoVideoCall(number);
break;
case CallbackAction.VOICE:
- callDetailsHeaderListener.placeVoiceCall(
- contact.getNumber(), contact.getPostDialDigits());
+ callDetailsHeaderListener.placeVoiceCall(number, postDialDigits);
break;
case CallbackAction.NONE:
default: