Merge "Set the secondary action to be a voice call when the primary action is a video call."
diff --git a/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java b/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
index cf86ef6..ca846ae 100644
--- a/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
+++ b/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
@@ -642,18 +642,29 @@
       callButtonView.setVisibility(View.VISIBLE);
     }
 
-    // We need to check if we are showing the Lightbringer primary button. If we are, then we should
-    // show the "Call" button here regardless of IMS availability.
-    if (showLightbringerPrimaryButton()) {
-      callButtonView.setVisibility(View.VISIBLE);
-      videoCallButtonView.setVisibility(View.GONE);
-    } else if (CallUtil.isVideoEnabled(mContext)
-        && (hasPlacedCarrierVideoCall() || canSupportCarrierVideoCall())) {
-      videoCallButtonView.setTag(IntentProvider.getReturnVideoCallIntentProvider(number));
-      videoCallButtonView.setVisibility(View.VISIBLE);
-    } else if (lightbringerReady) {
-      videoCallButtonView.setTag(IntentProvider.getLightbringerIntentProvider(number));
-      videoCallButtonView.setVisibility(View.VISIBLE);
+    switch (callbackAction) {
+      case CallbackAction.IMS_VIDEO:
+      case CallbackAction.LIGHTBRINGER:
+        // For an IMS video call or a Lightbringer call, the secondary action should always be a
+        // voice callback.
+        callButtonView.setVisibility(View.VISIBLE);
+        videoCallButtonView.setVisibility(View.GONE);
+        break;
+      case CallbackAction.VOICE:
+        // 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 Lightbringer call.
+        if (CallUtil.isVideoEnabled(mContext)
+            && (hasPlacedCarrierVideoCall() || canSupportCarrierVideoCall())) {
+          videoCallButtonView.setTag(IntentProvider.getReturnVideoCallIntentProvider(number));
+          videoCallButtonView.setVisibility(View.VISIBLE);
+        } else if (lightbringerReady) {
+          videoCallButtonView.setTag(IntentProvider.getLightbringerIntentProvider(number));
+          videoCallButtonView.setVisibility(View.VISIBLE);
+        }
+        break;
+      default:
+        callButtonView.setVisibility(View.GONE);
+        videoCallButtonView.setVisibility(View.GONE);
     }
 
     // For voicemail calls, show the voicemail playback layout; hide otherwise.