diff options
Diffstat (limited to 'java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java')
-rw-r--r-- | java/com/android/dialer/calldetails/CallDetailsHeaderViewHolder.java | 32 |
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: |