Use Dagger to get Duo instance in CallLogListItemViewHolder

Bug: 70402153
Test: GoogleCallLogAdapterTest
PiperOrigin-RevId: 179106427
Change-Id: I2c82e95022c461d251d3385841640bc31d8aa765
diff --git a/java/com/android/dialer/app/calllog/CallLogAdapter.java b/java/com/android/dialer/app/calllog/CallLogAdapter.java
index 0459519..f3d04d9 100644
--- a/java/com/android/dialer/app/calllog/CallLogAdapter.java
+++ b/java/com/android/dialer/app/calllog/CallLogAdapter.java
@@ -844,7 +844,6 @@
     // attempt to set the field properly in that case
     viewHolder.isCallComposerCapable = isCallComposerCapable(viewHolder.number);
     viewHolder.setDetailedPhoneDetails(callDetailsEntries);
-    viewHolder.duo = getDuo();
     final AsyncTask<Void, Void, Boolean> loadDataTask =
         new AsyncTask<Void, Void, Boolean>() {
           @Override
diff --git a/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java b/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
index 922a086..0aa46c5 100644
--- a/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
+++ b/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
@@ -79,6 +79,7 @@
 import com.android.dialer.dialercontact.DialerContact;
 import com.android.dialer.dialercontact.SimDetails;
 import com.android.dialer.duo.Duo;
+import com.android.dialer.duo.DuoComponent;
 import com.android.dialer.duo.DuoConstants;
 import com.android.dialer.lettertile.LetterTileDrawable;
 import com.android.dialer.lettertile.LetterTileDrawable.ContactType;
@@ -231,7 +232,6 @@
   public boolean isSpam;
 
   public boolean isCallComposerCapable;
-  public Duo duo;
 
   private View.OnClickListener mExpandCollapseListener;
   private final OnActionModeStateChangedListener onActionModeStateChangedListener;
@@ -670,6 +670,7 @@
         videoCallButtonView.setVisibility(View.GONE);
         break;
       case CallbackAction.VOICE:
+        Duo duo = DuoComponent.get(mContext).getDuo();
         // For a voice call, set the secondary callback action to be an IMS video call if it is
         // available. Otherwise try to set it as a Duo call.
         if (CallUtil.isVideoEnabled(mContext)
@@ -776,7 +777,7 @@
   private boolean showDuoPrimaryButton() {
     return accountHandle != null
         && accountHandle.getComponentName().equals(DuoConstants.PHONE_ACCOUNT_COMPONENT_NAME)
-        && duo.isReachable(mContext, number);
+        && DuoComponent.get(mContext).getDuo().isReachable(mContext, number);
   }
 
   private static boolean hasDialableChar(CharSequence number) {