Update AOSP Dialer source from internal google3 repository at
cl/151128062

Test: make, treehugger

This CL updates the AOSP Dialer source with all the changes that have
gone into the private google3 repository. This includes all the
changes from cl/150756069 (3/21/2017) to cl/151128062 (3/24/2017).

Notable this release:
- Explicitly enumerate host and target dependencies.
- Update proguard flag references.

This goal of these drops is to keep the AOSP source in sync with the
internal google3 repository. Currently these sync are done by hand
with very minor modifications to the internal source code.
See the Android.mk file for list of modifications.
Our current goal is to do frequent drops (daily if possible) and
eventually switched to an automated process.

Bug: 33210202 36511925

Addresses
33210202 - Proguard support
36511925 - Compiler warnings when building against platform sdk

Change-Id: I448ec3b3f2358886859cf7a4ef76a8fcef3244ae
diff --git a/java/com/android/incallui/AnswerScreenPresenter.java b/java/com/android/incallui/AnswerScreenPresenter.java
index 442ad26..77b472b 100644
--- a/java/com/android/incallui/AnswerScreenPresenter.java
+++ b/java/com/android/incallui/AnswerScreenPresenter.java
@@ -27,7 +27,9 @@
 import com.android.incallui.answer.protocol.AnswerScreenDelegate;
 import com.android.incallui.answerproximitysensor.AnswerProximitySensor;
 import com.android.incallui.answerproximitysensor.PseudoScreenState;
+import com.android.incallui.call.CallList;
 import com.android.incallui.call.DialerCall;
+import com.android.incallui.call.DialerCallListener;
 
 /** Manages changes for an incoming call screen. */
 public class AnswerScreenPresenter
@@ -98,6 +100,19 @@
   }
 
   @Override
+  public void onAnswerAndReleaseCall() {
+    Log.i("AnswerScreenPresenter.onAnswerAndReleaseCall", "enterBlock");
+    DialerCall activeCall = CallList.getInstance().getActiveCall();
+    if (activeCall == null) {
+      Log.i("AnswerScreenPresenter.onAnswerAndReleaseCall", "activeCall == null");
+      onAnswer(false);
+    } else {
+      activeCall.addListener(new AnswerOnDisconnected(activeCall));
+      activeCall.disconnect();
+    }
+  }
+
+  @Override
   public void onCannedTextResponsesLoaded(DialerCall call) {
     if (isSmsResponseAllowed(call)) {
       answerScreen.setTextResponses(call.getCannedSmsResponses());
@@ -112,6 +127,43 @@
     }
   }
 
+  private class AnswerOnDisconnected implements DialerCallListener {
+
+    private final DialerCall disconnectingCall;
+
+    public AnswerOnDisconnected(DialerCall disconnectingCall) {
+      this.disconnectingCall = disconnectingCall;
+    }
+
+    @Override
+    public void onDialerCallDisconnect() {
+      Log.i("AnswerScreenPresenter.AnswerOnDisconnected", "Call disconnected, answering new call");
+      call.answer();
+      disconnectingCall.removeListener(this);
+    }
+
+    @Override
+    public void onDialerCallUpdate() {}
+
+    @Override
+    public void onDialerCallChildNumberChange() {}
+
+    @Override
+    public void onDialerCallLastForwardedNumberChange() {}
+
+    @Override
+    public void onDialerCallUpgradeToVideo() {}
+
+    @Override
+    public void onDialerCallSessionModificationStateChange() {}
+
+    @Override
+    public void onWiFiToLteHandover() {}
+
+    @Override
+    public void onHandoverToWifiFailure() {}
+  }
+
   private boolean isSmsResponseAllowed(DialerCall call) {
     return UserManagerCompat.isUserUnlocked(context)
         && call.can(android.telecom.Call.Details.CAPABILITY_RESPOND_VIA_TEXT);
diff --git a/java/com/android/incallui/AnswerScreenPresenterStub.java b/java/com/android/incallui/AnswerScreenPresenterStub.java
index fc4e7df..7bff329 100644
--- a/java/com/android/incallui/AnswerScreenPresenterStub.java
+++ b/java/com/android/incallui/AnswerScreenPresenterStub.java
@@ -40,5 +40,8 @@
   public void onReject() {}
 
   @Override
+  public void onAnswerAndReleaseCall() {}
+
+  @Override
   public void updateWindowBackgroundColor(@FloatRange(from = -1f, to = 1.0f) float progress) {}
 }
diff --git a/java/com/android/incallui/CallButtonPresenter.java b/java/com/android/incallui/CallButtonPresenter.java
index 94cede7..69e25ff 100644
--- a/java/com/android/incallui/CallButtonPresenter.java
+++ b/java/com/android/incallui/CallButtonPresenter.java
@@ -37,10 +37,10 @@
 import com.android.incallui.call.DialerCall;
 import com.android.incallui.call.DialerCall.CameraDirection;
 import com.android.incallui.call.TelecomAdapter;
-import com.android.incallui.call.VideoUtils;
 import com.android.incallui.incall.protocol.InCallButtonIds;
 import com.android.incallui.incall.protocol.InCallButtonUi;
 import com.android.incallui.incall.protocol.InCallButtonUiDelegate;
+import com.android.incallui.videotech.utils.VideoUtils;
 
 /** Logic for call buttons. */
 public class CallButtonPresenter
diff --git a/java/com/android/incallui/CallCardPresenter.java b/java/com/android/incallui/CallCardPresenter.java
index 668692d..8cd9a07 100644
--- a/java/com/android/incallui/CallCardPresenter.java
+++ b/java/com/android/incallui/CallCardPresenter.java
@@ -70,7 +70,7 @@
 import com.android.incallui.incall.protocol.PrimaryCallState;
 import com.android.incallui.incall.protocol.PrimaryInfo;
 import com.android.incallui.incall.protocol.SecondaryInfo;
-import com.android.incallui.videotech.VideoTech;
+import com.android.incallui.videotech.utils.SessionModificationState;
 import java.lang.ref.WeakReference;
 
 /**
@@ -396,7 +396,7 @@
     getUi()
         .setEndCallButtonEnabled(
             mPrimary.getVideoTech().getSessionModificationState()
-                != VideoTech.SESSION_MODIFICATION_STATE_RECEIVED_UPGRADE_TO_VIDEO_REQUEST,
+                != SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST,
             true /* shouldAnimate */);
     updatePrimaryCallState();
   }
@@ -1023,7 +1023,7 @@
       return false;
     }
     if (mPrimary.getVideoTech().getSessionModificationState()
-        == VideoTech.SESSION_MODIFICATION_STATE_RECEIVED_UPGRADE_TO_VIDEO_REQUEST) {
+        == SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST) {
       return false;
     }
     return true;
diff --git a/java/com/android/incallui/InCallActivity.java b/java/com/android/incallui/InCallActivity.java
index 395829b..90eb0aa 100644
--- a/java/com/android/incallui/InCallActivity.java
+++ b/java/com/android/incallui/InCallActivity.java
@@ -28,11 +28,13 @@
 import android.support.v4.app.FragmentTransaction;
 import android.support.v4.graphics.ColorUtils;
 import android.telecom.DisconnectCause;
+import android.telephony.TelephonyManager;
 import android.view.KeyEvent;
 import android.view.MenuItem;
 import android.view.MotionEvent;
 import android.view.View;
 import com.android.dialer.common.Assert;
+import com.android.dialer.common.ConfigProviderBindings;
 import com.android.dialer.common.LogUtil;
 import com.android.dialer.compat.ActivityCompat;
 import com.android.dialer.logging.Logger;
@@ -72,6 +74,8 @@
   private static final String DID_SHOW_IN_CALL_SCREEN_KEY = "did_show_in_call_screen";
   private static final String DID_SHOW_VIDEO_CALL_SCREEN_KEY = "did_show_video_call_screen";
 
+  private static final String CONFIG_ANSWER_AND_RELEASE_ENABLED = "answer_and_release_enabled";
+
   private final InCallActivityCommon common;
   private boolean didShowAnswerScreen;
   private boolean didShowInCallScreen;
@@ -460,7 +464,11 @@
   }
 
   @Override
-  public VideoCallScreenDelegate newVideoCallScreenDelegate() {
+  public VideoCallScreenDelegate newVideoCallScreenDelegate(VideoCallScreen videoCallScreen) {
+    DialerCall dialerCall = CallList.getInstance().getCallById(videoCallScreen.getCallId());
+    if (dialerCall != null && dialerCall.getVideoTech().shouldUseSurfaceView()) {
+      return dialerCall.getVideoTech().createVideoCallScreenDelegate(this, videoCallScreen);
+    }
     return new VideoCallPresenter();
   }
 
@@ -629,7 +637,9 @@
             call.getId(),
             call.isVideoCall(),
             isVideoUpgradeRequest,
-            call.getVideoTech().isSelfManagedCamera());
+            call.getVideoTech().isSelfManagedCamera(),
+            shouldAllowAnswerAndRelease(call),
+            CallList.getInstance().getBackgroundCall() != null);
     transaction.add(R.id.main, answerScreen.getAnswerScreenFragment(), TAG_ANSWER_SCREEN);
 
     Logger.get(this).logScreenView(ScreenEvent.Type.INCOMING_CALL, this);
@@ -637,6 +647,28 @@
     return true;
   }
 
+  private boolean shouldAllowAnswerAndRelease(DialerCall call) {
+    if (CallList.getInstance().getActiveCall() == null) {
+      LogUtil.i("InCallActivity.shouldAllowAnswerAndRelease", "no active call");
+      return false;
+    }
+    if (getSystemService(TelephonyManager.class).getPhoneType()
+        == TelephonyManager.PHONE_TYPE_CDMA) {
+      LogUtil.i("InCallActivity.shouldAllowAnswerAndRelease", "PHONE_TYPE_CDMA not supported");
+      return false;
+    }
+    if (call.isVideoCall() || call.hasReceivedVideoUpgradeRequest()) {
+      LogUtil.i("InCallActivity.shouldAllowAnswerAndRelease", "video call");
+      return false;
+    }
+    if (!ConfigProviderBindings.get(this).getBoolean(CONFIG_ANSWER_AND_RELEASE_ENABLED, true)) {
+      LogUtil.i("InCallActivity.shouldAllowAnswerAndRelease", "disabled by config");
+      return false;
+    }
+
+    return true;
+  }
+
   private boolean hideAnswerScreenFragment(FragmentTransaction transaction) {
     if (!didShowAnswerScreen) {
       return false;
@@ -692,7 +724,9 @@
 
     LogUtil.i("InCallActivity.showVideoCallScreenFragment", "call: %s", call);
 
-    VideoCallScreen videoCallScreen = VideoBindings.createVideoCallScreen(call.getId());
+    VideoCallScreen videoCallScreen =
+        VideoBindings.createVideoCallScreen(
+            call.getId(), call.getVideoTech().shouldUseSurfaceView());
     transaction.add(R.id.main, videoCallScreen.getVideoCallScreenFragment(), TAG_VIDEO_CALL_SCREEN);
 
     Logger.get(this).logScreenView(ScreenEvent.Type.INCALL, this);
diff --git a/java/com/android/incallui/InCallPresenter.java b/java/com/android/incallui/InCallPresenter.java
index 63dab79..db4d884 100644
--- a/java/com/android/incallui/InCallPresenter.java
+++ b/java/com/android/incallui/InCallPresenter.java
@@ -57,7 +57,7 @@
 import com.android.incallui.util.TelecomCallUtil;
 import com.android.incallui.videosurface.bindings.VideoSurfaceBindings;
 import com.android.incallui.videosurface.protocol.VideoSurfaceTexture;
-import com.android.incallui.videotech.VideoTech;
+import com.android.incallui.videotech.utils.VideoUtils;
 import java.util.Collections;
 import java.util.List;
 import java.util.Objects;
@@ -707,8 +707,7 @@
 
   @Override
   public void onUpgradeToVideo(DialerCall call) {
-    if (call.getVideoTech().getSessionModificationState()
-            == VideoTech.SESSION_MODIFICATION_STATE_RECEIVED_UPGRADE_TO_VIDEO_REQUEST
+    if (VideoUtils.hasReceivedVideoUpgradeRequest(call.getVideoTech().getSessionModificationState())
         && mInCallState == InCallPresenter.InCallState.INCOMING) {
       LogUtil.i(
           "InCallPresenter.onUpgradeToVideo",
diff --git a/java/com/android/incallui/StatusBarNotifier.java b/java/com/android/incallui/StatusBarNotifier.java
index d6262be..6453d5b 100644
--- a/java/com/android/incallui/StatusBarNotifier.java
+++ b/java/com/android/incallui/StatusBarNotifier.java
@@ -16,6 +16,7 @@
 
 package com.android.incallui;
 
+import static android.telecom.Call.Details.PROPERTY_HIGH_DEF_AUDIO;
 import static com.android.contacts.common.compat.CallCompat.Details.PROPERTY_ENTERPRISE_CALL;
 import static com.android.incallui.NotificationBroadcastReceiver.ACTION_ACCEPT_VIDEO_UPGRADE_REQUEST;
 import static com.android.incallui.NotificationBroadcastReceiver.ACTION_ANSWER_VIDEO_INCOMING_CALL;
@@ -67,6 +68,7 @@
 import com.android.dialer.common.LogUtil;
 import com.android.dialer.notification.NotificationChannelManager;
 import com.android.dialer.notification.NotificationChannelManager.Channel;
+import com.android.dialer.oem.MotorolaUtils;
 import com.android.dialer.util.DrawableConverter;
 import com.android.incallui.ContactInfoCache.ContactCacheEntry;
 import com.android.incallui.ContactInfoCache.ContactInfoCacheCallback;
@@ -78,7 +80,7 @@
 import com.android.incallui.ringtone.DialerRingtoneManager;
 import com.android.incallui.ringtone.InCallTonePlayer;
 import com.android.incallui.ringtone.ToneGeneratorFactory;
-import com.android.incallui.videotech.VideoTech;
+import com.android.incallui.videotech.utils.SessionModificationState;
 import java.util.List;
 import java.util.Locale;
 import java.util.Objects;
@@ -294,7 +296,7 @@
 
     final boolean isVideoUpgradeRequest =
         call.getVideoTech().getSessionModificationState()
-            == VideoTech.SESSION_MODIFICATION_STATE_RECEIVED_UPGRADE_TO_VIDEO_REQUEST;
+            == SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST;
     final int notificationType;
     if (callState == DialerCall.State.INCOMING
         || callState == DialerCall.State.CALL_WAITING
@@ -634,8 +636,15 @@
     if (call.getState() == DialerCall.State.ONHOLD) {
       return R.drawable.ic_phone_paused_white_24dp;
     } else if (call.getVideoTech().getSessionModificationState()
-        == VideoTech.SESSION_MODIFICATION_STATE_RECEIVED_UPGRADE_TO_VIDEO_REQUEST) {
+        == SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST) {
       return R.drawable.ic_videocam;
+    } else if (call.hasProperty(PROPERTY_HIGH_DEF_AUDIO)
+        && MotorolaUtils.shouldShowHdIconInNotification(mContext)) {
+      // Normally when a call is ongoing the status bar displays an icon of a phone with animated
+      // lines. This is a helpful hint for users so they know how to get back to the call.
+      // For Sprint HD calls, we replace this icon with an icon of a phone with a HD badge.
+      // This is a carrier requirement.
+      return R.drawable.ic_hd_call;
     }
     return R.anim.on_going_call;
   }
@@ -676,7 +685,7 @@
     } else if (DialerCall.State.isDialing(call.getState())) {
       resId = R.string.notification_dialing;
     } else if (call.getVideoTech().getSessionModificationState()
-        == VideoTech.SESSION_MODIFICATION_STATE_RECEIVED_UPGRADE_TO_VIDEO_REQUEST) {
+        == SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST) {
       resId = R.string.notification_requesting_video_call;
     }
 
@@ -945,7 +954,7 @@
     @Override
     public void onDialerCallSessionModificationStateChange() {
       if (mDialerCall.getVideoTech().getSessionModificationState()
-          == VideoTech.SESSION_MODIFICATION_STATE_NO_REQUEST) {
+          == SessionModificationState.NO_REQUEST) {
         cleanup();
         updateNotification(CallList.getInstance());
       }
diff --git a/java/com/android/incallui/VideoCallPresenter.java b/java/com/android/incallui/VideoCallPresenter.java
index 20dc987..5d2138e 100644
--- a/java/com/android/incallui/VideoCallPresenter.java
+++ b/java/com/android/incallui/VideoCallPresenter.java
@@ -25,6 +25,7 @@
 import android.telecom.VideoProfile;
 import android.telecom.VideoProfile.CameraCapabilities;
 import android.view.Surface;
+import android.view.SurfaceView;
 import com.android.dialer.common.Assert;
 import com.android.dialer.common.ConfigProviderBindings;
 import com.android.dialer.common.LogUtil;
@@ -39,14 +40,13 @@
 import com.android.incallui.call.DialerCall.State;
 import com.android.incallui.call.InCallVideoCallCallbackNotifier;
 import com.android.incallui.call.InCallVideoCallCallbackNotifier.SurfaceChangeListener;
-import com.android.incallui.call.VideoUtils;
 import com.android.incallui.util.AccessibilityUtil;
 import com.android.incallui.video.protocol.VideoCallScreen;
 import com.android.incallui.video.protocol.VideoCallScreenDelegate;
 import com.android.incallui.videosurface.protocol.VideoSurfaceDelegate;
 import com.android.incallui.videosurface.protocol.VideoSurfaceTexture;
-import com.android.incallui.videotech.VideoTech;
-import com.android.incallui.videotech.VideoTech.SessionModificationState;
+import com.android.incallui.videotech.utils.SessionModificationState;
+import com.android.incallui.videotech.utils.VideoUtils;
 import java.util.Objects;
 
 /**
@@ -400,6 +400,11 @@
   }
 
   @Override
+  public void setSurfaceViews(SurfaceView preview, SurfaceView remote) {
+    throw Assert.createUnsupportedOperationFailException();
+  }
+
+  @Override
   public int getDeviceOrientation() {
     return mDeviceOrientation;
   }
@@ -535,8 +540,7 @@
       updateFullscreenAndGreenScreenMode(
           mPrimaryCall.getState(), mPrimaryCall.getVideoTech().getSessionModificationState());
     } else {
-      updateFullscreenAndGreenScreenMode(
-          State.INVALID, VideoTech.SESSION_MODIFICATION_STATE_NO_REQUEST);
+      updateFullscreenAndGreenScreenMode(State.INVALID, SessionModificationState.NO_REQUEST);
     }
   }
 
@@ -853,7 +857,7 @@
     showVideoUi(
         VideoProfile.STATE_AUDIO_ONLY,
         DialerCall.State.ACTIVE,
-        VideoTech.SESSION_MODIFICATION_STATE_NO_REQUEST,
+        SessionModificationState.NO_REQUEST,
         false /* isRemotelyHeld */);
     enableCamera(mVideoCall, false);
     InCallPresenter.getInstance().setFullScreen(false);
diff --git a/java/com/android/incallui/answer/bindings/AnswerBindings.java b/java/com/android/incallui/answer/bindings/AnswerBindings.java
index 8be2839..0b546db 100644
--- a/java/com/android/incallui/answer/bindings/AnswerBindings.java
+++ b/java/com/android/incallui/answer/bindings/AnswerBindings.java
@@ -26,8 +26,15 @@
       String callId,
       boolean isVideoCall,
       boolean isVideoUpgradeRequest,
-      boolean isSelfManagedCamera) {
+      boolean isSelfManagedCamera,
+      boolean allowAnswerAndRelease,
+      boolean hasCallOnHold) {
     return AnswerFragment.newInstance(
-        callId, isVideoCall, isVideoUpgradeRequest, isSelfManagedCamera);
+        callId,
+        isVideoCall,
+        isVideoUpgradeRequest,
+        isSelfManagedCamera,
+        allowAnswerAndRelease,
+        hasCallOnHold);
   }
 }
diff --git a/java/com/android/incallui/answer/impl/AffordanceHolderLayout.java b/java/com/android/incallui/answer/impl/AffordanceHolderLayout.java
index 0f93abe..1a8c956 100644
--- a/java/com/android/incallui/answer/impl/AffordanceHolderLayout.java
+++ b/java/com/android/incallui/answer/impl/AffordanceHolderLayout.java
@@ -58,9 +58,9 @@
               }
 
               @Override
-              public void onAnimationToSideEnded() {
+              public void onAnimationToSideEnded(boolean rightPage) {
                 if (affordanceCallback != null) {
-                  affordanceCallback.onAnimationToSideEnded();
+                  affordanceCallback.onAnimationToSideEnded(rightPage);
                 }
               }
 
diff --git a/java/com/android/incallui/answer/impl/AnswerFragment.java b/java/com/android/incallui/answer/impl/AnswerFragment.java
index c6304c0..6944711 100644
--- a/java/com/android/incallui/answer/impl/AnswerFragment.java
+++ b/java/com/android/incallui/answer/impl/AnswerFragment.java
@@ -69,7 +69,6 @@
 import com.android.incallui.answer.protocol.AnswerScreenDelegate;
 import com.android.incallui.answer.protocol.AnswerScreenDelegateFactory;
 import com.android.incallui.call.DialerCall.State;
-import com.android.incallui.call.VideoUtils;
 import com.android.incallui.contactgrid.ContactGridManager;
 import com.android.incallui.incall.protocol.ContactPhotoType;
 import com.android.incallui.incall.protocol.InCallScreen;
@@ -83,6 +82,7 @@
 import com.android.incallui.sessiondata.MultimediaFragment;
 import com.android.incallui.util.AccessibilityUtil;
 import com.android.incallui.video.protocol.VideoCallScreen;
+import com.android.incallui.videotech.utils.VideoUtils;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
@@ -103,6 +103,10 @@
   @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
   static final String ARG_IS_VIDEO_CALL = "is_video_call";
 
+  static final String ARG_ALLOW_ANSWER_AND_RELEASE = "allow_answer_and_release";
+
+  static final String ARG_HAS_CALL_ON_HOLD = "has_call_on_hold";
+
   @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
   static final String ARG_IS_VIDEO_UPGRADE_REQUEST = "is_video_upgrade_request";
 
@@ -131,6 +135,7 @@
 
   private View importanceBadge;
   private SwipeButtonView secondaryButton;
+  private SwipeButtonView answerAndReleaseButton;
   private AffordanceHolderLayout affordanceHolderLayout;
   // Use these flags to prevent user from clicking accept/reject buttons multiple times.
   // We use separate flags because in some rare cases accepting a call may fail to join the room,
@@ -145,6 +150,7 @@
   private SmsBottomSheetFragment textResponsesFragment;
   private CreateCustomSmsDialogFragment createCustomSmsDialogFragment;
   private SecondaryBehavior secondaryBehavior = SecondaryBehavior.REJECT_WITH_SMS;
+  private SecondaryBehavior answerAndReleaseBehavior;
   private ContactGridManager contactGridManager;
   private VideoCallScreen answerVideoCallScreen;
   private Handler handler = new Handler(Looper.getMainLooper());
@@ -170,6 +176,17 @@
       public void performAction(AnswerFragment fragment) {
         fragment.acceptCallByUser(true /* answerVideoAsAudio */);
       }
+    },
+
+    ANSWER_AND_RELEASE(
+        R.drawable.ic_end_answer_32,
+        R.string.a11y_description_incoming_call_answer_and_release,
+        R.string.a11y_incoming_call_answer_and_release,
+        R.string.call_incoming_swipe_to_answer_and_release) {
+      @Override
+      public void performAction(AnswerFragment fragment) {
+        fragment.performAnswerAndRelease();
+      }
     };
 
     @DrawableRes public final int icon;
@@ -196,7 +213,26 @@
     }
   }
 
-  private AccessibilityDelegate accessibilityDelegate =
+  private void performAnswerAndRelease() {
+    restoreAnswerAndReleaseButtonAnimation();
+    answerScreenDelegate.onAnswerAndReleaseCall();
+  }
+
+  private void restoreAnswerAndReleaseButtonAnimation() {
+    answerAndReleaseButton
+        .animate()
+        .alpha(0)
+        .withEndAction(
+            new Runnable() {
+              @Override
+              public void run() {
+                affordanceHolderLayout.reset(false);
+                secondaryButton.animate().alpha(1);
+              }
+            });
+  }
+
+  private final AccessibilityDelegate accessibilityDelegate =
       new AccessibilityDelegate() {
         @Override
         public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) {
@@ -204,6 +240,9 @@
           if (host == secondaryButton) {
             CharSequence label = getText(secondaryBehavior.accessibilityLabel);
             info.addAction(new AccessibilityAction(AccessibilityNodeInfo.ACTION_CLICK, label));
+          } else if (host == answerAndReleaseButton) {
+            CharSequence label = getText(answerAndReleaseBehavior.accessibilityLabel);
+            info.addAction(new AccessibilityAction(AccessibilityNodeInfo.ACTION_CLICK, label));
           }
         }
 
@@ -213,20 +252,27 @@
             if (host == secondaryButton) {
               performSecondaryButtonAction();
               return true;
+            } else if (host == answerAndReleaseButton) {
+              performAnswerAndReleaseButtonAction();
+              return true;
             }
           }
           return super.performAccessibilityAction(host, action, args);
         }
       };
 
-  private Callback affordanceCallback =
+  private final Callback affordanceCallback =
       new Callback() {
         @Override
         public void onAnimationToSideStarted(boolean rightPage, float translation, float vel) {}
 
         @Override
-        public void onAnimationToSideEnded() {
-          performSecondaryButtonAction();
+        public void onAnimationToSideEnded(boolean rightPage) {
+          if (rightPage) {
+            performAnswerAndReleaseButtonAction();
+          } else {
+            performSecondaryButtonAction();
+          }
         }
 
         @Override
@@ -247,7 +293,11 @@
         @Override
         public void onIconClicked(boolean rightIcon) {
           affordanceHolderLayout.startHintAnimation(rightIcon, null);
-          getAnswerMethod().setHintText(getText(secondaryBehavior.hintText));
+          getAnswerMethod()
+              .setHintText(
+                  rightIcon
+                      ? getText(answerAndReleaseBehavior.hintText)
+                      : getText(secondaryBehavior.hintText));
           handler.removeCallbacks(swipeHintRestoreTimer);
           handler.postDelayed(swipeHintRestoreTimer, HINT_SECONDARY_SHOW_DURATION_MILLIS);
         }
@@ -259,7 +309,7 @@
 
         @Override
         public SwipeButtonView getRightIcon() {
-          return null;
+          return answerAndReleaseButton;
         }
 
         @Override
@@ -278,28 +328,30 @@
         }
       };
 
-  private Runnable swipeHintRestoreTimer =
-      new Runnable() {
-        @Override
-        public void run() {
-          restoreSwipeHintTexts();
-        }
-      };
+  private Runnable swipeHintRestoreTimer = this::restoreSwipeHintTexts;
 
   private void performSecondaryButtonAction() {
     secondaryBehavior.performAction(this);
   }
 
+  private void performAnswerAndReleaseButtonAction() {
+    answerAndReleaseBehavior.performAction(this);
+  }
+
   public static AnswerFragment newInstance(
       String callId,
       boolean isVideoCall,
       boolean isVideoUpgradeRequest,
-      boolean isSelfManagedCamera) {
+      boolean isSelfManagedCamera,
+      boolean allowAnswerAndRelease,
+      boolean hasCallOnHold) {
     Bundle bundle = new Bundle();
     bundle.putString(ARG_CALL_ID, Assert.isNotNull(callId));
     bundle.putBoolean(ARG_IS_VIDEO_CALL, isVideoCall);
     bundle.putBoolean(ARG_IS_VIDEO_UPGRADE_REQUEST, isVideoUpgradeRequest);
     bundle.putBoolean(ARG_IS_SELF_MANAGED_CAMERA, isSelfManagedCamera);
+    bundle.putBoolean(ARG_ALLOW_ANSWER_AND_RELEASE, allowAnswerAndRelease);
+    bundle.putBoolean(ARG_HAS_CALL_ON_HOLD, hasCallOnHold);
 
     AnswerFragment instance = new AnswerFragment();
     instance.setArguments(bundle);
@@ -331,7 +383,7 @@
       secondaryButton.setVisibility(View.INVISIBLE);
     } else {
       LogUtil.i("AnswerFragment.setTextResponses", "textResponses.size: " + textResponses.size());
-      this.textResponses = new ArrayList<CharSequence>(textResponses);
+      this.textResponses = new ArrayList<>(textResponses);
       secondaryButton.setVisibility(View.VISIBLE);
     }
   }
@@ -359,6 +411,34 @@
     } else if (isVideoCall()) {
       secondaryButton.setVisibility(View.VISIBLE);
     }
+
+    answerAndReleaseBehavior = SecondaryBehavior.ANSWER_AND_RELEASE;
+    answerAndReleaseBehavior.applyToView(answerAndReleaseButton);
+    answerAndReleaseButton.setOnClickListener(
+        new OnClickListener() {
+          @Override
+          public void onClick(View v) {
+            performAnswerAndReleaseButtonAction();
+          }
+        });
+    answerAndReleaseButton.setClickable(AccessibilityUtil.isAccessibilityEnabled(getContext()));
+    answerAndReleaseButton.setFocusable(AccessibilityUtil.isAccessibilityEnabled(getContext()));
+    answerAndReleaseButton.setAccessibilityDelegate(accessibilityDelegate);
+
+    if (allowAnswerAndRelease()) {
+      answerAndReleaseButton.setVisibility(View.VISIBLE);
+    } else {
+      answerAndReleaseButton.setVisibility(View.INVISIBLE);
+    }
+  }
+
+  @Override
+  public boolean allowAnswerAndRelease() {
+    return getArguments().getBoolean(ARG_ALLOW_ANSWER_AND_RELEASE);
+  }
+
+  private boolean hasCallOnHold() {
+    return getArguments().getBoolean(ARG_HAS_CALL_ON_HOLD);
   }
 
   @Override
@@ -546,8 +626,7 @@
 
   @Override
   public int getAnswerAndDialpadContainerResourceId() {
-    Assert.fail();
-    return 0;
+    throw Assert.createUnsupportedOperationFailException();
   }
 
   @Override
@@ -573,6 +652,7 @@
 
     View view = inflater.inflate(R.layout.fragment_incoming_call, container, false);
     secondaryButton = (SwipeButtonView) view.findViewById(R.id.incoming_secondary_button);
+    answerAndReleaseButton = (SwipeButtonView) view.findViewById(R.id.incoming_secondary_button2);
 
     affordanceHolderLayout = (AffordanceHolderLayout) view.findViewById(R.id.incoming_container);
     affordanceHolderLayout.setAffordanceCallback(affordanceCallback);
@@ -661,6 +741,7 @@
   public void onResume() {
     super.onResume();
     LogUtil.i("AnswerFragment.onResume", null);
+    restoreSwipeHintTexts();
     inCallScreenDelegate.onInCallScreenResumed();
   }
 
@@ -837,7 +918,17 @@
 
   private void restoreSwipeHintTexts() {
     if (getAnswerMethod() != null) {
-      getAnswerMethod().setHintText(null);
+      if (allowAnswerAndRelease()) {
+        if (hasCallOnHold()) {
+          getAnswerMethod()
+              .setHintText(getText(R.string.call_incoming_default_label_answer_and_release_third));
+        } else {
+          getAnswerMethod()
+              .setHintText(getText(R.string.call_incoming_default_label_answer_and_release_second));
+        }
+      } else {
+        getAnswerMethod().setHintText(null);
+      }
     }
   }
 
diff --git a/java/com/android/incallui/answer/impl/AnswerVideoCallScreen.java b/java/com/android/incallui/answer/impl/AnswerVideoCallScreen.java
index 06502da..2f10a5b 100644
--- a/java/com/android/incallui/answer/impl/AnswerVideoCallScreen.java
+++ b/java/com/android/incallui/answer/impl/AnswerVideoCallScreen.java
@@ -49,7 +49,7 @@
     view.setBackgroundColor(0xff000000);
     delegate =
         FragmentUtils.getParentUnsafe(fragment, VideoCallScreenDelegateFactory.class)
-            .newVideoCallScreenDelegate();
+            .newVideoCallScreenDelegate(this);
     delegate.initVideoCallScreenDelegate(fragment.getContext(), this);
 
     textureView.setVisibility(View.VISIBLE);
diff --git a/java/com/android/incallui/answer/impl/affordance/SwipeButtonHelper.java b/java/com/android/incallui/answer/impl/affordance/SwipeButtonHelper.java
index ff20d3a..1c66e63 100644
--- a/java/com/android/incallui/answer/impl/affordance/SwipeButtonHelper.java
+++ b/java/com/android/incallui/answer/impl/affordance/SwipeButtonHelper.java
@@ -68,13 +68,19 @@
           targetedView = null;
         }
       };
-  private Runnable animationEndRunnable =
-      new Runnable() {
-        @Override
-        public void run() {
-          callback.onAnimationToSideEnded();
-        }
-      };
+
+  private class AnimationEndRunnable implements Runnable {
+    private final boolean rightPage;
+
+    public AnimationEndRunnable(boolean rightPage) {
+      this.rightPage = rightPage;
+    }
+
+    @Override
+    public void run() {
+      callback.onAnimationToSideEnded(rightPage);
+    }
+  };
 
   public SwipeButtonHelper(Callback callback, Context context) {
     this.context = context;
@@ -386,7 +392,7 @@
         });
     animator.addListener(flingEndListener);
     if (!snapBack) {
-      startFinishingCircleAnimation(vel * 0.375f, animationEndRunnable, right);
+      startFinishingCircleAnimation(vel * 0.375f, new AnimationEndRunnable(right), right);
       callback.onAnimationToSideStarted(right, translation, vel);
     } else {
       reset(true);
@@ -599,7 +605,7 @@
       updateIcon(otherView, 0.0f, 0.0f, false, false, true, false);
       targetView.instantFinishAnimation();
       flingEndListener.onAnimationEnd(null);
-      animationEndRunnable.run();
+      new AnimationEndRunnable(!left).run();
     }
   }
 
@@ -614,7 +620,7 @@
     void onAnimationToSideStarted(boolean rightPage, float translation, float vel);
 
     /** Notifies the callback the animation to a side page has ended. */
-    void onAnimationToSideEnded();
+    void onAnimationToSideEnded(boolean rightPage);
 
     float getMaxTranslationDistance();
 
diff --git a/java/com/android/incallui/answer/impl/answermethod/res/layout/swipe_up_down_method.xml b/java/com/android/incallui/answer/impl/answermethod/res/layout/swipe_up_down_method.xml
index 78e0979..42b55cf 100644
--- a/java/com/android/incallui/answer/impl/answermethod/res/layout/swipe_up_down_method.xml
+++ b/java/com/android/incallui/answer/impl/answermethod/res/layout/swipe_up_down_method.xml
@@ -51,6 +51,7 @@
       android:layout_height="wrap_content"
       android:layout_marginBottom="18dp"
       android:layout_gravity="center_horizontal"
+      android:textAlignment="center"
       android:focusable="false"
       android:text="@string/call_incoming_swipe_to_answer"
       android:textAppearance="@style/Dialer.Incall.TextAppearance.Hint"/>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-af/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-af/strings.xml
index 7a06bfd..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-af/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-af/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Geleentheid is geaktiveer"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Geleentheid is gedeaktiveer"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-am/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-am/strings.xml
index bc927fe..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-am/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-am/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"ክስተት ነቅቷል"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"ክስተት አልነቃም"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-ar/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-ar/strings.xml
index 3b00601..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-ar/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-ar/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"تم تنشيط الحدث"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"تم إيقاف تنشيط الحدث"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-az/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-az/strings.xml
index 85d8c6e..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-az/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-az/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Tədbir Aktiv Edildi"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Tədbir Deaktiv Edildi"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-be/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-be/strings.xml
index 8d065a7..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-be/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-be/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Падзея актывавана"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Падзея дэактывавана"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-bg/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-bg/strings.xml
index 126a7e1..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-bg/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-bg/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Събитието бе активирано"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Събитието бе деактивирано"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-bn/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-bn/strings.xml
index de87a4f..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-bn/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-bn/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"ইভেন্ট সক্রিয় করা হয়েছে"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"ইভেন্ট নিষ্ক্রিয় করা হয়েছে"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-bs/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-bs/strings.xml
index 984f5a6..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-bs/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-bs/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Događaj je aktiviran"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Događaj je deaktiviran"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-ca/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-ca/strings.xml
index fd91aa5..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-ca/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-ca/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Esdeveniment activat"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Esdeveniment desactivat"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-cs/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-cs/strings.xml
index 3d1a7cb..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-cs/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-cs/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Událost byla aktivována"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Událost byla deaktivována"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-da/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-da/strings.xml
index 9d32024..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-da/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-da/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Begivenheden blev aktiveret"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Begivenheden blev deaktiveret"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-de/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-de/strings.xml
index 89c079e..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-de/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-de/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Ereignis aktiviert"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Ereignis deaktiviert"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-el/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-el/strings.xml
index ee4597b..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-el/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-el/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Το συμβάν ενεργοποιήθηκε"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Το συμβάν απενεργοποιήθηκε"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-en-rAU/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-en-rAU/strings.xml
index ee6344e..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-en-rAU/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-en-rAU/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Event activated"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Event deactivated"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-en-rGB/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-en-rGB/strings.xml
index ee6344e..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-en-rGB/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-en-rGB/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Event activated"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Event deactivated"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-en-rIN/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-en-rIN/strings.xml
index ee6344e..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-en-rIN/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-en-rIN/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Event activated"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Event deactivated"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-es-rUS/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-es-rUS/strings.xml
index 7bb8bf9..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-es-rUS/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-es-rUS/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Se activó el evento"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Se desactivó el evento"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-es/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-es/strings.xml
index 46f59b5..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-es/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-es/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Evento activado"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Evento desactivado"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-et/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-et/strings.xml
index cded29c..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-et/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-et/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Sündmus aktiveeriti"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Sündmus inaktiveeriti"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-eu/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-eu/strings.xml
index 4a80c10..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-eu/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-eu/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Aktibatu da gertaera"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Desaktibatu da gertaera"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-fa/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-fa/strings.xml
index 3c6c8d6..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-fa/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-fa/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"رویداد فعال شد"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"رویداد غیرفعال شد"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-fi/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-fi/strings.xml
index bf64868..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-fi/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-fi/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Tapahtuma otettiin käyttöön."</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Tapahtuma poistettiin käytöstä."</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-fr-rCA/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-fr-rCA/strings.xml
index 75cd0a8..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-fr-rCA/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-fr-rCA/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Événement activé"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Événement désactivé"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-fr/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-fr/strings.xml
index 75cd0a8..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-fr/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-fr/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Événement activé"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Événement désactivé"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-gl/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-gl/strings.xml
index 9d690a2..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-gl/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-gl/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Activouse o evento"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Desactivouse o evento"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-gu/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-gu/strings.xml
index bd602f2..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-gu/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-gu/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"ઇવેન્ટ સક્રિય કરી"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"ઇવેન્ટ નિષ્ક્રિય કરી"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-hi/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-hi/strings.xml
index 3ecb462..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-hi/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-hi/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"इवेंट सक्रिय किया गया"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"इवेंट का सक्रियण रद्द किया गया"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-hr/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-hr/strings.xml
index 984f5a6..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-hr/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-hr/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Događaj je aktiviran"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Događaj je deaktiviran"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-hu/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-hu/strings.xml
index a315832..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-hu/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-hu/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Esemény aktiválva"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Esemény inaktiválva"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-hy/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-hy/strings.xml
index 1c20136..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-hy/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-hy/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Միջոցառումն ակտիվացված է"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Միջոցառումն ապակտիվացված է"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-in/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-in/strings.xml
index 096ac6e..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-in/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-in/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Acara Diaktifkan"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Acara Dinonaktifkan"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-is/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-is/strings.xml
index 76111ea..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-is/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-is/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Viðburður virkur"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Viðburður óvirkur"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-it/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-it/strings.xml
index 590617c..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-it/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-it/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Evento attivato"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Evento disattivato"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-iw/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-iw/strings.xml
index a0fcb65..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-iw/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-iw/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"האירוע הופעל"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"האירוע הושבת"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-ja/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-ja/strings.xml
index 81e8676..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-ja/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-ja/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"イベントを有効にしました"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"イベントを無効にしました"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-ka/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-ka/strings.xml
index 43b4709..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-ka/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-ka/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"მოვლენა გააქტიურებულია"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"მოვლენა დეაქტივირებულია"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-kk/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-kk/strings.xml
index 14a9cff..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-kk/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-kk/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Іс-шара қосылды"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Іс-шара өшірілді"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-km/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-km/strings.xml
index c1bbb2e..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-km/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-km/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"បើក​ព្រឹត្តិការណ៍​ឲ្យ​សកម្ម"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"បិទ​ព្រឹត្តិការណ៍​មិន​ឲ្យ​សកម្ម"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-kn/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-kn/strings.xml
index d028628..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-kn/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-kn/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"ಈವೆಂಟ್ ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"ಈವೆಂಟ್ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-ko/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-ko/strings.xml
index 9f36577..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-ko/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-ko/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"이벤트가 활성화됨"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"이벤트가 비활성화됨"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-ky/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-ky/strings.xml
index d973ab2..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-ky/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-ky/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Иш-чаралар иштетилди"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Иш-чаралар токтотулду"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-lo/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-lo/strings.xml
index 5460b61..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-lo/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-lo/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"ເປີດໃຊ້ອີເວັ້ນແລ້ວ"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"ປິດການໃຊ້ອີເວັ້ນແລ້ວ"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-lt/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-lt/strings.xml
index 2de2a48..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-lt/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-lt/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Įvykis suaktyvintas"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Įvykis išaktyvintas"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-lv/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-lv/strings.xml
index 3a6175f..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-lv/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-lv/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Notikums aktivizēts"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Notikums deaktivizēts"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-mk/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-mk/strings.xml
index 2e72d30..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-mk/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-mk/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Настанот е активиран"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Настанот е деактивиран"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-ml/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-ml/strings.xml
index d1f0c44..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-ml/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-ml/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"ഇവന്റ് സജീവമാക്കി"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"ഇവന്റ് നിഷ്‌ക്രിയമാക്കി"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-mn/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-mn/strings.xml
index db6615e..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-mn/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-mn/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Арга хэмжээг идэвхжүүлсэн"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Арга хэмжээг идэвхгүй болгосон"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-mr/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-mr/strings.xml
index 628e028..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-mr/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-mr/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"इव्हेंट सक्रिय केला"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"इव्हेंट निष्क्रिय केला"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-ms/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-ms/strings.xml
index 4347841..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-ms/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-ms/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Acara Diaktifkan"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Acara Dinyahaktifkan"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-my/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-my/strings.xml
index 0993830..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-my/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-my/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"အစီအစဉ်ကို ဖွင့်လိုက်သည်"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"အစီအစဉ်ကို ပိတ်လိုက်သည်"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-nb/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-nb/strings.xml
index 8b2a8db..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-nb/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-nb/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Aktiviteten er slått på"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Aktiviteten er slått av"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-ne/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-ne/strings.xml
index 952571c..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-ne/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-ne/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"कार्यक्रम सक्रिय गरियो"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"कार्यक्रम निस्क्रिय गरियो"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-nl/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-nl/strings.xml
index c48bb34..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-nl/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-nl/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Gebeurtenis geactiveerd"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Gebeurtenis gedeactiveerd"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-no/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-no/strings.xml
index 8b2a8db..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-no/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-no/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Aktiviteten er slått på"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Aktiviteten er slått av"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-pa/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-pa/strings.xml
index cf75806..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-pa/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-pa/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"ਵਰਤਾਰਾ ਕਿਰਿਆਸ਼ੀਲ ਕੀਤਾ ਗਿਆ"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"ਵਰਤਾਰਾ ਅਕਿਰਿਆਸ਼ੀਲ ਕੀਤਾ ਗਿਆ"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-pl/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-pl/strings.xml
index 1664498..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-pl/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-pl/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Aktywowano wydarzenie"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Wyłączono wydarzenie"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-pt-rBR/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-pt-rBR/strings.xml
index 358b3ff..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-pt-rBR/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-pt-rBR/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Evento ativado"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Evento desativado"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-pt-rPT/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-pt-rPT/strings.xml
index 358b3ff..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-pt-rPT/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-pt-rPT/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Evento ativado"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Evento desativado"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-pt/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-pt/strings.xml
index 358b3ff..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-pt/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-pt/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Evento ativado"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Evento desativado"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-ro/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-ro/strings.xml
index 5cc566d..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-ro/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-ro/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Evenimentul este activat."</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Evenimentul este dezactivat."</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-ru/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-ru/strings.xml
index f60dd8e..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-ru/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-ru/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Событие активировано"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Событие деактивировано"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-si/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-si/strings.xml
index 91917fb..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-si/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-si/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"සිදුවීම සක්‍රිය කරන ලදී"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"සිදුවීම අක්‍රිය කරන ලදී"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-sk/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-sk/strings.xml
index e6276b8..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-sk/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-sk/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Udalosť bola aktivovaná"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Udalosť bola deaktivovaná"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-sl/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-sl/strings.xml
index 2e4b99a..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-sl/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-sl/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Dogodek je aktiviran"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Dogodek ni več aktiviran"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-sq/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-sq/strings.xml
index be9c434..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-sq/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-sq/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Ngjarja u aktivizua"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Ngjarja u çaktivizua"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-sr/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-sr/strings.xml
index 5e1c075..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-sr/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-sr/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Догађај је активиран"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Догађај је деактивиран"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-sv/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-sv/strings.xml
index 65e0130..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-sv/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-sv/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Händelse aktiverad"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Händelse inaktiverad"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-sw/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-sw/strings.xml
index 8d4c323..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-sw/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-sw/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Tukio Limewashwa"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Tukio Limezimwa"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-ta/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-ta/strings.xml
index f033477..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-ta/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-ta/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"நிகழ்வு இயக்கப்பட்டது"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"நிகழ்வு முடக்கப்பட்டது"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-te/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-te/strings.xml
index 9cb3d98..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-te/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-te/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"ఈవెంట్ సక్రియం చేయబడింది"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"ఈవెంట్ నిష్క్రియం చేయబడింది"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-th/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-th/strings.xml
index 088006f..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-th/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-th/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"เปิดใช้งานกิจกรรมแล้ว"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"ปิดใช้งานกิจกรรมแล้ว"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-tl/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-tl/strings.xml
index 1662cae..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-tl/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-tl/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Na-activate ang Event"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Na-deactivate ang Event"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-tr/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-tr/strings.xml
index 2276c0e..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-tr/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-tr/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Etkinlik Etkinleştirildi"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Etkinlik Devre Dışı Bırakıldı"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-uk/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-uk/strings.xml
index a785998..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-uk/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-uk/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Подію активовано"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Подію дезактивовано"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-ur/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-ur/strings.xml
index b79fb16..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-ur/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-ur/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"ایونٹ فعال ہو گیا"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"ایونٹ غیر فعال ہو گیا"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-uz/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-uz/strings.xml
index 90a57f1..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-uz/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-uz/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Tadbir faollashtirildi"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Tadbir faolsizlashtirildi"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-vi/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-vi/strings.xml
index 9783ad1..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-vi/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-vi/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Đã kích hoạt sự kiện"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Đã hủy kích hoạt sự kiện"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-zh-rCN/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-zh-rCN/strings.xml
index 7f24c2d..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-zh-rCN/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-zh-rCN/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"事件已启用"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"事件已停用"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-zh-rHK/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-zh-rHK/strings.xml
index 63e8dba..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-zh-rHK/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-zh-rHK/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"事件已啟用"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"事件已停用"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-zh-rTW/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-zh-rTW/strings.xml
index 63e8dba..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-zh-rTW/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-zh-rTW/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"事件已啟用"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"事件已停用"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values-zu/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values-zu/strings.xml
index dc6ff74..31e4843 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values-zu/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values-zu/strings.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="event_activated" msgid="898769110153284759">"Umcimbi wenziwe wasebenza"</string>
-    <string name="event_deactivated" msgid="6491686083589272594">"Umcimbi wenziwe wangasebenzi"</string>
+    <!-- no translation found for event_activated (4737012691463830969) -->
+    <skip />
+    <!-- no translation found for event_deactivated (4504516573331084650) -->
+    <skip />
 </resources>
diff --git a/java/com/android/incallui/answer/impl/hint/res/values/strings.xml b/java/com/android/incallui/answer/impl/hint/res/values/strings.xml
index d76021a..3b614d4 100644
--- a/java/com/android/incallui/answer/impl/hint/res/values/strings.xml
+++ b/java/com/android/incallui/answer/impl/hint/res/values/strings.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
-  <string name="event_activated">Event Activated</string>
-  <string name="event_deactivated">Event Deactvated</string>
+  <string name="event_activated">&#x1f408;Paw mode enabled&#x1F415;</string>
+  <string name="event_deactivated">Paw mode disabled</string>
 </resources>
\ No newline at end of file
diff --git a/java/com/android/incallui/answer/impl/res/drawable-hdpi/ic_end_answer_32.png b/java/com/android/incallui/answer/impl/res/drawable-hdpi/ic_end_answer_32.png
new file mode 100644
index 0000000..c1390dd
--- /dev/null
+++ b/java/com/android/incallui/answer/impl/res/drawable-hdpi/ic_end_answer_32.png
Binary files differ
diff --git a/java/com/android/incallui/answer/impl/res/drawable-mdpi/ic_end_answer_32.png b/java/com/android/incallui/answer/impl/res/drawable-mdpi/ic_end_answer_32.png
new file mode 100644
index 0000000..9f9a220
--- /dev/null
+++ b/java/com/android/incallui/answer/impl/res/drawable-mdpi/ic_end_answer_32.png
Binary files differ
diff --git a/java/com/android/incallui/answer/impl/res/drawable-xhdpi/ic_end_answer_32.png b/java/com/android/incallui/answer/impl/res/drawable-xhdpi/ic_end_answer_32.png
new file mode 100644
index 0000000..3869c3a
--- /dev/null
+++ b/java/com/android/incallui/answer/impl/res/drawable-xhdpi/ic_end_answer_32.png
Binary files differ
diff --git a/java/com/android/incallui/answer/impl/res/drawable-xxhdpi/ic_end_answer_32.png b/java/com/android/incallui/answer/impl/res/drawable-xxhdpi/ic_end_answer_32.png
new file mode 100644
index 0000000..e6e046a
--- /dev/null
+++ b/java/com/android/incallui/answer/impl/res/drawable-xxhdpi/ic_end_answer_32.png
Binary files differ
diff --git a/java/com/android/incallui/answer/impl/res/drawable-xxxhdpi/ic_end_answer_32.png b/java/com/android/incallui/answer/impl/res/drawable-xxxhdpi/ic_end_answer_32.png
new file mode 100644
index 0000000..882a7ec
--- /dev/null
+++ b/java/com/android/incallui/answer/impl/res/drawable-xxxhdpi/ic_end_answer_32.png
Binary files differ
diff --git a/java/com/android/incallui/answer/impl/res/layout/fragment_incoming_call.xml b/java/com/android/incallui/answer/impl/res/layout/fragment_incoming_call.xml
index 042e7b8..2e42a6a 100644
--- a/java/com/android/incallui/answer/impl/res/layout/fragment_incoming_call.xml
+++ b/java/com/android/incallui/answer/impl/res/layout/fragment_incoming_call.xml
@@ -157,4 +157,13 @@
     android:visibility="invisible"
     tools:visibility="visible"/>
 
+  <com.android.incallui.answer.impl.affordance.SwipeButtonView
+      android:id="@+id/incoming_secondary_button2"
+      android:layout_width="56dp"
+      android:layout_height="56dp"
+      android:layout_gravity="bottom|end"
+      android:scaleType="center"
+      android:src="@drawable/ic_end_answer_32"
+      android:visibility="invisible"
+      tools:visibility="visible"/>
 </com.android.incallui.answer.impl.AffordanceHolderLayout>
diff --git a/java/com/android/incallui/answer/impl/res/values-af/strings.xml b/java/com/android/incallui/answer/impl/res/values-af/strings.xml
index f0365fb..2c08f5f 100644
--- a/java/com/android/incallui/answer/impl/res/values-af/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-af/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Swiep vanaf ikoon om met boodskap af te wys"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Swiep vanaf ikoon om as \'n oudio-oproep te antwoord"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Swiep op om te antwoord en die voortgesette oproep aan te hou"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Swiep op om te antwoord en die aangehoude oproep te beëindig"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Swiep van die ikoon af om die inkomende oproep te antwoord en die voortgesette oproep te beëindig"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Skryf jou eie …"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Selfoon"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Luidsprekerfoon"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Stuur"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Weier hierdie oproep met ’n boodskap"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Antwoord as oudio-oproep"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Antwoord die inkomende oproep en beëindig die voortgesette oproep"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Weier met boodskap"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Antwoord as oudio-oproep"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Antwoord die inkomende oproep en beëindig die voortgesette oproep"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video is af"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Swiep op met twee vingers om te antwoord. Swiep af met twee vingers om af te wys."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Belangrike oproep"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-am/strings.xml b/java/com/android/incallui/answer/impl/res/values-am/strings.xml
index 4a3d9e8..008273e 100644
--- a/java/com/android/incallui/answer/impl/res/values-am/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-am/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"በመልዕክት ላለመቀበል ከአዶ ያንሸራቱ"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"እንደ ኦዲዮ ጥሪ ለመመለስ ከአዶ ያንሸራቱ"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"በመካሄድ ላይ ያለ ጥሪ ለመመለስ እና ለመያዝ ወደ ላይ ያንሸራትቱ"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"በይቆይ ላይ ያለ ጥሪ ለመመለስ እና ለመጨረስ ወደ ላይ ያንሸራትቱ"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"ገቢ ጥሪን ለመመለስና እየተካሄዳ ያለ ጥሪ ለመጨረስ ከአዶ ያንሸራቱ"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"የእራስዎን ይጻፉ…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"የስልክ እጀታ"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"ባለድምጽማጉያ ስልክ"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"ላክ"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"መልዕክት በመላክ ይህን ጥሪ አይቀበሉ"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"እንደ ኦዲዮ ጥሪ ይመልሱ"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"ገቢ ጥሪን ይመልሱ እንዲሁም በመካሄድ ላይ ያለ ጥሪ ይጨርሱ"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"መልዕክት በመላክ አይቀበሉ"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"እንደ ኦዲዮ ጥሪ ይመልሱ"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"ገቢ ጥሪን ይመልሱ እንዲሁም በመካሄድ ላይ ያለ ጥሪ ይጨርሱ"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"ቪዲዮ ጠፍቷል"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"ለመመለስ በሁለት ጣት ወደ ላይ ያንሸራቱ። ላለመቀበል በሁለት ጣት ወደ ታች ያንሸራቱ።"</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"ተፈላጊ ጥሪ"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-ar/strings.xml b/java/com/android/incallui/answer/impl/res/values-ar/strings.xml
index ccc3969..eb0d45c 100644
--- a/java/com/android/incallui/answer/impl/res/values-ar/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-ar/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"تمرير سريع من الرمز للرفض مع إرسال رسالة"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"مرّر بشكل سريع من الرمز للرد بمكالمة صوتية"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"التمرير السريع لأعلى للرد وتعليق المكالمة الجارية"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"التمرير السريع لأعلى للرد وإنهاء المكالمة قيد التعليق"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"التمرير السريع من الرمز للرد على المكالمات الواردة وإنهاء المكالمة الجارية"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"اكتب ردك…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"جوّال"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"مكبر الصوت"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"إرسال"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"رفض هذه المكالمة مع إرسال رسالة"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"الرد بمكالمة صوتية"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"الرد على مكالمة واردة وإنهاء مكالمة جارية"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"الرفض مع إرسال رسالة"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"الرد بمكالمة صوتية"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"الرد على مكالمة واردة وإنهاء مكالمة جارية"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"الفيديو قيد إيقاف التشغيل"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"مرر بأصبعين لأعلى للرد. مرر بأصبعين لأسفل للرفض."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"مكالمة مهمة"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-az/strings.xml b/java/com/android/incallui/answer/impl/res/values-az/strings.xml
index 7f11358..2bd02ac 100644
--- a/java/com/android/incallui/answer/impl/res/values-az/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-az/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Mesaj göndərərək imtina etmək üçün ikonadan sürüşdürün"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Audio çağrı kimi cavab vermək üçün ikonadan sürüşdürün"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Cavab vermək üçün yuxarı sürüşdürün və gedən zəngi gözlədin"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Cavab vermək üçün yuxarı sürüşdürün və gözləmədə olan zəngi bitirin"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Gələn zəngə cavab vermək üçün ikonadan sürüşdürün və gedən zəngi bitirin"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Özünüzünkünü yazın…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Dəstək"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Spiker"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Göndərin"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Bu zəngi mesajla rədd edin"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Audio çağrı olaraq cavab verin"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Gələn zəngə cavab verin və gedən zəngi bitirin"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Mesaj ilə rədd edin"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Audio çağrı olaraq cavab verin"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Gələn zəngə cavab verin və gedən zəngi bitirin"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Videoları deaktivdir"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Cavab vermək üçün iki barmaq ilə yuxarı sürüşdürün. İmtina etmək üçün iki barmaq ilə aşağı sürüşdürün."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Vacib zəng"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-be/strings.xml b/java/com/android/incallui/answer/impl/res/values-be/strings.xml
index 50d491f..52dc74f 100644
--- a/java/com/android/incallui/answer/impl/res/values-be/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-be/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Правядзіце ад значка, каб адхіліць, адправіўшы SMS"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Правядзіце пальцам ад значка, каб адказаць на аўдыявыклік"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Правядзіце пальцам уверх, каб адказаць і ўтрымаць бягучы выклік"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Правядзіце пальцам уверх, каб адказаць і завяршыць выклік на ўтрыманні"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Правядзіце пальцам ад значка, каб адказаць на ўваходны вынік і завяршыць бягучы выклік"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Свой варыянт..."</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Тэлефон"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Вонкавы дынамік"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Адправіць"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Адхіліць гэты выклік, адправіўшы паведамленне"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Адказаць аўдыявыклікам"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Адказаць на ўваходны вынік і завяршыць бягучы выклік"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Адхіліць, адправіўшы паведамленне"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Адказаць аўдыявыклікам"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Адказаць на ўваходны вынік і завяршыць бягучы выклік"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Відэа адключана"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Правядзіце двума пальцамі ўверх, каб адказаць; двума пальцамі ўніз – каб адхіліць."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Важны выклік"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-bg/strings.xml b/java/com/android/incallui/answer/impl/res/values-bg/strings.xml
index 197151d..972ad54 100644
--- a/java/com/android/incallui/answer/impl/res/values-bg/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-bg/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Прекарайте пръст от иконата, за да отхвърлите със съобщение"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Прекарайте пръст от иконата, за да отговорите като аудиообаждане"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Прекарайте пръст нагоре, за да отговорите и да задържите текущото обаждане"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Прекарайте пръст нагоре, за да отговорите и да завършите задържаното обаждане"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Прекарайте пръст нагоре, за да отговорите на входящото обаждане и да завършите текущото"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Напишете свое собствено…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Слушалка"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Високоговорител"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Изпращане"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Отхвърляне на това обаждане със съобщение"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Отговаряне като аудиообаждане"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Отговор на входящото обаждане и завършване на текущото"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Отхвърляне със съобщение"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Отговаряне като аудиообаждане"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Отговор на входящото обаждане и завършване на текущото"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Видеото е изключено"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Прекарайте два пръста нагоре за отговаряне, надолу за отхвърляне."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Важно обаждане"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-bn/strings.xml b/java/com/android/incallui/answer/impl/res/values-bn/strings.xml
index 2d8ec80..073d3de 100644
--- a/java/com/android/incallui/answer/impl/res/values-bn/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-bn/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"বার্তা সহ প্রত্যাখ্যান করতে আইকন থেকে সোয়াইপ করুন"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"একটি অডিও কল হিসেবে উত্তর দিতে আইকন থেকে সোয়াইপ করুন"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"উত্তর দিতে এবং চালু থাকা কল হোল্ড করতে উপরের দিকে সোয়াইপ করুন"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"উত্তর দিতে এবং হোল্ডে থাকা কল কেটে দিতে উপরের দিকে সোয়াইপ করুন"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"আগত কলের উত্তর দিতে এবং চালু থাকা কল কেটে দিতে আইকন থেকে সোয়াইপ করুন"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"আপনার নিজের পছন্দ মত লিখুন…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"হ্যান্ডসেট"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"স্পিকারফোন"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"পাঠান"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"একটি বার্তা সহ এই কলটি প্রত্যাখ্যান করুন"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"অডিও কল হিসেবে উত্তর দিন"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"আগত কলের উত্তর এবং চালু থাকা কল কেটে দিন"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"বার্তা সহ প্রত্যাখ্যান করুন"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"অডিও কল হিসেবে উত্তর দিন"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"আগত কলের উত্তর এবং চালু থাকা কল কেটে দিন"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"ভিডিও বন্ধ আছে"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"উত্তর দিতে উপরের দিকে, প্রত্যাখ্যান করতে নিচের দিকে দুই আঙুল দিয়ে সোয়াইপ করুন৷"</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"গুরুত্বপূর্ণ কল"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-bs/strings.xml b/java/com/android/incallui/answer/impl/res/values-bs/strings.xml
index 49315e9..b8b131a 100644
--- a/java/com/android/incallui/answer/impl/res/values-bs/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-bs/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Prevucite preko ikone da odbijete porukom"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Prevucite preko ikone da prihvatite kao audiopoziv"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Prevucite nagore da odgovorite na poziv koji je u toku i da ga stavite na čekanje"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Prevucite nagore da odgovorite na poziv i završite poziv koji je na čekanju"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Prevucite ikonu da odgovorite na dolazni poziv i završite poziv koji je u toku"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Napišite svoj…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Slušalice"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Zvučnik"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Pošalji"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Odbij poziv porukom"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Prihvati kao audiopoziv"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Odgovorite na dolazni poziv i završite poziv koji je u toku"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Odbij porukom"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Prihvati kao audiopoziv"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Odgovorite na dolazni poziv i završite poziv koji je u toku"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Kamera je isključena"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Prevucite pomoću dva prsta prema gore da odgovorite. Prevucite pomoću dva prsta prema dolje da odbijete."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Važan poziv"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-ca/strings.xml b/java/com/android/incallui/answer/impl/res/values-ca/strings.xml
index 0dc7a07..f73aed7 100644
--- a/java/com/android/incallui/answer/impl/res/values-ca/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-ca/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Llisca des de la icona per rebutjar la trucada amb un missatge"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Llisca des de la icona per respondre amb una trucada d\'àudio"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Llisca cap amunt per respondre a la trucada i mantenir en espera l\'actual"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Llisca cap amunt per respondre a la trucada i finalitzar l\'actual"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Llisca des de la icona per respondre a la trucada entrant i finalitzar l\'actual"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Escriu la teva…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Auricular"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Telèfon amb altaveu"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Envia"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Rebutja aquesta trucada amb un missatge"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Respon amb una trucada d\'àudio"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Respon a la trucada entrant i finalitza l\'actual"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Rebutja amb un missatge"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Respon amb una trucada d\'àudio"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Respon a la trucada entrant i finalitza l\'actual"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"El vídeo està desactivat"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Llisca amb dos dits cap amunt per respondre a la trucada i cap avall per rebutjar-la."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Trucada important"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-cs/strings.xml b/java/com/android/incallui/answer/impl/res/values-cs/strings.xml
index c077b4a..4672a34 100644
--- a/java/com/android/incallui/answer/impl/res/values-cs/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-cs/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Přejetím prstem od ikony hovor odmítnete a pošlete zprávu"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Přejetím prstem od ikony hovor přijmete jako hlasový hovor"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Přejetím prstem nahoru hovor přijmete a probíhající hovor podržíte"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Přejetím prstem nahoru hovor přijmete a podržený hovor ukončíte"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Přejetím prstem od ikony hovor přijmete a probíhající hovor ukončíte"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Napište vlastní odpověď…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Sluchátko"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Hlasitý odposlech"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Odeslat"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Odmítnout hovor a poslat zprávu"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Přijmout jako hlasový hovor"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Přijmout příchozí hovor a ukončit probíhající hovor"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Odmítnout a poslat zprávu"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Přijmout jako hlasový hovor"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Přijmout příchozí hovor a ukončit probíhající hovor"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video je vypnuté"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Přejetím dvěma prsty nahoru hovor přijmete. Přejetím dvěma prsty dolů jej odmítnete."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Důležitý hovor"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-da/strings.xml b/java/com/android/incallui/answer/impl/res/values-da/strings.xml
index 5b95608..904b88c 100644
--- a/java/com/android/incallui/answer/impl/res/values-da/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-da/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Stryg fra ikonet for at afvise med en besked"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Stryg fra ikonet for at besvare som et taleopkald"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Stryg op for at besvare og sætte det igangværende opkald i venteposition"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Stryg op for at besvare og afslutte opkaldet i venteposition"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Stryg fra ikonet for at besvare det indgående opkald og afslutte opkaldet i venteposition"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Skriv dit eget…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Håndsæt"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Medhør"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Send"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Afvis dette opkald med en besked"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Besvar som taleopkald"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Besvar det indgående opkald, og afslut det igangværende opkald"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Afvis med en besked"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Besvar som taleopkald"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Besvar det indgående opkald, og afslut det igangværende opkald"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video er deaktiveret"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Stryg op med to fingre for at besvare. Stryg ned med to fingre for at afvise."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Vigtigt opkald"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-de/strings.xml b/java/com/android/incallui/answer/impl/res/values-de/strings.xml
index fc3514e..6ea77eb 100644
--- a/java/com/android/incallui/answer/impl/res/values-de/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-de/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Zum Ablehnen mit Nachricht vom Symbol wegwischen"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Zum Annehmen als Sprachanruf vom Symbol wegwischen"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Nach oben wischen, um den Anruf anzunehmen und den laufenden Anruf zu halten"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Nach oben wischen, um den Anruf anzunehmen und den gehaltenen Anruf zu beenden"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Vom Symbol wegwischen, um den eingehenden Anruf anzunehmen und den laufenden Anruf zu beenden"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Eigene Antwort schreiben…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Mobiltelefon"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Freisprechfunktion"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Senden"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Diesen Anruf mit einer Nachricht ablehnen"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Als Sprachanruf annehmen"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Eingehenden Anruf annehmen und laufenden Anruf beenden"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Mit Nachricht ablehnen"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Als Sprachanruf annehmen"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Eingehenden Anruf annehmen und laufenden Anruf beenden"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video deaktiviert"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Zum Annehmen mit zwei Fingern nach oben wischen. Zum Ablehnen mit zwei Fingern nach unten wischen."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Wichtiger Anruf"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-el/strings.xml b/java/com/android/incallui/answer/impl/res/values-el/strings.xml
index 12226b1..bc1fa1b 100644
--- a/java/com/android/incallui/answer/impl/res/values-el/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-el/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Σύρετε από το εικονίδιο προς τα έξω για απόρριψη του μηνύματος"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Σύρετε από το εικονίδιο προς τα έξω για απάντηση ως φωνητική κλήση"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Σύρετε προς τα επάνω για απάντηση και κράτηση της κλήσης σε εξέλιξη"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Σύρετε προς τα επάνω για απάντηση και τερματισμό της κλήσης σε εξέλιξη"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Σύρετε από το εικονίδιο προς τα έξω για απάντηση της εισερχόμενης και τερματισμό της κλήσης σε εξέλιξη"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Συντάξτε το δικό σας…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Συσκευή"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Ανοιχτή ακρόαση"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Αποστολή"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Απόρριψη αυτής της κλήσης με μήνυμα"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Απάντηση ως φωνητική κλήση"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Απάντηση εισερχόμενης κλήσης και τερματισμός εκείνης σε εξέλιξη"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Απόρριψη με μήνυμα"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Απάντηση ως φωνητική κλήση"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Απάντηση εισερχόμενης κλήσης και τερματισμός εκείνης σε εξέλιξη"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Το βίντεο είναι ανενεργό"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Σύρετε με δύο δάχτυλα, προς τα επάνω για απάντηση και προς τα κάτω για απόρριψη."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Σημαντική κλήση"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-en-rAU/strings.xml b/java/com/android/incallui/answer/impl/res/values-en-rAU/strings.xml
index f749fb6..4566c41 100644
--- a/java/com/android/incallui/answer/impl/res/values-en-rAU/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-en-rAU/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Swipe from icon to decline with a message"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Swipe from icon to answer as an audio call"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Swipe up to answer and hold ongoing call"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Swipe up to answer and end call on hold"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Swipe from icon to answer incoming call and end ongoing call"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Write your own…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Handset"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Speakerphone"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Send"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Reject this call with a message"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Answer as an audio call"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Answer incoming call and end ongoing call"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Reject with a message"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Answer as an audio call"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Answer incoming call and end ongoing call"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video is off"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Swipe up with two fingers to answer. Swipe down with two fingers to decline."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Important call"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-en-rGB/strings.xml b/java/com/android/incallui/answer/impl/res/values-en-rGB/strings.xml
index f749fb6..4566c41 100644
--- a/java/com/android/incallui/answer/impl/res/values-en-rGB/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-en-rGB/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Swipe from icon to decline with a message"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Swipe from icon to answer as an audio call"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Swipe up to answer and hold ongoing call"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Swipe up to answer and end call on hold"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Swipe from icon to answer incoming call and end ongoing call"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Write your own…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Handset"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Speakerphone"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Send"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Reject this call with a message"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Answer as an audio call"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Answer incoming call and end ongoing call"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Reject with a message"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Answer as an audio call"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Answer incoming call and end ongoing call"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video is off"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Swipe up with two fingers to answer. Swipe down with two fingers to decline."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Important call"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-en-rIN/strings.xml b/java/com/android/incallui/answer/impl/res/values-en-rIN/strings.xml
index f749fb6..4566c41 100644
--- a/java/com/android/incallui/answer/impl/res/values-en-rIN/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-en-rIN/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Swipe from icon to decline with a message"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Swipe from icon to answer as an audio call"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Swipe up to answer and hold ongoing call"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Swipe up to answer and end call on hold"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Swipe from icon to answer incoming call and end ongoing call"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Write your own…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Handset"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Speakerphone"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Send"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Reject this call with a message"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Answer as an audio call"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Answer incoming call and end ongoing call"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Reject with a message"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Answer as an audio call"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Answer incoming call and end ongoing call"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video is off"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Swipe up with two fingers to answer. Swipe down with two fingers to decline."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Important call"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-es-rUS/strings.xml b/java/com/android/incallui/answer/impl/res/values-es-rUS/strings.xml
index 090818a..123f3c3 100644
--- a/java/com/android/incallui/answer/impl/res/values-es-rUS/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-es-rUS/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Desliza desde el ícono para rechazar la llamada con un mensaje"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Desliza desde el ícono para responder como una llamada de audio"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Desliza el dedo hacia arriba para responder y poner en espera la llamada en curso"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Desliza el dedo hacia arriba para responder y finalizar la llamada en espera"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Desliza el dedo desde el ícono para responder la llamada entrante y finalizar la llamada en curso"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Escribe tu propia respuesta…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Auricular"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Altavoz"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Enviar"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Rechazar esta llamada con un mensaje"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Responder como llamada de audio"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Responder la llamada entrante y finalizar la llamada en curso"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Rechazar con un mensaje"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Responder como llamada de audio"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Responder la llamada entrante y finalizar la llamada en curso"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"El video está desactivado"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Desliza dos dedos hacia arriba para responder la llamada o hacia abajo para rechazarla."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Llamada importante"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-es/strings.xml b/java/com/android/incallui/answer/impl/res/values-es/strings.xml
index 070f8c5..fd80cf5 100644
--- a/java/com/android/incallui/answer/impl/res/values-es/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-es/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Desliza desde el icono para rechazar con mensaje"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Desliza desde el icono para responder como una llamada de audio"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Desliza el dedo hacia arriba para responder a una llamada y para ponerla en espera"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Desliza el dedo hacia arriba para responder a una llamada y para finalizar una llamada en espera"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Desliza el dedo desde el icono para responder a una llamada entrante y para finalizar una llamada"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Escribe tu propia respuesta…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Auricular"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Altavoz"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Enviar"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Rechaza esta llamada con un mensaje"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Responde como llamada de audio"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Responder a una llamada entrante y finalizar una llamada"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Rechaza con un mensaje"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Responde como llamada de audio"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Responder a una llamada entrante y finalizar una llamada"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"El vídeo está desconectado"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Desliza dos dedos hacia arriba para responder o hacia abajo para rechazar la llamada."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Llamada importante"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-et/strings.xml b/java/com/android/incallui/answer/impl/res/values-et/strings.xml
index 1dae6c7..8448ddc 100644
--- a/java/com/android/incallui/answer/impl/res/values-et/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-et/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Sõnumiga keeldumiseks pühkige ikoonilt eemale"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Helikõnena vastamiseks pühkige ikoonilt eemale"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Pühkige üles, et vastata ja käimasolev kõne ootele panna"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Pühkige üles, et vastata ja ootel kõne lõpetada"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Pühkige ikoonilt eemale, et sissetulevale kõnele vastata ja käimasolev kõne lõpetada"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Kirjutage ise …"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Käsitelefon"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Valjuhääldi"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Saada"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Keeldu kõnest ja saada sõnum"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Vasta helikõnena"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Vastake sissetulevale kõnele ja lõpetage käimasolev kõne"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Keeldumine ja sõnumi saatmine"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Vastamine helikõnena"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Vastake sissetulevale kõnele ja lõpetage käimasolev kõne"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video on välja lülitatud"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Vastamiseks pühkige kahe sõrmega üles. Keeldumiseks pühkige kahe sõrmega alla."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Tähtis kõne"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-eu/strings.xml b/java/com/android/incallui/answer/impl/res/values-eu/strings.xml
index c0e2bb9..82d7efe 100644
--- a/java/com/android/incallui/answer/impl/res/values-eu/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-eu/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Pasatu hatza ikonotik baztertzeko eta mezu bat bidaltzeko"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Pasatu hatza ikonotik audio-dei gisa erantzuteko"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Pasatu hatza gorantz erantzuteko eta uneko deia zain jartzeko"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Pasatu hatza gorantz erantzuteko eta zain dagoen deia amaitzeko"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Pasatu hatza ikonotik deiari erantzuteko eta uneko deia amaitzeko"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Idatzi erantzuna…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Telefonoa"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Bozgorailua"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Bidali"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Baztertu dei hau eta bidali mezu bat"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Erantzun audio-dei gisa"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Erantzun deiari eta amaitu uneko deia"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Baztertu eta bidali mezu bat"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Erantzun audio-dei gisa"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Erantzun deiari eta amaitu uneko deia"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Desaktibatuta dago kamera"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Pasatu bi hatz gora erantzuteko; eta behera, baztertzeko."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Dei garrantzitsua"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-fa/strings.xml b/java/com/android/incallui/answer/impl/res/values-fa/strings.xml
index 4bc85ec..e39a015 100644
--- a/java/com/android/incallui/answer/impl/res/values-fa/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-fa/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"برای رد کردن با ارسال پیام، انگشتتان را تند از روی نماد بکشید"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"برای پاسخ دادن با تماس صوتی، انگشتتان را تند از روی نماد بکشید"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"برای پاسخ دادن و در انتظار نگه‌داشتن تماس درحال انجام، تند به بالا بکشید"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"برای پاسخ دادن و پایان دادن به تماس در انتظار، تند به بالا بکشید"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"برای پاسخ دادن به تماس ورودی و پایان دادن به تماس درحال انجام، صفحه را تند از نماد بکشید"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"بنویسید..."</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"گوشی"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"بلندگوی تلفن"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"ارسال"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"رد کردن تماس با ارسال پیام"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"پاسخ با تماس صوتی"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"پاسخ دادن به تماس ورودی و پایان دادن به تماس درحال انجام"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"رد کردن با ارسال پیام"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"پاسخ با تماس صوتی"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"پاسخ دادن به تماس ورودی و پایان دادن به تماس درحال انجام"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"ویدیو خاموش است"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"برای پاسخ‌گویی، دو انگشتتان را تند به بالا بکشید و برای رد کردن به پایین بکشید."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"تماس مهم"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-fi/strings.xml b/java/com/android/incallui/answer/impl/res/values-fi/strings.xml
index 2ad1d90..e227986 100644
--- a/java/com/android/incallui/answer/impl/res/values-fi/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-fi/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Hylkää ja kirjoita viesti pyyhkäisemällä kuvaketta."</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Vastaa äänipuheluna pyyhkäisemällä kuvaketta."</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Laita nykyinen puhelu pitoon ja vastaa saapuvaan puheluun pyyhkäisemällä ylös"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Lopeta nykyinen puhelu ja vastaa saapuvaan puheluun pyyhkäisemällä ylös"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Lopeta nykyinen puhelu ja vastaa saapuvaan puheluun pyyhkäisemällä kuvakkeesta"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Kirjoita oma…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Matkapuhelin"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Kaiutinpuhelin"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Lähetä"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Hylkää tämä puhelu viestillä."</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Vastaa ja aloita äänipuhelu."</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Lopeta nykyinen puhelu ja vastaa saapuvaan puheluun"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Hylkää viestillä"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Vastaa ja aloita äänipuhelu"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Lopeta nykyinen puhelu ja vastaa saapuvaan puheluun"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Videokuva ei ole käytössä."</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Vastaa pyyhkäisemällä ylös kahdella sormella. Hylkää pyyhkäisemällä alas kahdella sormella."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Tärkeä puhelu"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-fr-rCA/strings.xml b/java/com/android/incallui/answer/impl/res/values-fr-rCA/strings.xml
index 1fc267a..10a7a6a 100644
--- a/java/com/android/incallui/answer/impl/res/values-fr-rCA/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-fr-rCA/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Balayez à partir de l\'icône pour refuser avec un message"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Balayez à partir de l\'icône pour répondre par appel audio"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Balayez l\'écran vers le haut pour répondre et mettre en attente l\'appel en cours"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Balayez l\'écran vers le haut pour répondre et mettre fin à l\'appel en attente"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Balayez l\'écran à partir de l\'icône pour répondre à l\'appel entrant et mettre fin à l\'appel en cours"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Réponse personnalisée…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Combiné"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Téléphone à haut-parleur"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Envoyer"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Refuser l\'appel et envoyer un message à l\'appelant"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Répondre par appel audio"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Répondre à l\'appel entrant et mettre fin à l\'appel en cours"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Refuser avec un message"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Répondre par appel audio"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Répondre à l\'appel entrant et mettre fin à l\'appel en cours"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"La vidéo est désactivée"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Balayez vers le haut avec deux doigts pour répondre. Balayez vers le bas avec deux doigts pour refuser."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Appel important"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-fr/strings.xml b/java/com/android/incallui/answer/impl/res/values-fr/strings.xml
index 8da3bba..cbd20c9 100644
--- a/java/com/android/incallui/answer/impl/res/values-fr/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-fr/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Appuyer sur l\'icône, puis balayer l\'écran pour refuser l\'appel en envoyant un message"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Appuyer sur l\'icône, puis balayer l\'écran pour répondre via un appel audio"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Balayer l\'écran vers le haut pour répondre et mettre en attente l\'appel en cours"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Balayer l\'écran vers le haut pour répondre et mettre fin à l\'appel en attente"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Appuyer sur l\'icône, puis balayer l\'écran pour répondre à l\'appel entrant et mettre fin à l\'appel en cours"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Réponse personnalisée"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Combiné"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Haut-parleur"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Envoyer"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Refuser cet appel et envoyer un message à l\'appelant"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Répondre via un appel audio"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Répondre à l\'appel entrant et mettre fin à l\'appel en cours"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Refuser avec envoi de message"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Répondre via un appel audio"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Répondre à l\'appel entrant et mettre fin à l\'appel en cours"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"La vidéo est désactivée."</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Balayez l\'écran avec deux doigts vers le haut pour répondre, ou vers le bas pour refuser l\'appel."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Appel important"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-gl/strings.xml b/java/com/android/incallui/answer/impl/res/values-gl/strings.xml
index 876ad13..2025f41 100644
--- a/java/com/android/incallui/answer/impl/res/values-gl/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-gl/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Pasar o dedo desde a icona para rexeitar cunha mensaxe"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Pasar o dedo desde a icona para responder como chamada de audio"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Pasa o dedo cara arriba para responder e poñer en espera a chamada en curso"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Pasa o dedo cara arriba para responder e finalizar a chamada en espera"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Pasa o dedo desde a icona para responder á chamada entrante e finalizar a chamada en curso"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Escribe a túa propia…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Teléfono"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Altofalante"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Enviar"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Rexeitar a chamada cunha mensaxe"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Responder como chamada de audio"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Responder á chamada entrante e finalizar chamada en curso"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Rexeitar con mensaxe"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Responder como chamada de audio"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Responde á chamada entrante e finaliza a chamada en curso"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"O vídeo está desactivado"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Pasa dous dedos cara arriba para responder a chamada ou cara abaixo para rexeitala."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Chamada importante"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-gu/strings.xml b/java/com/android/incallui/answer/impl/res/values-gu/strings.xml
index 034cbd8..7b7e41d 100644
--- a/java/com/android/incallui/answer/impl/res/values-gu/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-gu/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"સંદેશ સાથે નકારવા માટે આઇકનથી સ્વાઇપ કરો"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"ઑડિઓ કૉલનો જવાબ આપવા માટે આઇકનથી સ્વાઇપ કરો"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"જવાબ આપવા અને ચાલુ કૉલ હૉલ્ડ પર રાખવા માટે ઉપર સ્વાઇપ કરો"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"જવાબ આપવા અને હૉલ્ડ પરનો કૉલ સમાપ્ત કરવા માટે ઉપર સ્વાઇપ કરો"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"ઇનકમિંગ કૉલનો જવાબ આપવા અને ચાલુ કૉલ સમાપ્ત કરવા માટે આઇકનમાંથી સ્વાઇપ કરો"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"તમારો પોતાનો સંદેશ લખો…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"હેન્ડસેટ"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"સ્પીકરફોન"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"મોકલો"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"આ કૉલને સંદેશ સાથે નકારો"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"ઑડિઓ કૉલ તરીકે જવાબ આપો"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"ઇનકમિંગ કૉલનો જવાબ આપો અને ચાલુ કૉલ સમાપ્ત કરો"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"સંદેશ સાથે નકારો"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"ઑડિઓ કૉલ તરીકે જવાબ આપો"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"ઇનકમિંગ કૉલનો જવાબ આપો અને ચાલુ કૉલ સમાપ્ત કરો"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"વિડિઓ બંધ છે"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"જવાબ આપવા માટે બે આંગળી ઉપર સ્વાઇપ કરો. નકારવા માટે બે આંગળી નીચે સ્વાઇપ કરો."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"મહત્વપૂર્ણ કૉલ"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-hi/strings.xml b/java/com/android/incallui/answer/impl/res/values-hi/strings.xml
index 0190f07..6778511 100644
--- a/java/com/android/incallui/answer/impl/res/values-hi/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-hi/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"संदेश के साथ अस्वीकार करने के लिए आइकन से स्वाइप करें"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"ऑडियो कॉल के रूप में उत्तर देने के लिए आइकन से स्वाइप करें"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"जवाब देने और जारी कॉल को होल्ड पर रखने के लिए ऊपर स्वाइप करें"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"जवाब देने और होल्ड पर रखा कॉल समाप्त करने के लिए ऊपर स्वाइप करें"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"इनकमिंग कॉल का जवाब देने और जारी कॉल समाप्त करने के लिए आइकन से स्वाइप करें"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"अपना स्वयं का लिखें…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"हैंडसेट"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"स्‍पीकर फ़ोन"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"भेजें"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"इस कॉल को संदेश के साथ अस्वीकार करें"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"ऑडियो कॉल के रूप में उत्तर दें"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"इनकमिंग कॉल का जवाब दें और जारी कॉल समाप्त करें"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"संदेश के साथ अस्वीकार करें"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"ऑडियो कॉल के रूप में उत्तर दें"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"इनकमिंग कॉल का जवाब दें और जारी कॉल समाप्त करें"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"वीडियो बंद है"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"जवाब देने के लिए दो अंगुलियों से ऊपर स्वाइप करें. अस्वीकार करने के लिए दो अंगुलियों से नीचे स्वाइप करें."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"महत्वपूर्ण कॉल"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-hr/strings.xml b/java/com/android/incallui/answer/impl/res/values-hr/strings.xml
index 95ca0ef..5f27110 100644
--- a/java/com/android/incallui/answer/impl/res/values-hr/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-hr/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Prijeđite prstom od ikone da biste odbili poruku"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Prijeđite prstom od ikone da biste prihvatili kao audiopoziv"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Prijeđite prstom prema gore za odgovor na poziv i stavljanje poziva u tijeku na čekanje"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Prijeđite prstom prema gore za odgovor na poziv i prekidanje poziva na čekanju"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Prijeđite prstom od ikone da biste prihvatili dolazni poziv i prekinuli poziv u tijeku"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Napišite vlastiti…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Slušalice"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Zvučnik"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Pošalji"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Odbijte ovaj poziv porukom"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Prihvatte kao audiopoziv"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Odgovorite na dolazni poziv i prekinite poziv u tijeku"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Odbij pomoću poruke"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Prihvati kao audiopoziv"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Odgovorite na dolazni poziv i prekinite poziv u tijeku"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Videokamera je isključena"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Prijeđite dvama prstima prema gore za odgovor, a dvama prstima prema dolje za odbijanje."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Važan poziv"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-hu/strings.xml b/java/com/android/incallui/answer/impl/res/values-hu/strings.xml
index 834df54..baf051c 100644
--- a/java/com/android/incallui/answer/impl/res/values-hu/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-hu/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Csúsztassa el az ujját az ikonról az üzenettel való elutasításhoz"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Csúsztassa el az ujját az ikonról a hanghívásként való fogadáshoz"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Csúsztassa felfelé az ujját a hívás fogadásához és a folyamatban lévő hívás tartásához"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Csúsztassa felfelé az ujját a hívás fogadásához és a várakoztatott hívás befejezéséhez"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Csúsztassa el az ujját az ikontól a bejövő hívás fogadásához és a folyamatban lévő hívás befejezéséhez"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Saját válasz írása…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Kézibeszélő"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Kihangosító"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Küldés"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Hívás elutasítása üzenettel"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Fogadás hanghívásként"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"A bejövő hívás fogadása és a folyamatban lévő hívás befejezése"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Elutasítás üzenettel"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Fogadás hanghívásként"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"A bejövő hívás fogadása és a folyamatban lévő hívás befejezése"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"A videokép ki van kapcsolva"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Csúsztassa felfelé két ujját a hívás fogadásához. Csúsztassa lefelé két ujját a hívás elutasításához."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Fontos hívás"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-hy/strings.xml b/java/com/android/incallui/answer/impl/res/values-hy/strings.xml
index db4c99a..3fc30b6 100644
--- a/java/com/android/incallui/answer/impl/res/values-hy/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-hy/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Զանգը մերժելու և հաղորդագրություն ուղարկելու համար պատկերակից մատով մի կողմ սահեցրեք"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Պատկերակից մատով մի կողմ սահեցրեք՝ զանգին անջատված տեսախցիկով պատասխանելու համար"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Սահեցրեք վերև՝ պատասխանելու և ընթացիկ զանգը պահելու համար"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Սահեցրեք վերև՝ պատասխանելու և սպասման մեջ գտնվող զանգն ավարտելու համար"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Պատկերակից մատով մի կողմ սահեցրեք՝ մուտքային զանգին պատասխանելու և ընթացիկ զանգն ավարտելու համար"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Գրեք ձեր պատասխանը…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Լսափող"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Բարձրախոս"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Ուղարկել"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Մերժել զանգը՝ ուղարկելով հաղորդագրություն"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Պատասխանել անջատած տեսախցիկով"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Պատասխանել մուտքային զանգին և ավարտել ընթացիկ զանգը"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Մերժել՝ ուղարկելով հաղորդագրություն"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"պատասխանել անջատված տեսախցիկով"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Պատասխանել մուտքային զանգին և ավարտել ընթացիկ զանգը"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Տեսախցիկն անջատած է"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Պատասխանելու համար երկու մատով սահեցրեք վերև, մերժելու համար՝ ներքև:"</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Կարևոր զանգ"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-in/strings.xml b/java/com/android/incallui/answer/impl/res/values-in/strings.xml
index 7e71543..96e1f17 100644
--- a/java/com/android/incallui/answer/impl/res/values-in/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-in/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Gesek dari ikon untuk menolak dengan pesan"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Geser dari ikon untuk menjawab sebagai panggilan audio"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Geser ke atas untuk menjawab dan menangguhkan panggilan yang sedang berlangsung"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Geser ke atas untuk menjawab dan mengakhiri panggilan yang ditangguhkan"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Geser dari ikon untuk menjawab panggilan masuk dan mengakhiri panggilan yang sedang berlangsung"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Tulis respons Anda sendiri…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Handset"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Speaker ponsel"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Kirim"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Tolak panggilan ini dengan pesan"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Jawab sebagai panggilan audio"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Menjawab panggilan masuk dan mengakhiri panggilan yang sedang berlangsung"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Tolak dengan pesan"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Jawab sebagai panggilan audio"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Menjawab panggilan masuk dan mengakhiri panggilan yang sedang berlangsung"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video nonaktif"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Geser ke atas dengan dua jari untuk menjawab. Geser ke bawah dengan dua jari untuk menolak."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Panggilan penting"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-is/strings.xml b/java/com/android/incallui/answer/impl/res/values-is/strings.xml
index 55acd76..47a4eec 100644
--- a/java/com/android/incallui/answer/impl/res/values-is/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-is/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Strjúktu frá tákninu til að hafna með skilaboðum"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Strjúktu frá tákninu til að svara sem símtali"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Strjúktu upp til að svara og setja yfirstandandi símtal í bið"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Strjúktu upp til að svara og ljúka símtali í bið"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Strjúktu frá tákninu til að svara símtali sem berst og ljúka yfirstandandi símtali"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Skrifaðu þitt eigið…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Símtól"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Hátalari"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Senda"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Hafna símtalinu með skilaboðum"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Svara sem símtali"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Svara símtali sem berst og ljúka yfirstandandi símtali"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Hafna með skilaboðum"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Svara sem símtali"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Svara símtali sem berst og ljúka yfirstandandi símtali"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Slökkt á myndavél"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Strjúktu upp með tveimur fingrum til að svara. Strjúktu niður með tveimur fingrum til að hafna."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Mikilvægt símtal"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-it/strings.xml b/java/com/android/incallui/answer/impl/res/values-it/strings.xml
index 746b6f9..a8fc7cc 100644
--- a/java/com/android/incallui/answer/impl/res/values-it/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-it/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Fai scorrere dall\'icona per rifiutare e inviare un messaggio"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Fai scorrere dall\'icona per rispondere con una chiamata audio"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Fai scorrere verso l\'alto per rispondere e mettere in attesa la chiamata in corso"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Fai scorrere verso l\'alto per rispondere e terminare la chiamata in attesa"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Fai scorrere dall\'icona per rispondere alla chiamata in arrivo e terminare la chiamata in corso"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Scrivi risposta personale…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Ricevitore"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Vivavoce"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Invia"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Rifiuta questa chiamata con un messaggio"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Rispondi con chiamata audio"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Rispondi alla chiamata in arrivo e termina la chiamata in corso"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Rifiuta con messaggio"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Rispondi con chiamata audio"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Rispondi alla chiamata in arrivo e termina la chiamata in corso"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Il video è disattivato"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Fai scorrere con due dita verso l\'alto per rispondere e verso il basso per rifiutare."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Chiamata importante"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-iw/strings.xml b/java/com/android/incallui/answer/impl/res/values-iw/strings.xml
index 0b6d197..19321c7 100644
--- a/java/com/android/incallui/answer/impl/res/values-iw/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-iw/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"החלק מהסמל כדי לדחות עם הודעה"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"החלק מהסמל כדי לענות כשיחת אודיו"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"החלק למעלה כדי לענות ולהעביר את השיחה הנוכחית להמתנה"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"החלק למעלה כדי לענות ולסיים את השיחה שבהמתנה"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"החלק מהסמל כדי לענות לשיחה הנכנסת ולסיים את השיחה הנוכחית"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"כתוב אחת משלך…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"אוזניה"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"רמקול"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"שלח"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"דחה את השיחה הזו עם הודעה"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"ענה כשיחת אודיו"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"מענה לשיחה הנכנסת וסיום השיחה הנוכחית"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"דחה עם הודעה"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"ענה כשיחת אודיו"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"מענה לשיחה הנכנסת וסיום השיחה הנוכחית"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"הווידאו מושבת"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"החלק עם שתי אצבעות למעלה כדי לענות או למטה כדי לדחות."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"שיחה חשובה"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-ja/strings.xml b/java/com/android/incallui/answer/impl/res/values-ja/strings.xml
index d4e971b..7e57307 100644
--- a/java/com/android/incallui/answer/impl/res/values-ja/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-ja/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"アイコンをスワイプして着信を拒否し、メッセージを送信"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"アイコンをスワイプして音声通話として応答"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"上にスワイプして通話に応答し、進行中の通話を保留"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"上にスワイプして通話に応答し、保留中の通話を終了"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"アイコンをスワイプして着信中の通話に応答し、進行中の通話を終了"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"カスタム返信を作成…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"ハンドセット"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"スピーカーフォン"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"送信"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"この着信を拒否してメッセージを送信"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"音声通話として応答"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"着信中の通話に応答し、進行中の通話を終了"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"拒否してメッセージを送信"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"音声通話として応答"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"着信中の通話に応答し、進行中の通話を終了"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"ビデオ: OFF"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"応答するには 2 本の指で上にスワイプ、拒否するには 2 本の指で下にスワイプします。"</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"重要な通話"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-ka/strings.xml b/java/com/android/incallui/answer/impl/res/values-ka/strings.xml
index 37ad7f8..861e85c 100644
--- a/java/com/android/incallui/answer/impl/res/values-ka/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-ka/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"გადაუსვით ხატულადან შეტყობინებით უარყოფისთვის"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"გადაუსვით ხატულადან აუდიოზარით საპასუხოდ"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"მიმდინარე ზარის საპასუხოდ და შესაყოვნებლად გადაფურცლეთ ზემოთ"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"შეყოვნებული ზარის საპასუხოდ და დასასრულებლად გადაფურცლეთ ზემოთ"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"შემომავალი ზარის საპასუხოდ და მიმდინარე ზარის დასასრულებლად გადაუსვით ხატულას"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"დაწერეთ თქვენი საკუთარი…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"ყურსასმენი"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"სპიკერები"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"გაგზავნა"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"ამ ზარის უარყოფა შეტყობინებით"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"პასუხი აუდიოზარის სახით"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"შემომავალ ზარზე პასუხი და მიმდინარე ზარის დასრულება"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"უარყოფა შეტყობინებით"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"პასუხი აუდიოზარის სახით"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"შემომავალ ზარზე პასუხი და მიმდინარე ზარის დასრულება"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"ვიდეო გამორთულია"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"საპასუხოდ გადაფურცლეთ ზემოთ ორი თითით. უარყოფისთვის გადაფურცლეთ ქვემოთ ორი თითით."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"მნიშვნელოვანი ზარი"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-kk/strings.xml b/java/com/android/incallui/answer/impl/res/values-kk/strings.xml
index f93d18c..5b6199a 100644
--- a/java/com/android/incallui/answer/impl/res/values-kk/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-kk/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Қабылдамай, жай хабар жіберу үшін, белгішеден әрі қарай сырғытыңыз"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Аудио қоңырау ретінде жауап беру үшін, белгішеден әрі қарай сырғытыңыз"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Ағымдағы қоңырауға жауап беру және оны ұстап тұру үшін жоғары сырғытыңыз"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Күту күйіндегі қоңырауға жауап беру және оны аяқтау үшін жоғары сырғытыңыз"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Келген қоңырауға жауап беру және ағымдағы қоңырауды аяқтау үшін белгішеден сырғытыңыз"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Өзіңіз жазыңыз…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Телефон"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Спикерфон"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Жіберу"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Бұл қоңырауды қабылдамай, хабар жіберу"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Аудио қоңырау ретінде жауап беру"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Келген қоңырауға жауап беріңіз және ағымдағы қоңырауды аяқтаңыз"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Қабылдамай, хабар жіберу"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Аудио қоңырау ретінде жауап беру"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Келген қоңырауға жауап беріңіз және ағымдағы қоңырауды аяқтаңыз"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Бейне өшірулі"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Жауап беру үшін екі саусақпен жоғары сырғытылады. Қабылдамау үшін екі саусақпен төмен сырғытылады."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Маңызды қоңырау"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-km/strings.xml b/java/com/android/incallui/answer/impl/res/values-km/strings.xml
index 52c7516..6d021df 100644
--- a/java/com/android/incallui/answer/impl/res/values-km/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-km/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"អូស​ចេញ​ពី​រូបតំណាង​ដើម្បី​បដិសេធ​​ដោយ​មាន​សារ"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"អូស​ចេញ​ពី​រូបតំណាង​ដើម្បី​ឆ្លើយ​​​ជា​ការ​ហៅ​សំឡេង"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"អូស​ឡើង​លើ ដើម្បី​ឆ្លើយ និង​រង់ចាំ​ការ​ហៅ​ដែល​កំពុង​ដំណើរការ"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"អូស​ឡើង​លើ ដើម្បី​ឆ្លើយ និង​បញ្ចប់​ការ​ហៅ​ដែល​កំពុង​រង់ចាំ"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"អូស​ពី​រូបតំណាង ដើម្បី​ឆ្លើយ​ការ​ហៅ​ចូល និង​បញ្ចប់​ការ​ហៅ​ដែល​កំពុង​ដំណើរការ"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"សរសេរ​ផ្ទាល់ខ្លួន​​​អ្នក…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"ផ្នែកកាន់​​នៃ​ទូរសព្ទ"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"ឧបករណ៍​បំពង​សំឡេង​ទូរសព្ទ"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"ផ្ញើ"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"បដិសេធ​ការ​ហៅ​នេះ​​ដោយ​មាន​សារ​មួយ"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"ឆ្លើយ​ជា​ការ​ហៅ​​​​សំឡេង"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"ឆ្លើយ​ការ​ហៅ​ចូល និង​បញ្ចប់​ការហៅ​ដែល​កំពុង​ដំណើរការ"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"បដិសេធ​​ដោយ​មាន​សារ"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"ឆ្លើយ​ជា​ការ​ហៅ​​​​សំឡេង"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"ឆ្លើយ​ការ​ហៅ​ចូល និង​បញ្ចប់​ការ​ហៅ​​ដែល​កំពុង​ដំណើរការ"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"វីដេអូត្រូវបានបិទ"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"អូស​ម្រាម​ដៃ​ពីរ​ឡើងលើ​ ដើម្បី​ឆ្លើយ។ អូស​ម្រាមដៃ​ពីរ​ចុះ​ក្រោម​ ដើម្បី​បដិសេធ។"</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"ការ​ហៅ​ដែល​សំខាន់"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-kn/strings.xml b/java/com/android/incallui/answer/impl/res/values-kn/strings.xml
index c764227..6e4ac93 100644
--- a/java/com/android/incallui/answer/impl/res/values-kn/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-kn/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"ಸಂದೇಶದ ಜೊತೆಗೆ ನಿರಾಕರಿಸಲು ಐಕಾನ್‌ನಿಂದ ಸ್ವೈಪ್ ಮಾಡಿ"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"ಆಡಿಯೊ ಕರೆ ರೀತಿಯಲ್ಲಿ ಉತ್ತರಿಸಲು ಐಕಾನ್‌ನಿಂದ ಸ್ವೈಪ್ ಮಾಡಿ"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"ಕರೆಯನ್ನು ಉತ್ತರಿಸಲು ಮತ್ತು ಚಾಲ್ತಿಯಲ್ಲಿರುವ ಕರೆಯನ್ನು ಹೋಲ್ಡ್ ಮಾಡಲು ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"ಕರೆಯನ್ನು ಉತ್ತರಿಸಲು ಮತ್ತು ಹೋಲ್ಡ್‌ನಲ್ಲಿರುವ ಕರೆಯನ್ನು ಅಂತ್ಯಗೊಳಿಸಲು ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"ಒಳಬರುವ ಕರೆಗೆ ಉತ್ತರಿಸಲು ಮತ್ತು ಚಾಲ್ತಿಯಲ್ಲಿರುವ ಕರೆಯನ್ನು ಅಂತ್ಯಗೊಳಿಸಲು ಐಕಾನ್‌ನಿಂದ ಸ್ವೈಪ್ ಮಾಡಿ"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"ನಿಮ್ಮ ಸ್ವಂತದ್ದನ್ನು ಬರೆಯಿರಿ…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"ಹ್ಯಾಂಡ್‌ಸೆಟ್"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"ಸ್ಪೀಕರ್‌ಫೋನ್"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"ಕಳುಹಿಸು"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"ಸಂದೇಶದ ಮೂಲಕ ಈ ಕರೆಯನ್ನು ತಿರಸ್ಕರಿಸಿ"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"ಆಡಿಯೊ ಕರೆಯಂತೆ ಉತ್ತರಿಸಿ"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"ಒಳಬರುವ ಕರೆಗೆ ಉತ್ತರಿಸಿ ಮತ್ತು ಚಾಲ್ತಿಯಲ್ಲಿರುವ ಕರೆಯನ್ನು ಅಂತ್ಯಗೊಳಿಸಿ"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"ಸಂದೇಶದೊಂದಿಗೆ ತಿರಸ್ಕರಿಸು"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"ಆಡಿಯೊ ಕರೆಯಂತೆ ಉತ್ತರಿಸಿ"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"ಒಳಬರುವ ಕರೆಗೆ ಉತ್ತರಿಸಿ ಮತ್ತು ಚಾಲ್ತಿಯಲ್ಲಿರುವ ಕರೆಯನ್ನು ಅಂತ್ಯಗೊಳಿಸಿ"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"ವೀಡಿಯೊ ಆಫ್ ಆಗಿದೆ"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"ಉತ್ತರಿಸಲು ಎರಡು ಬೆರಳಿನಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ. ನಿರಾಕರಿಸಲು ಎರಡು ಬೆರಳಿನಿಂದ ಕೆಳಗೆ ಸ್ವೈಪ್ ಮಾಡಿ."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"ಪ್ರಮುಖ ಕರೆ"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-ko/strings.xml b/java/com/android/incallui/answer/impl/res/values-ko/strings.xml
index c39b325..5ce6d92 100644
--- a/java/com/android/incallui/answer/impl/res/values-ko/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-ko/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"메시지를 거부하려면 아이콘에서 스와이프하세요."</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"음성 통화로 받으려면 아이콘에서 스와이프하세요."</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"현재 통화를 끊지 않고 받으려면 위로 스와이프"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"대기 중 통화를 종료하고 받으려면 위로 스와이프"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"현재 통화를 종료하고 수신 전화를 받으려면 아이콘에서 스와이프"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"직접 메시지 쓰기…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"핸드셋"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"스피커폰"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"보내기"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"메시지를 사용하여 이 전화 거부"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"음성 통화로 받기"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"현재 통화를 종료하고 수신 전화 받기"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"메시지를 사용하여 전화 거부"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"음성 통화로 받기"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"현재 통화를 종료하고 수신 전화 받기"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"동영상이 꺼져 있습니다."</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"받으려면 두 손가락을 위로 스와이프하고 거부하려면 두 손가락을 아래로 스와이프하세요."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"중요 전화"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-ky/strings.xml b/java/com/android/incallui/answer/impl/res/values-ky/strings.xml
index 3e53663..f2f33bf 100644
--- a/java/com/android/incallui/answer/impl/res/values-ky/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-ky/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Чалууну билдирүү менен четке кагуу үчүн сүрөтчөнү сүрүңүз"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Аудио чалуу катары жооп берүү үчүн сүрөтчөдөн сүрүңүз"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Жооп берүү жана учурдагы чалууну кармоо үчүн экранды өйдө сүрүп коюңуз"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Жооп берүү же кармалып турган чалууну бутүрүү үчүн экранды өйдө сүрүп коюңуз"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Кирүүчү чалууга жооп берүү же чалууну аяктоо үчүн сүрөтчөнү сүрүңүз"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Сиздин жообуңуз..."</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Трубка"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Динамик"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Жөнөтүү"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Бул чалууну билдирүү менен четке кагуу"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Аудио чалуу катары жооп берүү"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Кирүүчү чалууга жооп бериңиз же учурдагы чалууну аяктаңыз"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Билдирүү менен четке кагуу"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Аудио чалуу катары жооп берүү"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Кирүүчү чалууга жооп бериңиз же учурдагы чалууну аяктаңыз"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Видео өчүк"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Жооп берүү үчүн экранды өйдө сүрүп, четке кагуу үчүн ылдый сүрүп коюңуз."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Маанилүү чалуу"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-lo/strings.xml b/java/com/android/incallui/answer/impl/res/values-lo/strings.xml
index 9eda0c0..096d6b1 100644
--- a/java/com/android/incallui/answer/impl/res/values-lo/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-lo/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"ປັດຈາກໄອຄອນເພື່ອປະຕິເສດຂໍ້ຄວາມ"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"ປັດຈາກໄອຄອນເພື່ອຮັບສາຍ"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"ປັດຂຶ້ນເພື່ອຮັບສາຍ ແລະ ພັກສາຍທີ່ກຳລັງໂທອອກໄວ້ກ່ອນ"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"ປັດຂຶ້ນເພື່ອຮັບສາຍ ແລະ ວາງສາຍທີ່ກຳລັງພັກຢູ່"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"ປັດຈາກໄອຄອນເພື່ອຮັບສາຍທີ່ໂທເຂົ້າ ແລະ ວາງສາຍທີ່ກຳລັງໂທອອກ"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"ຂຽນຂໍ້ຄວາມຂອງທ່ານເອງ..."</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"ຫູຟັງ"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"ລຳໂພງ"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"ສົ່ງ"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"ປະຕິເສດສາຍນີ້ພ້ອມສົ່ງຂໍ້ຄວາມ"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"ຮັບສາຍສະເພາະສຽງ"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"ຮັບສາຍໂທເຂົ້າ ແລະ ວາງສາຍທີ່ກຳລັງໂທອອກ"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"ປະຕິເສດພ້ອມສົ່ງຂໍ້ຄວາມ"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"ຮັບສາຍສະເພາະສຽງ"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"ຮັບສາຍໂທເຂົ້າ ແລະ ວາງສາຍທີ່ກຳລັງໂທອອກ"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"ວິດີໂອປິດຢູ່"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"ປັດສອງນິ້ວຂຶ້ນເພື່ອຮັບສາຍ. ປັດສອງນິ້ວລົງເພື່ອປະຕິເສດ."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"ການໂທສຳຄັນ"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-lt/strings.xml b/java/com/android/incallui/answer/impl/res/values-lt/strings.xml
index d2e5023..1579026 100644
--- a/java/com/android/incallui/answer/impl/res/values-lt/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-lt/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Perbraukite iš piktogramos, kad atmestumėte išsiųsdami pranešimą"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Perbraukite iš piktogramos, kad atsilieptumėte kaip į garso skambutį"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Perbraukite aukštyn, kad atsakytumėte ir sulaikytumėte vykstantį skambutį"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Perbraukite aukštyn, kad atsakytumėte ir užbaigtumėte sulaikytą skambutį"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Perbraukite iš piktogramos, kad atsakytumėte gaunamąjį skambutį ir užbaigtumėte vykstantį"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Parašykite savo…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Telefono ragelis"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Garsiakalbis"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Siųsti"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Atmesti šį skambutį su pranešimu"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Atsiliepti kaip į garso skambutį"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Atsakykite į gaunamąjį skambutį ir užbaikite vykstantį"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Atmesti su pranešimu"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Atsiliepti kaip į garso skambutį"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Atsakykite į gaunamąjį skambutį ir užbaikite vykstantį"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Vaizdas išjungtas"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Perbraukite dviem pirštais aukštyn, kad atsakytumėte. Perbraukite dviem pirštais žemyn, kad atmestumėte."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Svarbus skambutis"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-lv/strings.xml b/java/com/android/incallui/answer/impl/res/values-lv/strings.xml
index 568ecd0..a87d9bc 100644
--- a/java/com/android/incallui/answer/impl/res/values-lv/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-lv/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Lai noraidītu, izmantojot ziņojumu, velciet no ikonas"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Lai atbildētu audiozvanā, velciet no ikonas"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Velciet augšup, lai atbildētu un aizturētu notiekošo zvanu"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Velciet augšup, lai atbildētu un beigtu aizturēto zvanu"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Velciet no ikonas, lai atbildētu uz ienākošo zvanu un beigtu notiekošo zvanu"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Rakstīt savu…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Austiņas"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Skaļrunis"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Sūtīt"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Noraidīt šo zvanu, izmantojot ziņojumu"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Atbildēt audiozvanā"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Atbildiet uz ienākošo zvanu un beidziet notiekošo zvanu"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Noraidīt, izmantojot ziņojumu"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Atbildēt audiozvanā"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Atbildiet uz ienākošo zvanu un beidziet notiekošo zvanu"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video ir izslēgts"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Ar diviem pirkstiem velciet augšup, lai atbildētu. Ar diviem pirkstiem velciet lejup, lai noraidītu."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Svarīgs zvans"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-mk/strings.xml b/java/com/android/incallui/answer/impl/res/values-mk/strings.xml
index 52a1294..6e82ec1 100644
--- a/java/com/android/incallui/answer/impl/res/values-mk/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-mk/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Повлечете од иконата за да одбиете со порака"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Повлечете од иконата за да одговорите на аудиоповик"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Повлечете нагоре за да одговорите и да ставите на чекање појдовен повик"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Повлечете нагоре за да одговорите и да завршите повик на чекање"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Повлечете од иконата за да одговорите на дојдовен повик и да завршите појдовен повик"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Напишете сопствен…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Слушалка"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Звучник"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Испрати"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Одбијте го повиков со порака"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Одговорете со аудиоповик"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Одговорете на дојдовен повик и завршете појдовен повик"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Одбијте со порака"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Одговорете со аудиоповик"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Одговорете на дојдовен повик и завршете појдовен повик"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Видеото е исклучено"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Повлечете нагоре со два прста за да одговорите. Повлечете надолу со два прста за да одбиете."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Важен повик"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-ml/strings.xml b/java/com/android/incallui/answer/impl/res/values-ml/strings.xml
index a0b500e..725cddb 100644
--- a/java/com/android/incallui/answer/impl/res/values-ml/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-ml/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"സന്ദേശമയച്ചുകൊണ്ട് നിരസിക്കാൻ ഐക്കണിൽ നിന്ന് സ്വൈപ്പുചെയ്യുക"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"ഒരു ഓഡിയോ കോളായി മറുപടി നൽകാൻ ഐക്കണിൽ നിന്ന് സ്വൈപ്പുചെയ്യുക"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"നിലവിലുള്ള കോളിന് മറുപടി നൽകാനും അത് ഹോൾഡുചെയ്യാനും മുകളിലേക്ക് സ്വൈപ്പുചെയ്യുക"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"മറുപടി നൽകാനും ഹോൾഡിലുള്ള കോൾ അവസാനിപ്പിക്കാനും മുകളിലേക്ക് സ്വൈപ്പുചെയ്യുക"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"ഇൻകമിംഗ് കോളിന് മറുപടി നൽകാനും നിലവിലുള്ള കോൾ അവസാനിപ്പിക്കാനും ഐക്കണിൽ നിന്ന് സ്വൈപ്പുചെയ്യുക"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"നിങ്ങളുടേതായത് എഴുതുക…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"ഹാൻഡ്സെറ്റ്"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"സ്‌പീക്കർഫോൺ"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"അയയ്‌ക്കുക"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"ഒരു സന്ദേശം അയച്ചുകൊണ്ട് ഈ കോൾ നിരസിക്കുക"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"ഓഡിയോ കോളായി മറുപടി നൽകുക"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"ഇൻകമിംഗ് കോളിന് മറുപടി നൽകുകയും നിലവിലുള്ള കോൾ അവസാനിപ്പിക്കുകയും ചെയ്യൂ"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"ഒരു സന്ദേശം അയച്ചുകൊണ്ട് നിരസിക്കുക"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"ഓഡിയോ കോളായി മറുപടി നൽകുക"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"ഇൻകമിംഗ് കോളിന് മറുപടി നൽകുകയും നിലവിലുള്ള കോൾ അവസാനിപ്പിക്കുകയും ചെയ്യൂ"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"വീഡിയോ ഓഫാണ്"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"മറുപടി നൽകാൻ രണ്ടുവിരലുകൾ ഉപയോഗിച്ച് മുകളിലേക്ക് സ്വൈപ്പുചെയ്യുക. നിരസിക്കാൻ രണ്ടുവിരലുകൾ ഉപയോഗിച്ച് താഴേക്ക് സ്വൈപ്പുചെയ്യുക."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"പ്രധാനപ്പെട്ട കോൾ"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-mn/strings.xml b/java/com/android/incallui/answer/impl/res/values-mn/strings.xml
index 8f8fca0..e7c6ee6 100644
--- a/java/com/android/incallui/answer/impl/res/values-mn/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-mn/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Зурвас явуулангаа татгалзах бол дүрснээс шударна уу"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Аудио дуудлагаар хариулах бол дүрснээс шударна уу"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Дээш шударч дуудлагыг аваад, одоогийн дуудлагыг түр хүлээлгэх"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Дээш шударч дуудлагыг аваад, түр хүлээлгэсэн дуудлагыг таслах"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Дүрснээс шударч ирсэн дуудлагыг аваад залгасан дуудлагыг таслах"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Өөрийнхөөрөө бичнэ үү…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Чихэвч"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Чанга яригч"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Илгээх"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Энэ дуудлагыг зурвас бичиж таслах"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Аудио дуудлагаар хариулах"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Ирсэн дуудлагыг авч, залгасан дуудлагыг таслах"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Зурвас бичиж таслах"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Аудио дуудлагаар хариулах"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Ирсэн дуудлагыг авч, залгасан дуудлагыг таслах"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Видео идэвхгүй байна"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Хариулах бол хоёр хуруугаар дээш шударна уу. Таслах бол хоёр хуруугаар доош шударна уу."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Чухал дуудлага"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-mr/strings.xml b/java/com/android/incallui/answer/impl/res/values-mr/strings.xml
index fa3dcba..05c5d98 100644
--- a/java/com/android/incallui/answer/impl/res/values-mr/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-mr/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"संदेशासह नाकारण्यासाठी आयकॉनपासून स्वाइप करा"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"ऑडिओ कॉल म्हणून उत्तर देण्यासाठी चिन्हावरुन स्वाइप करा"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"उत्तर देण्यासाठी आणि सुरु असलेला कॉल होल्ड करण्‍यासाठी वर स्वाइप करा"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"उत्तर देण्यासाठी आणि होल्ड केलेला कॉल बंद करण्‍यासाठी वर स्वाइप करा"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"येणार्‍या कॉलला उत्तर देण्‍यासाठी आणि सुरु असलेला कॉल बंद करण्‍यासाठी चिन्हावरून स्वाइप करा"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"आपण स्वतःच लिहा…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"हँडसेट"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"स्पीकरफोन"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"पाठवा"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"एका संदेशासह या कॉलला नकार द्या"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"ऑडिओ कॉल म्हणून उत्तर द्या"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"येणार्‍या कॉलला उत्तर द्या आणि सुरु असलेला कॉल बंद करा"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"संदेशासह नकार द्या"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"ऑडिओ कॉल म्हणून उत्तर द्या"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"येणार्‍या कॉलला उत्तर द्या आणि सुरु असलेला कॉल बंद करा"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"व्हिडिओ बंद आहे"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"उत्तर देण्यासाठी दोन बोटांनी वर स्वाइप करा. नकार देण्यासाठी दोन बोटांनी खाली स्वाइप करा."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"महत्त्वाचा कॉल"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-ms/strings.xml b/java/com/android/incallui/answer/impl/res/values-ms/strings.xml
index 019e2b6..8731bde 100644
--- a/java/com/android/incallui/answer/impl/res/values-ms/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-ms/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Leret dari ikon untuk menolak dengan mesej"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Leret dari ikon untuk menjawab sebagai panggilan audio"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Leret ke atas untuk menjawab dan menahan panggilan aktif"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Leret ke atas untuk menjawab dan menamatkan panggilan yang ditahan"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Leret dari ikon untuk menjawab panggilan masuk dan menamatkan panggilan aktif"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Tulis mesej anda sendiri…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Telefon bimbit"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Fon pembesar suara"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Hantar"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Tolak panggilan ini dengan mesej"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Jawab sebagai panggilan audio"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Jawab panggilan masuk dan tamatkan panggilan aktif"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Tolak dengan mesej"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Jawab sebagai panggilan audio"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Jawab panggilan masuk dan tamatkan panggilan aktif"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video dimatikan"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Leret dua jari ke atas untuk menjawab. Leret dua jari ke bawah untuk menolak."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Panggilan penting"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-my/strings.xml b/java/com/android/incallui/answer/impl/res/values-my/strings.xml
index 180a593..704a3dd 100644
--- a/java/com/android/incallui/answer/impl/res/values-my/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-my/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"မက်ဆေ့ဂျ်ဖြင့်ငြင်းပယ်ရန် သင်္ကေတမှ ပွတ်ဆွဲပါ"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"အသံခေါ်ဆိုမှုအဖြစ်ဖြေကြားရန် သင်္ကေတမှ ပွတ်ဆွဲပါ"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"ဖြေကြားရန် အပေါ်သို့ ပွတ်ဆွဲပြီး လက်ရှိခေါ်ဆိုမှုကို ခဏရပ်ထားပါ"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"ဖြေကြားရန် အပေါ်သို့ ပွတ်ဆွဲပြီး ကိုင်ထားသောခေါ်ဆိုမှုကို အပြီးသတ်ပါ"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"အဝင်ခေါ်ဆိုမှုကို ဖြေကြားရန် သင်္ကေတမှ ပွတ်ဆွဲပြီး လက်ရှိခေါ်ဆိုမှုကို အပြီးသတ်ပါ"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"သင့်ကိုယ်ပိုင်ရေးပါ…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"လက်ကိုင်ဖုန်း"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"စပီကာဖုန်း"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"ပို့ရန်"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"ဤခေါ်ဆိုမှုကို မက်ဆေ့ဂျ်ဖြင့် ငြင်းဆိုရန်"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"အသံခေါ်ဆိုမှုအဖြစ် ဖြေကြားရန်"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"အဝင်ခေါ်ဆိုမှုကို ဖြေကြားပြီး လက်ရှိခေါ်ဆိုမှုကို အပြီးသတ်ပါ"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"မက်ဆေ့ဂျ်ဖြင့် ငြင်းပယ်ရန်"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"အသံခေါ်ဆိုမှုအဖြစ် ဖြေကြားရန်"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"အဝင်ခေါ်ဆိုမှုကို ဖြေကြားပြီး လက်ရှိခေါ်ဆိုမှုကို အပြီးသတ်ပါ"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"ဗီဒီယို ပိတ်ထားပါသည်"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"ဖြေကြားရန် လက်နှစ်ချောင်းဖြင့် အပေါ်သို့ ပွတ်ဆွဲပါ။ ငြင်းပယ်ရန် လက်နှစ်ချောင်းဖြင့် အောက်သို့ ပွတ်ဆွဲပါ။"</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"အရေးကြီးခေါ်ဆိုမှု"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-nb/strings.xml b/java/com/android/incallui/answer/impl/res/values-nb/strings.xml
index c87ceed..b9cae7d 100644
--- a/java/com/android/incallui/answer/impl/res/values-nb/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-nb/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Sveip fra ikonet for å avslå med en melding"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Sveip fra ikonet for å svare med en lydsamtale"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Sveip oppover for å svare og sette samtalen som er i gang på vent"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Sveip oppover for å svare og avslutte samtalen som står på vent"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Sveip fra ikonet for å svare på det innkommende anropet og avslutte samtalen som er i gang"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Skriv noe selv …"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Telefon"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Høyttaler"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Send"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Avvis anropet med en melding"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Svar med en lydsamtale"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Svar på det innkommende anropet og avslutt samtalen som er i gang"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Avvis med en melding"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Svar med en lydsamtale"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Svar på det innkommende anropet og avslutt samtalen som er i gang"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video er av"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Sveip oppover med to fingre for å svare. Sveip nedover med to fingre for å avvise."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Viktig samtale"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-ne/strings.xml b/java/com/android/incallui/answer/impl/res/values-ne/strings.xml
index 0ba04ff..76b9bca 100644
--- a/java/com/android/incallui/answer/impl/res/values-ne/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-ne/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"सन्देश सहित अस्वीकार गर्न आइकनबाट स्वाइप गर्नुहोस्"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"अडियो कलका रूपमा जवाफ फर्काउन आइकनबाट स्वाइप गर्नुहोस्"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"जारी कलको जवाफ दिन र होल्ड गर्न माथितिर स्वाइप गर्नुहोस्"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"जवाफ दिन र होल्डमा रहेको कल अन्त्य गर्न माथितिर स्वाइप गर्नुहोस्"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"आगमन कलको जवाफ फर्काउन र जारी कललाई अन्त्य गर्न आइकनबाट स्वाइप गर्नुहोस्"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"तपाईँको आफ्नै लेख्नुहोस्…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"ह्यान्डसेट"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"स्पिकरफोन"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"पठाउनुहोस्"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"एउटा सन्देश पठाउँदै यो कल अस्वीकार गर्नुहोस्"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"अडियो कलका रूपमा जवाफ दिनुहोस्"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"आगमन कलको जवाफ दिनुहोस् र जारी कल अन्त्य गर्नुहोस्"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"सन्देश सहित अस्वीकार गर्नुहोस्"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"अडियो कलका रूपमा जवाफ दिनुहोस्"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"आगमन कलको जवाफ दिनुहोस् र जारी कल अन्त्य गर्नुहोस्"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"भिडियो निष्क्रिय छ"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"जवाफ दिन दुई औंलाले माथितिर स्वाइप गर्नुहोस्। अस्वीकार गर्न दुई औंलाले तलतिर स्वाइप गर्नुहोस्।"</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"महत्त्वपूर्ण कल"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-nl/strings.xml b/java/com/android/incallui/answer/impl/res/values-nl/strings.xml
index fcfeb94..55f8499 100644
--- a/java/com/android/incallui/answer/impl/res/values-nl/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-nl/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Veeg vanaf pictogram om te weigeren met bericht"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Veeg vanaf pictogram om te beantwoorden als audiogesprek"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Veeg omhoog om op te nemen en actieve oproep in de wacht te plaatsen"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Veeg omhoog om op te nemen en oproep in de wacht te beëindigen"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Veeg vanaf pictogram om inkomende oproep te beantwoorden en actieve oproep te beëindigen"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Eigen bericht opstellen…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Handset"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Luidspreker"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Verzenden"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Deze oproep weigeren met een bericht"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Beantwoorden als audiogesprek"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Inkomende oproep beantwoorden en actieve oproep beëindigen"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Weigeren met bericht"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Beantwoorden als audiogesprek"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Inkomende oproep beantwoorden en actieve oproep beëindigen"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video is uit"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Veeg met twee vingers omhoog om te beantwoorden. Veeg met twee vingers omlaag om te weigeren."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Belangrijke oproep"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-no/strings.xml b/java/com/android/incallui/answer/impl/res/values-no/strings.xml
index c87ceed..b9cae7d 100644
--- a/java/com/android/incallui/answer/impl/res/values-no/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-no/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Sveip fra ikonet for å avslå med en melding"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Sveip fra ikonet for å svare med en lydsamtale"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Sveip oppover for å svare og sette samtalen som er i gang på vent"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Sveip oppover for å svare og avslutte samtalen som står på vent"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Sveip fra ikonet for å svare på det innkommende anropet og avslutte samtalen som er i gang"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Skriv noe selv …"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Telefon"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Høyttaler"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Send"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Avvis anropet med en melding"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Svar med en lydsamtale"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Svar på det innkommende anropet og avslutt samtalen som er i gang"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Avvis med en melding"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Svar med en lydsamtale"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Svar på det innkommende anropet og avslutt samtalen som er i gang"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video er av"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Sveip oppover med to fingre for å svare. Sveip nedover med to fingre for å avvise."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Viktig samtale"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-pa/strings.xml b/java/com/android/incallui/answer/impl/res/values-pa/strings.xml
index d17d827..8a95bcd 100644
--- a/java/com/android/incallui/answer/impl/res/values-pa/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-pa/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"ਸੁਨੇਹੇ ਦੇ ਨਾਲ ਅਸਵੀਕਾਰ ਕਰਨ ਲਈ ਚਿੰਨ੍ਹ ਤੋਂ ਸਵਾਈਪ ਕਰੋ"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"ਔਡੀਓ ਕਾਲ ਵਜੋਂ ਜਵਾਬ ਦੇਣ ਲਈ ਚਿੰਨ੍ਹ ਤੋਂ ਸਵਾਈਪ ਕਰੋ"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"ਜਵਾਬ ਦੇਣ ਲਈ ਅਤੇ ਜਾਰੀ ਕਾਲ ਨੂੰ ਰੋਕ ਕੇ ਰੱਖਣ ਲਈ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"ਜਵਾਬ ਦੇਣ ਲਈ ਅਤੇ ਰੋਕੀ ਗਈ ਕਾਲ ਸਮਾਪਤ ਕਰਨ ਲਈ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"ਇਨਕਮਿੰਗ ਕਾਲ ਦਾ ਜਵਾਬ ਦੇਣ ਲਈ ਅਤੇ ਜਾਰੀ ਕਾਲ ਨੂੰ ਸਮਾਪਤ ਕਰਨ ਲਈ ਪ੍ਰਤੀਕ ਤੋਂ ਸਵਾਈਪ ਕਰੋ"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"ਆਪਣਾ ਖੁਦ ਦਾ ਲਿਖੋ..."</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"ਹੈਂਡਸੈੱਟ"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"ਸਪੀਕਰਫ਼ੋਨ"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"ਭੇਜੋ"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"ਇੱਕ ਸੁਨੇਹੇ ਨਾਲ ਇਸ ਕਾਲ ਨੂੰ ਰੱਦ ਕਰੋ"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"ਔਡੀਓ ਕਾਲ ਵਜੋਂ ਜਵਾਬ ਦਿਓ"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"ਇਨਕਮਿੰਗ ਕਾਲ ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਜਾਰੀ ਕਾਲ ਨੂੰ ਸਮਾਪਤ ਕਰੋ"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"ਸੁਨੇਹੇ ਨਾਲ ਰੱਦ ਕਰੋ"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"ਔਡੀਓ ਕਾਲ ਵਜੋਂ ਜਵਾਬ ਦਿਓ"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"ਇਨਕਮਿੰਗ ਕਾਲ ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਜਾਰੀ ਕਾਲ ਨੂੰ ਸਮਾਪਤ ਕਰੋ"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"ਵੀਡੀਓ ਬੰਦ ਹੈ"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"ਜਵਾਬ ਦੇਣ ਲਈ ਦੋ ਉਂਗਲਾਂ ਨਾਲ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ। ਅਸਵੀਕਾਰ ਕਰਨ ਲਈ ਦੋ ਉਂਗਲਾਂ ਨਾਲ ਹੇਠਾਂ ਵੱਲ ਸਵਾਈਪ ਕਰੋ।"</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"ਮਹੱਤਵਪੂਰਨ ਕਾਲ"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-pl/strings.xml b/java/com/android/incallui/answer/impl/res/values-pl/strings.xml
index d56c992..c7f2e4a 100644
--- a/java/com/android/incallui/answer/impl/res/values-pl/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-pl/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Przesuń palcem od ikony, aby odrzucić połączenie i wysłać wiadomość"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Przesuń palcem od ikony, aby odebrać jako połączenie głosowe"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Przesuń w górę, aby odebrać połączenie i wstrzymać trwającą rozmowę"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Przesuń w górę, aby odebrać połączenie i zakończyć wstrzymaną rozmowę"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Przesuń palcem od ikony, aby odebrać połączenie i zakończyć trwającą rozmowę"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Napisz własną…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Słuchawka"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Głośnik"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Wyślij"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Odrzuć to połączenie, wysyłając wiadomość"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Odbierz jako połączenie głosowe"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Odbierz połączenie i zakończ trwającą rozmowę"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Odrzuć, wysyłając wiadomość"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Odbierz jako połączenie głosowe"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Odbierz połączenie i zakończ trwającą rozmowę"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Wideo jest wyłączone"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Przesuń dwoma palcami w górę, aby odebrać. Przesuń dwoma palcami w dół, aby odrzucić."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Ważne połączenie"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-pt-rBR/strings.xml b/java/com/android/incallui/answer/impl/res/values-pt-rBR/strings.xml
index 8e20919..8e4506b 100644
--- a/java/com/android/incallui/answer/impl/res/values-pt-rBR/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-pt-rBR/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Deslize a partir do ícone para recusar com uma mensagem"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Deslize a partir do ícone para atender como uma chamada de áudio"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Deslize para cima para atender uma chamada e colocar a outra em espera"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Deslize para cima para atender e encerrar a chamada em espera"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Deslize a partir do ícone para atender a chamada recebida e encerrar a chamada em andamento"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Escreva sua resposta..."</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Aparelho"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Viva-voz"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Enviar"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Rejeitar esta chamada com uma mensagem"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Atender como chamada de áudio"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Atender a chamada recebida e encerrar a chamada em andamento"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Rejeitar com mensagem"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Atender como chamada de áudio"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Atender a chamada recebida e encerrar a chamada em andamento"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"O vídeo está desativado"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Deslize com dois dedos para cima para atender. Deslize com dois dedos para baixo para recusar."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Chamada importante"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-pt-rPT/strings.xml b/java/com/android/incallui/answer/impl/res/values-pt-rPT/strings.xml
index e957e72..d3bdb13 100644
--- a/java/com/android/incallui/answer/impl/res/values-pt-rPT/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-pt-rPT/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Deslize rapidamente a partir do ícone para recusar com uma mensagem"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Deslize rapidamente a partir do ícone para atender como uma chamada de voz"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Deslize rapidamente para cima para atender e colocar em espera uma chamada em curso"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Deslize rapidamente para cima para atender e terminar uma chamada em espera"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Deslize rapidamente a partir do ícone para atender uma chamada recebida e terminar uma chamada em curso"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Escreva a sua própria…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Dispositivo"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Altifalante"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Enviar"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Rejeitar esta chamada com uma mensagem"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Atender como chamada de voz"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Atender chamada recebida e terminar chamada em curso"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Rejeitar com mensagem"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Atender como chamada de voz"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Atender chamada recebida e terminar chamada em curso"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"O vídeo está desativado"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Deslize rapidamente com dois dedos para cima para responder. Deslize rapidamente com dois dedos para baixo para recusar."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Chamada importante"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-pt/strings.xml b/java/com/android/incallui/answer/impl/res/values-pt/strings.xml
index 8e20919..8e4506b 100644
--- a/java/com/android/incallui/answer/impl/res/values-pt/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-pt/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Deslize a partir do ícone para recusar com uma mensagem"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Deslize a partir do ícone para atender como uma chamada de áudio"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Deslize para cima para atender uma chamada e colocar a outra em espera"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Deslize para cima para atender e encerrar a chamada em espera"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Deslize a partir do ícone para atender a chamada recebida e encerrar a chamada em andamento"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Escreva sua resposta..."</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Aparelho"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Viva-voz"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Enviar"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Rejeitar esta chamada com uma mensagem"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Atender como chamada de áudio"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Atender a chamada recebida e encerrar a chamada em andamento"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Rejeitar com mensagem"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Atender como chamada de áudio"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Atender a chamada recebida e encerrar a chamada em andamento"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"O vídeo está desativado"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Deslize com dois dedos para cima para atender. Deslize com dois dedos para baixo para recusar."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Chamada importante"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-ro/strings.xml b/java/com/android/incallui/answer/impl/res/values-ro/strings.xml
index 14a2eeb..f2e3dcb 100644
--- a/java/com/android/incallui/answer/impl/res/values-ro/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-ro/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Glisați de pe pictogramă pentru a respinge cu un mesaj"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Glisați de pe pictogramă pentru a răspunde ca apel audio"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Glisați în sus ca să răspundeți și să puneți apelul actual în așteptare."</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Glisați în sus ca să răspundeți și să încheiați apelul în așteptare."</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Glisați din pictogramă ca să răspundeți la apelul primit și să încheiați apelul în curs."</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Scrieți propriul răspuns…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Receptor"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Difuzor"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Trimiteți"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Respingeți apelul cu un mesaj"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Răspundeți ca apel audio"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Răspundeți la apelul primit și încheiați apelul în curs"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Respingeți cu un mesaj"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Răspundeți ca apel audio"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Răspundeți la apelul primit și încheiați apelul în curs"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Camera video este dezactivată."</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Glisați cu două degete în sus pentru a răspunde și în jos pentru a respinge."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Apel important"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-ru/strings.xml b/java/com/android/incallui/answer/impl/res/values-ru/strings.xml
index 80d8989..6b9eba5 100644
--- a/java/com/android/incallui/answer/impl/res/values-ru/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-ru/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Чтобы отклонить вызов и отправить SMS, проведите пальцем от значка"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Чтобы ответить в режиме голосового вызова, проведите пальцем от значка"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Чтобы ответить и поставить текущий вызов на удержание, проведите по экрану вверх"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Чтобы ответить и завершить вызов на удержании, проведите по экрану вверх"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Чтобы ответить на входящий вызов и завершить текущий, проведите пальцем от значка"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Ваш ответ…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Телефон"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Спикерфон"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Отправить"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Отклонить вызов и отправить SMS"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Ответить в режиме голосового вызова"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Ответить на входящий вызов и завершить текущий"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Отклонить вызов и отправить SMS"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Ответить в режиме голосового вызова"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Ответить на входящий вызов и завершить текущий"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Камера выключена"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Проведите двумя пальцами по экрану вверх, чтобы ответить, или вниз, чтобы отклонить вызов."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Важный вызов"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-si/strings.xml b/java/com/android/incallui/answer/impl/res/values-si/strings.xml
index e605e6d..bb7a139 100644
--- a/java/com/android/incallui/answer/impl/res/values-si/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-si/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"පණිවිඩය සහිතව ප්‍රතික්ෂේප කිරීමට නිරූපකයේ සිට ස්වයිප් කරන්න"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"ශ්‍රව්‍ය ඇමතුමක් ලෙස පිළිතුරු දීමට නිරූපකයේ සිට ස්වයිප් කරන්න"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"කෙරෙමින් පවතින ඇමතුමට පිළිතුරු දීමට සහ රඳවා තබා ගැනීමට ඉහළට ස්වයිප් කරන්න"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"රඳවා තබා ගෙන සිටින ඇමතුමට පිළිතුරු දීමට සහ අවසන් කිරීමට ඉහළට ස්වයිප් කරන්න"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"එන ඇමතුමට පිළිතුරු දීමට සහ යන ඇමතුම අවසන් කිරීමට නිරූපකයෙන් ස්වයිප් කරන්න"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"ඔබෙම එක ලියන්න…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"හෑන්ඩ්සෙට්"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"ස්පීකර්ෆෝන්"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"යවන්න"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"පණිවිඩයකින් මෙම ඇමතුම ප්‍රතික්ෂේප කරන්න"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"ශ්‍රව්‍ය ඇමතුමක් ලෙස පිළිතුරු දෙන්න"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"එන ඇමතුමට පිළිතුරු දෙන්න එමෙන්ම යන අැමතුම අවසන් කරන්න"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"පණිවිඩයකින් ප්‍රතික්ෂේප කරන්න"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"ශ්‍රව්‍ය ඇමතුමක් ලෙස පිළිතුරු දෙන්න"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"එන ඇමතුමට පිළිතුරු දෙන්න එමෙන්ම යන ඇමතුම අවසන් කරන්න"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"වීඩියෝව ක්‍රියාවිරහිතයි"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"පිළිතුරු දීමට ඇඟිලි දෙකකින් ඉහළට ස්වයිප් කරන්න, ප්‍රතික්ෂේප කිරීමට ඇඟිලි දෙකකින් පහළට ස්වයිප් කරන්න."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"වැදගත් ඇමතුම"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-sk/strings.xml b/java/com/android/incallui/answer/impl/res/values-sk/strings.xml
index 967ad3a..3280117 100644
--- a/java/com/android/incallui/answer/impl/res/values-sk/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-sk/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Prejdením prstom od ikony odmietnuť so správou"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Prejdením prstom od ikony prijať ako zvukový hovor"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Prejdením prstom nahor prijmete hovor a podržíte prebiehajúci hovor"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Prejdením prstom nahor prijmete hovor a ukončíte podržaný hovor"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Prejdením prstom od ikony prijmete prichádzajúci hovor a ukončíte prebiehajúci hovor"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Napíšte vlastnú…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Slúchadlo"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Reproduktor"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Odoslať"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Odmietnuť tento hovor so správou"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Prijať ako zvukový hovor"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Prijať prichádzajúci hovor a ukončiť prebiehajúci hovor"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Odmietnuť so správou"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Prijať ako zvukový hovor"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Prijať prichádzajúci hovor a ukončiť prebiehajúci hovor"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video je vypnuté"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Ak chcete hovor prijať, prejdite dvomi prstami nahor. Ak ho chcete odmietnuť, prejdite dvomi prstami nadol."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Dôležitý hovor"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-sl/strings.xml b/java/com/android/incallui/answer/impl/res/values-sl/strings.xml
index d3fbf8e..67f31f3 100644
--- a/java/com/android/incallui/answer/impl/res/values-sl/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-sl/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Povlecite z ikone, da klic zavrnete s sporočilom"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Povlecite z ikone, da klic sprejmete kot zvočni klic"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Povlecite navzgor, da sprejmete klic in zadržite aktivni klic"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Povlecite navzgor, da sprejmete klic in končate zadržani klic"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Povlecite z ikone, da sprejmete dohodni klic in končate aktivni klic"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Napišite lastno besedilo …"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Slušalka"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Zvočnik"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Pošlji"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Zavrnite ta klic s sporočilom"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Sprejmite kot zvočni klic"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Sprejmi dohodni klic in končaj aktivni klic"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Zavrnitev s sporočilom"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Sprejmite kot zvočni klic"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Sprejmi dohodni klic in končaj aktivni klic"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video je izklopljen"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Z dvema prstoma povlecite navzgor, da sprejmete klic. Z dvema prstoma povlecite navzdol, da zavrnete klic."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Pomemben klic"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-sq/strings.xml b/java/com/android/incallui/answer/impl/res/values-sq/strings.xml
index c14a5c7..14f8444 100644
--- a/java/com/android/incallui/answer/impl/res/values-sq/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-sq/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Rrëshqit nga ikona për të refuzuar me mesazh"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Rrëshqite nga ikona për t\'u përgjigjur si telefonatë me audio"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Rrëshqit shpejt lart për t\'u përgjigjur dhe për të vendosur në pritje telefonatën në vazhdim"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Rrëshqit shpejt lart për t\'u përgjigjur dhe për të mbyllur telefonatën në pritje"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Rrëshqit shpejt nga ikona për t\'iu përgjigjur telefonatës hyrëse dhe për të mbyllur telefonatën në vazhdim"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Shkruaj tënden…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Kufje"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Altoparlanti"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Dërgo"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Refuzo këtë telefonatë me një mesazh"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Përgjigju si telefonatë me audio"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Përgjigjju telefonatës hyrëse dhe mbyll telefonatën në vazhdim"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Refuzo me mesazh"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Përgjigju si telefonatë me audio"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Përgjigjju telefonatës hyrëse dhe mbyll telefonatën në vazhdim"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Videoja është joaktive"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Rrëshqit dy gishta lart për t\'u përgjigjur. Rrëshqit dy gishta poshtë për të refuzuar."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Telefonatë e rëndësishme"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-sr/strings.xml b/java/com/android/incallui/answer/impl/res/values-sr/strings.xml
index 6566d78..e1aace2 100644
--- a/java/com/android/incallui/answer/impl/res/values-sr/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-sr/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Превуците од иконе да бисте одбили поруком"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Превуците од иконе да бисте одговорили аудио позивом"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Превуците нагоре да бисте одговорили и задржали позив који је у току"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Превуците нагоре да бисте одговорили и завршили позив који је на чекању"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Превуците од иконе да бисте одговорили на долазни позив и завршили позив који је у току"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Напишите сами…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Телефон"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Спикерфон"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Пошаљи"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Одбијте овај позив поруком"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Одговорите аудио позивом"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Одговорите на долазни позив и завршите позив који је у току"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Одбијте поруком"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Одговорите аудио позивом"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Одговорите на долазни позив и завршите позив који је у току"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Камера је искључена"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Превуците нагоре помоћу два прста да бисте одговорили. Превуците надоле помоћу два прста да бисте одбили."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Важан позив"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-sv/strings.xml b/java/com/android/incallui/answer/impl/res/values-sv/strings.xml
index ec8a5de..0093b8c 100644
--- a/java/com/android/incallui/answer/impl/res/values-sv/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-sv/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Svep från ikonen för att avvisa med meddelande"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Svep från ikonen för att svara som röstsamtal"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Svep uppåt för att svara och parkera pågående samtal"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Svep uppåt för att svara och avsluta parkerat samtal"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Svep från ikonen för att svara på inkommande samtal och avsluta pågående samtal"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Skriv eget …"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Telefonlur"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Högtalartelefon"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Skicka"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Avvisa det här samtalet med ett meddelande"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Svara som röstsamtal"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Svara på inkommande samtal och avsluta pågående samtal"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Avvisa med meddelande"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Svara som röstsamtal"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Svara på inkommande samtal och avsluta pågående samtal"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video avstängd"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Dra två fingrar uppåt för att svara och två nedåt för att avvisa."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Viktigt samtal"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-sw/strings.xml b/java/com/android/incallui/answer/impl/res/values-sw/strings.xml
index 0df7874..025010d 100644
--- a/java/com/android/incallui/answer/impl/res/values-sw/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-sw/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Telezesha kidole ukianzia kwenye aikoni ili utume ujumbe wa kukataa"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Telezesha kidole ukianzia kwenye aikoni ili uijibu kama simu ya sauti"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Telezesha kidole ili upokee na usitishe kidogo simu inayoendelea"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Telezesha kidole ili upokee na ukate simu iliyositishwa"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Telezesha kidole ukianzia kwenye aikoni ili ujibu simu inayoingia na ukate simu inayoendelea"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Andika yako mwenyewe…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Spika ya masikioni"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Spika ya simu"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Tuma"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Kataa simu hii na utume ujumbe wa kueleza"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Ijibu kama simu ya sauti"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Jibu simu inayoingia na ukate simu inayoendelea"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Kataa na utume ujumbe"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Ijibu kama simu ya sauti"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Jibu simu inayoingia na ukate simu inayoendelea"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video imezimwa"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Telezesha juu kwa vidole viwili ili uijibu. Telezesha chini kwa vidole viwili ili uikate."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Simu muhimu"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-ta/strings.xml b/java/com/android/incallui/answer/impl/res/values-ta/strings.xml
index 2f30664..5631afa 100644
--- a/java/com/android/incallui/answer/impl/res/values-ta/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-ta/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"செய்தியுடன் நிராகரிக்க, ஐகானிலிருந்து ஸ்வைப் செய்யவும்"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"ஆடியோ அழைப்பில் பதிலளிக்க, ஐகானிலிருந்து ஸ்வைப் செய்யவும்"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"உள்வரும் அழைப்பிற்குப் பதிலளித்து, செயலிலுள்ள அழைப்பை ஹோல்டில் வைக்க, மேலே ஸ்வைப் செய்யவும்"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"உள்வரும் அழைப்பிற்குப் பதிலளித்து, ஹோல்டில் உள்ள அழைப்பை முடிக்க, மேலே ஸ்வைப் செய்யவும்"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"உள்வரும் அழைப்பிற்குப் பதிலளித்து, செயலிலுள்ள அழைப்பை முடிக்க, ஐகானிலிருந்து ஸ்வைப் செய்யவும்"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"நீங்களே எழுதவும்…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"ஹேண்ட்செட்"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"ஸ்பீக்கர்ஃபோன்"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"அனுப்பு"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"செய்தி அனுப்பி இந்த அழைப்பை நிராகரி"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"ஆடியோ அழைப்பில் பதிலளி"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"உள்வரும் அழைப்பிற்குப் பதிலளித்து, செயலிலுள்ள அழைப்பை முடிக்கவும்"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"செய்தியுடன் நிராகரி"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"ஆடியோ அழைப்பில் பதிலளி"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"உள்வரும் அழைப்பிற்குப் பதிலளித்து, செயலிலுள்ள அழைப்பை முடிக்கவும்"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"வீடியோ முடக்கப்பட்டுள்ளது"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"பதிலளிக்க, இரு விரல்களால் மேலே ஸ்வைப் செய்யவும். நிராகரிக்க, இரு விரல்களால் கீழே ஸ்வைப் செய்யவும்."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"முக்கியமான அழைப்பு"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-te/strings.xml b/java/com/android/incallui/answer/impl/res/values-te/strings.xml
index b902e65..932102c 100644
--- a/java/com/android/incallui/answer/impl/res/values-te/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-te/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"సందేశంతో తిరస్కరించడానికి చిహ్నం నుండి స్వైప్ చేయండి"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"ఆడియో కాల్ రూపంలో సమాధానం ఇవ్వడానికి చిహ్నం నుండి స్వైప్ చేయండి"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"సమాధానం ఇవ్వడానికి మరియు కొనసాగుతున్న కాల్‌ను హోల్డ్‌లో ఉంచడానికి పైకి స్వైప్ చేయండి"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"సమాధానం ఇవ్వడానికి మరియు హోల్డ్‌లో ఉన్న కాల్‌ను ముగించడానికి పైకి స్వైప్ చేయండి"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"ఇన్‌కమింగ్ కాల్‌కు సమాధానం ఇవ్వడానికి మరియు కొనసాగుతున్న కాల్‌ను ముగించడానికి చిహ్నం నుండి స్వైప్ చేయండి"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"మీ స్వంతంగా వ్రాయండి…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"హ్యాండ్‌సెట్"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"స్పీకర్‌ఫోన్"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"పంపు"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"ఈ కాల్‌ను సందేశంతో తిరస్కరించండి"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"ఆడియో కాల్ రూపంలో సమాధానమివ్వండి"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"ఇన్‌కమింగ్ కాల్‌కు సమాధానం ఇవ్వండి మరియు కొనసాగుతున్న కాల్‌ను ముగించండి"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"సందేశంతో తిరస్కరించండి"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"ఆడియో కాల్ రూపంలో సమాధానమివ్వండి"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"ఇన్‌కమింగ్ కాల్‌కు సమాధానం ఇస్తుంది మరియు కొనసాగుతున్న కాల్‌ను ముగిస్తుంది"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"వీడియో ఆఫ్‌లో ఉంది"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"సమాధానం ఇవ్వడానికి రెండు వేళ్లతో పైకి స్వైప్ చేయండి. తిరస్కరించడానికి రెండు వేళ్లతో క్రిందికి స్వైప్ చేయండి."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"ముఖ్యమైన కాల్"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-th/strings.xml b/java/com/android/incallui/answer/impl/res/values-th/strings.xml
index b13991f..4f5e320 100644
--- a/java/com/android/incallui/answer/impl/res/values-th/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-th/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"เลื่อนไอคอนเพื่อปฏิเสธสายด้วยข้อความ"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"เลื่อนไอคอนเพื่อรับสายเป็นการโทรด้วยเสียง"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"เลื่อนหน้าจอขึ้นเพื่อรับสายและพักสายปัจจุบัน"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"เลื่อนหน้าจอขึ้นเพื่อรับสายและวางสายที่พักไว้"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"เลื่อนจากไอคอนเพื่อรับสายเรียกเข้าและวางสายปัจจุบัน"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"เขียนคำตอบของคุณเอง…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"มือถือ"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"ลำโพง"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"ส่ง"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"ปฏิเสธสายเรียกเข้าด้วยข้อความ"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"รับสายเป็นการโทรด้วยเสียง"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"รับสายเรียกเข้าและวางสายปัจจุบัน"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"ปฏิเสธด้วยข้อความ"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"รับสายเป็นการโทรด้วยเสียง"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"รับสายเรียกเข้าและวางสายปัจจุบัน"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"วิดีโอปิดอยู่"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"ใช้สองนิ้วเลื่อนขึ้นเพื่อรับสายและเลื่อนลงเพื่อตัดสาย"</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"สายสำคัญ"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-tl/strings.xml b/java/com/android/incallui/answer/impl/res/values-tl/strings.xml
index f2fa1a5..fef9de9 100644
--- a/java/com/android/incallui/answer/impl/res/values-tl/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-tl/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"I-swipe mula sa icon upang tanggihan gamit ang mensahe"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"I-swipe mula sa icon upang sagutin bilang isang audio call"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"I-swipe nang pataas upang sagutin at i-hold ang kasalukuyang tawag"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"I-swipe nang pataas upang sagutin at tapusin ang tawag na naka-hold"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"I-swipe mula sa icon upang sagutin ang papasok na tawag at tapusin ang kasalukuyang tawag"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Magsulat ng sarili mo…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Handset"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Speakerphone"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Ipadala"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Tanggihan ang tawag na ito gamit ang isang mensahe"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Sagutin bilang audio call"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Sagutin ang papasok na tawag at tapusin ang kasalukuyang tawag"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Tanggihan gamit ang mensahe"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Sagutin bilang audio call"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Sagutin ang papasok na tawag at tapusin ang kasalukuyang tawag"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Naka-off ang video"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"I-swipe nang pataas gamit ang dalawang daliri upang sagutin. I-swipe nang pababa gamit ang dalawang daliri upang tanggihan."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Mahalagang tawag"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-tr/strings.xml b/java/com/android/incallui/answer/impl/res/values-tr/strings.xml
index 9cd8fa0..62bbba9 100644
--- a/java/com/android/incallui/answer/impl/res/values-tr/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-tr/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Mesajla reddetmek için, simgeden hızlıca kaydırın"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Sesli çağrı olarak cevaplamak için, simgeden hızlıca kaydırın"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Devam eden çağrı cevaplamak ve bekletmek için hızlıca yukarı kaydırın"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Cevaplamak ve beklemedeki çağrıyı sona erdirmek için hızlıca yukarı kaydırın"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Gelen çağrıyı cevaplamak ve devam eden çağrıyı sona erdirmek için simgeden hızlıca kaydırın"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Kendi yanıtınızı oluşturun…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Mobil cihaz kulaklığı"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Hoparlör"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Gönder"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Bu çağrıyı mesajla reddedin"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Sesli çağrı olarak cevaplayın"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Gelen çağrıyı cevapla ve devam eden çağrıyı sona erdir"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Çağrıyı, mesajla reddedin"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Sesli çağrı olarak cevaplayın"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Gelen çağrı cevaplanır ve devam eden çağrı sona erdirilir"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video kapalı"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Cevaplamak için iki parmağınızla hızlıca yukarı kaydırın. Reddetmek içinse iki parmağınızla hızlıca aşağı kaydırın."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Önemli çağrı"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-uk/strings.xml b/java/com/android/incallui/answer/impl/res/values-uk/strings.xml
index ecf77bf..1ef016c 100644
--- a/java/com/android/incallui/answer/impl/res/values-uk/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-uk/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Проведіть пальцем убік від значка, щоб відхилити з повідомленням"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Проведіть пальцем убік від значка, щоб відповісти в режимі аудіодзвінка"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Проведіть пальцем угору, щоб відповісти, утримуючи поточний виклик"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Проведіть пальцем угору, щоб відповісти, завершивши утримуваний виклик"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Проведіть пальцем від значка, щоб відповісти на вхідний виклик, завершивши поточний"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Напишіть власну відповідь…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Гарнітура"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Гучний зв’язок"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Надіслати"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Відхилити цей виклик, додавши повідомлення"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Відповісти в режимі аудіодзвінка"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Відповісти на вхідний виклик, завершивши поточний"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Відхилити, додавши повідомлення"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Відповісти в режимі аудіодзвінка"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Відповісти на вхідний виклик, завершивши поточний"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Відео вимкнено"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Проведіть двома пальцями вгору, щоб відповісти, або вниз, щоб відхилити дзвінок."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Важливий виклик"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-ur/strings.xml b/java/com/android/incallui/answer/impl/res/values-ur/strings.xml
index 1106725..ea36449 100644
--- a/java/com/android/incallui/answer/impl/res/values-ur/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-ur/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"پیغام کے ساتھ رد کرنے کیلئے آئیکن سے سوائپ کریں"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"آڈیو کال کے بطور جواب دینے کیلئے آئیکن سے سوائپ کریں"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"جواب دینے اور جاری کال کو ہولڈ کرنے کیلئے اوپر سوائپ کریں"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"جواب دینے اور ہولڈ کردہ کال کو ختم کرنے کیلئے اوپر سوائپ کریں"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"آنے والی کال کا جواب دینے اور جاری کال کو ختم کرنے کیلئے آئیکن سے سوائپ کریں"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"خود اپنا تحریر کریں…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"ہینڈ سیٹ"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"اسپیکر فون"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"بھیجیں"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"اس کال کو ایک پیغام کے ساتھ مسترد کریں"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"آڈیو کال کے بطور جواب دیں"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"آنے والی کال کا جواب دیں اور جاری کال کو ختم کریں"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"پیغام کے ساتھ مسترد کریں"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"آڈیو کال کے بطور جواب دیں"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"آنے والی کال کا جواب دیں اور جاری کال کو ختم کریں"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"ویڈیو آف ہے"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"جواب دینے کیلئے دوانگلیوں کے ساتھ اوپر سوائپ کریں۔ مسترد کرنے کیلئے دو انگلیوں کے ساتھ نیچے سوائپ کریں۔"</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"اہم کال"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-uz/strings.xml b/java/com/android/incallui/answer/impl/res/values-uz/strings.xml
index d3f7418..a018a68 100644
--- a/java/com/android/incallui/answer/impl/res/values-uz/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-uz/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Qo‘ng‘iroqni SMS bilan rad etish uchun nishonchadan suring."</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Ovozli qo‘ng‘iroq rejimida javob berish uchun nishonchadan suring."</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Javob berish va joriy qo‘ng‘iroqni kutish rejimiga o‘tkazish uchun tepaga suring"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Javob berish va kutish rejimidagi qo‘ng‘iroqni tugatish uchun tepaga suring"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Kiruvchi chaqiruvga javob berish va joriy qo‘ng‘iroqni tugatish uchun nishonchadan suring"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Sizning javobingiz…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Telefon"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Baland ovoz"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Yuborish"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Bu qo‘ng‘iroqni xabar bilan rad etish"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Ovozli qo‘ng‘iroq rejimida javob berish"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Kiruvchi chaqiruvga javob berish va joriy qo‘ng‘iroqni tugatish"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Xabar yuborib rad etish"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Ovozli qo‘ng‘iroq rejimida javob berish"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Kiruvchi chaqiruvga javob berish va joriy qo‘ng‘iroqni tugatish"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Kamera o‘chiq"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Chaqiruvga javob berish uchun ikki barmoq bilan tepaga, rad etish uchun ikki barmoq bilan pastga suring."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Muhim chaqiruv"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-vi/strings.xml b/java/com/android/incallui/answer/impl/res/values-vi/strings.xml
index c477c06..6d8a150 100644
--- a/java/com/android/incallui/answer/impl/res/values-vi/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-vi/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Vuốt từ biểu tượng để từ chối kèm thông báo"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Vuốt từ biểu tượng để trả lời dưới dạng cuộc gọi âm thanh"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Vuốt lên để trả lời và giữ cuộc gọi đang diễn ra"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Vuốt lên để trả lời và kết thúc cuộc gọi đang chờ"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Vuốt từ biểu tượng để trả lời cuộc gọi đến và kết thúc cuộc gọi đang diễn ra"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Viết trả lời của riêng bạn…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Điện thoại di động"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Loa ngoài"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Gửi"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Từ chối cuộc gọi này bằng tin nhắn"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Trả lời dưới dạng cuộc gọi âm thanh"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Trả lời cuộc gọi đến và kết thúc cuộc gọi đang diễn ra"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Từ chối bằng tin nhắn"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Trả lời dưới dạng cuộc gọi âm thanh"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Trả lời cuộc gọi đến và kết thúc cuộc gọi đang diễn ra"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Video đã tắt"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Vuốt hai ngón tay lên để trả lời. Vuốt hai ngón tay xuống để từ chối."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Cuộc gọi quan trọng"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-zh-rCN/strings.xml b/java/com/android/incallui/answer/impl/res/values-zh-rCN/strings.xml
index 828a920..d422822 100644
--- a/java/com/android/incallui/answer/impl/res/values-zh-rCN/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-zh-rCN/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"滑动图标即可拒接来电并发送信息"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"滑动图标即可以音频通话的形式接听"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"向上滑动即可接听并保持当前通话"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"向上滑动即可接听并结束保持的通话"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"滑动图标即可接听来电并结束当前通话"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"自行撰写回复…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"手机听筒"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"免提"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"发送"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"拒接此来电并发送信息"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"以音频通话的形式接听"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"接听来电并结束当前通话"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"拒接来电并发送信息"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"以音频通话的形式接听"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"接听来电并结束当前通话"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"摄像头处于关闭状态"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"双指向上滑动即可接听,向下滑动则可拒接。"</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"重要来电"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-zh-rHK/strings.xml b/java/com/android/incallui/answer/impl/res/values-zh-rHK/strings.xml
index 1b87159..00b0f51 100644
--- a/java/com/android/incallui/answer/impl/res/values-zh-rHK/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-zh-rHK/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"從圖示快速滑動即可透過訊息拒絕"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"從圖示快速滑動即可接聽語音通話"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"向上滑動可接聽並保留進行中的通話"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"向上滑動即可接聽並結束保留的通話"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"從圖示快速滑動即可接聽來電並結束進行中的通話"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"自行撰寫回覆…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"免提聽筒"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"擴音器"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"發送"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"用訊息回絕此來電"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"接聽語音通話"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"接聽來電並結束進行中的通話"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"用訊息回絕"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"接聽語音通話"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"接聽來電並結束進行中的通話"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"視像已關閉"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"兩指向上滑動可接聽,向下滑動則可拒接。"</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"重要來電"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-zh-rTW/strings.xml b/java/com/android/incallui/answer/impl/res/values-zh-rTW/strings.xml
index 4ddc0fa..083494a 100644
--- a/java/com/android/incallui/answer/impl/res/values-zh-rTW/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-zh-rTW/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"滑動圖示即可拒接來電並傳送簡訊"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"滑動圖示即可透過語音通話方式接聽來電"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"向上滑動即可接聽及保留進行中的通話"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"向上滑動即可接聽及結束保留中的通話"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"滑動圖示即可接聽來電及結束進行中的通話"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"自行撰寫回應…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"聽筒模式"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"擴音模式"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"傳送"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"拒接這通來電並傳送簡訊"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"透過語音通話方式接聽來電"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"接聽來電及結束進行中的通話"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"拒接來電並傳送簡訊"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"透過語音通話方式接聽來電"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"接聽來電及結束進行中的通話"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"已關閉攝影機"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"用雙指向上滑動可接聽,向下滑動可拒接。"</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"重要通話"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values-zu/strings.xml b/java/com/android/incallui/answer/impl/res/values-zu/strings.xml
index 96126d2..f0c74da 100644
--- a/java/com/android/incallui/answer/impl/res/values-zu/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values-zu/strings.xml
@@ -3,6 +3,9 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="call_incoming_swipe_to_decline_with_message" msgid="2426342919316424240">"Swayipha isithonjana ukuze wenqabe ngomlayezo"</string>
     <string name="call_incoming_swipe_to_answer_video_as_audio" msgid="2656902519734774070">"Swayipha kusuka esithonjaneni ukuze uphendule ikholi yomsindo"</string>
+    <string name="call_incoming_default_label_answer_and_release_second" msgid="4543429977872844314">"Swayiphela phezulu ukuze uphendule futhi ubambe ikholi eqhubekayo"</string>
+    <string name="call_incoming_default_label_answer_and_release_third" msgid="1738895612225349741">"Swayiphela phezulu ukuze uphendule futhi uphelise ikholi ebanjiwe"</string>
+    <string name="call_incoming_swipe_to_answer_and_release" msgid="5695449250270204669">"Swayipha kusuka esithonjaneni ukuze uphendule ikholi engenayo futhi uphelise ikholi eqhubekayo"</string>
     <string name="call_incoming_message_custom" msgid="5819492800418293238">"Bhala okwakho…"</string>
     <string name="call_incoming_audio_handset" msgid="2299009191401671619">"Okuphathwa ngesandla"</string>
     <string name="call_incoming_audio_speakerphone" msgid="5632622369522427991">"Isipikhasefoni"</string>
@@ -11,8 +14,10 @@
     <string name="call_incoming_custom_message_send" msgid="3826716354040318205">"Thumela"</string>
     <string name="a11y_incoming_call_reject_with_sms" msgid="6101839791429796754">"Yenqaba le kholi ngomlayezo"</string>
     <string name="a11y_incoming_call_answer_video_as_audio" msgid="3890612269318682756">"Phendula njengekholi yomsindo"</string>
+    <string name="a11y_incoming_call_answer_and_release" msgid="6771962954510757804">"Phendula ikholi engenayo bese uphelise ikholi eqhubekayo"</string>
     <string name="a11y_description_incoming_call_reject_with_sms" msgid="4705064921696291310">"Yenqaba ngomsebenzi"</string>
     <string name="a11y_description_incoming_call_answer_video_as_audio" msgid="1562530317428907884">"Phendula njengekholi yomsindo"</string>
+    <string name="a11y_description_incoming_call_answer_and_release" msgid="1162931642679631008">"Phendula ikholi engenayo bese uphelise ikholi eqhubekayo"</string>
     <string name="call_incoming_video_is_off" msgid="3216603035158629403">"Ividiyo ivaliwe"</string>
     <string name="a11y_incoming_call_swipe_gesture_prompt" msgid="8682480557168484972">"Swayiphela iminwe emibili phezulu ukuze uphendule. Swayiphela iminwe emibili phansi ukuze wenqabe."</string>
     <string name="call_incoming_important" msgid="6477906345540334049">"Ikholi ebalulekile"</string>
diff --git a/java/com/android/incallui/answer/impl/res/values/strings.xml b/java/com/android/incallui/answer/impl/res/values/strings.xml
index 7fc91fc..f13d8ec 100644
--- a/java/com/android/incallui/answer/impl/res/values/strings.xml
+++ b/java/com/android/incallui/answer/impl/res/values/strings.xml
@@ -2,6 +2,9 @@
 <resources>
   <string name="call_incoming_swipe_to_decline_with_message">Swipe from icon to decline with message</string>
   <string name="call_incoming_swipe_to_answer_video_as_audio">Swipe from icon to answer as an audio call</string>
+  <string name="call_incoming_default_label_answer_and_release_second">Swipe up to answer and hold ongoing call</string>
+  <string name="call_incoming_default_label_answer_and_release_third">Swipe up to answer and end call on hold</string>
+  <string name="call_incoming_swipe_to_answer_and_release">Swipe from icon to answer incoming call and end ongoing call</string>
   <string name="call_incoming_message_custom">Write your own…</string>
   <string name="call_incoming_audio_handset">Handset</string>
   <string name="call_incoming_audio_speakerphone">Speakerphone</string>
@@ -13,9 +16,10 @@
   <string name="call_incoming_custom_message_send">Send</string>
   <string name="a11y_incoming_call_reject_with_sms">Reject this call with a message</string>
   <string name="a11y_incoming_call_answer_video_as_audio">Answer as audio call</string>
+  <string name="a11y_incoming_call_answer_and_release">Answer incoming call and end ongoing call</string>
   <string name="a11y_description_incoming_call_reject_with_sms">Reject with message</string>
   <string name="a11y_description_incoming_call_answer_video_as_audio">Answer as audio call</string>
-
+  <string name="a11y_description_incoming_call_answer_and_release">Answer incoming call and end ongoing call</string>
   <!-- Text indicates the video local camera is off. [CHAR LIMIT=40] -->
   <string name="call_incoming_video_is_off">Video is off</string>
 
diff --git a/java/com/android/incallui/answer/protocol/AnswerScreen.java b/java/com/android/incallui/answer/protocol/AnswerScreen.java
index f03efef..8bcad6e 100644
--- a/java/com/android/incallui/answer/protocol/AnswerScreen.java
+++ b/java/com/android/incallui/answer/protocol/AnswerScreen.java
@@ -28,6 +28,8 @@
 
   boolean isVideoUpgradeRequest();
 
+  boolean allowAnswerAndRelease();
+
   void setTextResponses(List<String> textResponses);
 
   boolean hasPendingDialogs();
diff --git a/java/com/android/incallui/answer/protocol/AnswerScreenDelegate.java b/java/com/android/incallui/answer/protocol/AnswerScreenDelegate.java
index 36b4e3a..9815981 100644
--- a/java/com/android/incallui/answer/protocol/AnswerScreenDelegate.java
+++ b/java/com/android/incallui/answer/protocol/AnswerScreenDelegate.java
@@ -31,6 +31,7 @@
 
   void onReject();
 
+  void onAnswerAndReleaseCall();
   /**
    * Sets the window background color based on foreground call's theme and the given progress. This
    * is called from the answer UI to animate the accept and reject action.
diff --git a/java/com/android/incallui/call/CallList.java b/java/com/android/incallui/call/CallList.java
index c88802f..cc7e1e2 100644
--- a/java/com/android/incallui/call/CallList.java
+++ b/java/com/android/incallui/call/CallList.java
@@ -41,7 +41,7 @@
 import com.android.incallui.call.DialerCall.State;
 import com.android.incallui.latencyreport.LatencyReport;
 import com.android.incallui.util.TelecomCallUtil;
-import com.android.incallui.videotech.VideoTech;
+import com.android.incallui.videotech.utils.SessionModificationState;
 import java.util.Collections;
 import java.util.Iterator;
 import java.util.Map;
@@ -467,7 +467,7 @@
   public DialerCall getVideoUpgradeRequestCall() {
     for (DialerCall call : mCallById.values()) {
       if (call.getVideoTech().getSessionModificationState()
-          == VideoTech.SESSION_MODIFICATION_STATE_RECEIVED_UPGRADE_TO_VIDEO_REQUEST) {
+          == SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST) {
         return call;
       }
     }
diff --git a/java/com/android/incallui/call/DialerCall.java b/java/com/android/incallui/call/DialerCall.java
index 15a0233..4f5a8b7 100644
--- a/java/com/android/incallui/call/DialerCall.java
+++ b/java/com/android/incallui/call/DialerCall.java
@@ -56,7 +56,7 @@
 import com.android.incallui.videotech.VideoTech.VideoTechListener;
 import com.android.incallui.videotech.empty.EmptyVideoTech;
 import com.android.incallui.videotech.ims.ImsVideoTech;
-import com.android.incallui.videotech.rcs.RcsVideoShare;
+import com.android.incallui.videotech.utils.VideoUtils;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.util.ArrayList;
@@ -1253,21 +1253,26 @@
 
   private static class VideoTechManager {
     private final EmptyVideoTech emptyVideoTech = new EmptyVideoTech();
-    private final VideoTech[] videoTechs;
+    private final List<VideoTech> videoTechs;
     private VideoTech savedTech;
 
     VideoTechManager(DialerCall call) {
       String phoneNumber = call.getNumber();
 
       // Insert order here determines the priority of that video tech option
-      videoTechs =
-          new VideoTech[] {
-            new ImsVideoTech(call, call.mTelecomCall),
-            new RcsVideoShare(
-                EnrichedCallComponent.get(call.mContext).getEnrichedCallManager(),
-                call,
-                phoneNumber != null ? phoneNumber : "")
-          };
+      this.videoTechs = new ArrayList<>();
+      videoTechs.add(new ImsVideoTech(call, call.mTelecomCall));
+
+      VideoTech rcsVideoTech =
+          EnrichedCallComponent.get(call.mContext)
+              .getRcsVideoShareFactory()
+              .newRcsVideoShare(
+                  EnrichedCallComponent.get(call.mContext).getEnrichedCallManager(),
+                  call,
+                  phoneNumber != null ? phoneNumber : "");
+      if (rcsVideoTech != null) {
+        videoTechs.add(rcsVideoTech);
+      }
     }
 
     VideoTech getVideoTech() {
diff --git a/java/com/android/incallui/contactgrid/TopRow.java b/java/com/android/incallui/contactgrid/TopRow.java
index ecd5eea..80fa215 100644
--- a/java/com/android/incallui/contactgrid/TopRow.java
+++ b/java/com/android/incallui/contactgrid/TopRow.java
@@ -22,9 +22,9 @@
 import android.text.TextUtils;
 import com.android.dialer.common.Assert;
 import com.android.incallui.call.DialerCall.State;
-import com.android.incallui.call.VideoUtils;
 import com.android.incallui.incall.protocol.PrimaryCallState;
-import com.android.incallui.videotech.VideoTech;
+import com.android.incallui.videotech.utils.SessionModificationState;
+import com.android.incallui.videotech.utils.VideoUtils;
 
 /**
  * Gets the content of the top row. For example:
@@ -144,18 +144,18 @@
 
   private static CharSequence getLabelForVideoRequest(Context context, PrimaryCallState state) {
     switch (state.sessionModificationState) {
-      case VideoTech.SESSION_MODIFICATION_STATE_WAITING_FOR_UPGRADE_TO_VIDEO_RESPONSE:
+      case SessionModificationState.WAITING_FOR_UPGRADE_TO_VIDEO_RESPONSE:
         return context.getString(R.string.incall_video_call_requesting);
-      case VideoTech.SESSION_MODIFICATION_STATE_REQUEST_FAILED:
-      case VideoTech.SESSION_MODIFICATION_STATE_UPGRADE_TO_VIDEO_REQUEST_FAILED:
+      case SessionModificationState.REQUEST_FAILED:
+      case SessionModificationState.UPGRADE_TO_VIDEO_REQUEST_FAILED:
         return context.getString(R.string.incall_video_call_request_failed);
-      case VideoTech.SESSION_MODIFICATION_STATE_REQUEST_REJECTED:
+      case SessionModificationState.REQUEST_REJECTED:
         return context.getString(R.string.incall_video_call_request_rejected);
-      case VideoTech.SESSION_MODIFICATION_STATE_UPGRADE_TO_VIDEO_REQUEST_TIMED_OUT:
+      case SessionModificationState.UPGRADE_TO_VIDEO_REQUEST_TIMED_OUT:
         return context.getString(R.string.incall_video_call_request_timed_out);
-      case VideoTech.SESSION_MODIFICATION_STATE_RECEIVED_UPGRADE_TO_VIDEO_REQUEST:
+      case SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST:
         return getLabelForIncomingVideo(context, state.isWifi);
-      case VideoTech.SESSION_MODIFICATION_STATE_NO_REQUEST:
+      case SessionModificationState.NO_REQUEST:
       default:
         Assert.fail();
         return null;
diff --git a/java/com/android/incallui/incall/impl/InCallFragment.java b/java/com/android/incallui/incall/impl/InCallFragment.java
index 02e9b4a..ea3ce8e 100644
--- a/java/com/android/incallui/incall/impl/InCallFragment.java
+++ b/java/com/android/incallui/incall/impl/InCallFragment.java
@@ -85,6 +85,17 @@
   private int phoneType;
   private boolean stateRestored;
 
+  // Add animation to educate users. If a call has enriched calling attachments then we'll
+  // initially show the attachment page. After a delay seconds we'll animate to the button grid.
+  private final Handler handler = new Handler();
+  private final Runnable pagerRunnable =
+      new Runnable() {
+        @Override
+        public void run() {
+          pager.setCurrentItem(adapter.getButtonGridPosition());
+        }
+      };
+
   private static boolean isSupportedButton(@InCallButtonIds int id) {
     return id == InCallButtonIds.BUTTON_AUDIO
         || id == InCallButtonIds.BUTTON_MUTE
@@ -134,6 +145,11 @@
 
     paginator = (InCallPaginator) view.findViewById(R.id.incall_paginator);
     pager = (LockableViewPager) view.findViewById(R.id.incall_pager);
+    pager.setOnTouchListener(
+        (v, event) -> {
+          handler.removeCallbacks(pagerRunnable);
+          return false;
+        });
 
     endCallButton = view.findViewById(R.id.incall_end_call);
     endCallButton.setOnClickListener(this);
@@ -249,18 +265,7 @@
       paginator.setVisibility(View.VISIBLE);
       paginator.setupWithViewPager(pager);
       if (!stateRestored) {
-        new Handler()
-            .postDelayed(
-                new Runnable() {
-                  @Override
-                  public void run() {
-                    // In order to prevent user confusion and educate the user on our UI, we animate
-                    // the view pager to the button grid after 2 seconds show them when the UI is
-                    // that they are more familiar with.
-                    pager.setCurrentItem(adapter.getButtonGridPosition());
-                  }
-                },
-                2000);
+        handler.postDelayed(pagerRunnable, 4_000);
       } else {
         paginator.setVisibility(View.GONE);
       }
diff --git a/java/com/android/incallui/incall/protocol/PrimaryCallState.java b/java/com/android/incallui/incall/protocol/PrimaryCallState.java
index 6e1680b..2ae6a18 100644
--- a/java/com/android/incallui/incall/protocol/PrimaryCallState.java
+++ b/java/com/android/incallui/incall/protocol/PrimaryCallState.java
@@ -19,8 +19,7 @@
 import android.graphics.drawable.Drawable;
 import android.telecom.DisconnectCause;
 import com.android.incallui.call.DialerCall;
-import com.android.incallui.videotech.VideoTech;
-import com.android.incallui.videotech.VideoTech.SessionModificationState;
+import com.android.incallui.videotech.utils.SessionModificationState;
 import java.util.Locale;
 
 /** State of the primary call. */
@@ -51,7 +50,7 @@
     return new PrimaryCallState(
         DialerCall.State.IDLE,
         false, /* isVideoCall */
-        VideoTech.SESSION_MODIFICATION_STATE_NO_REQUEST,
+        SessionModificationState.NO_REQUEST,
         new DisconnectCause(DisconnectCause.UNKNOWN),
         null, /* connectionLabel */
         null, /* connectionIcon */
diff --git a/java/com/android/incallui/res/drawable/ic_hd_call.xml b/java/com/android/incallui/res/drawable/ic_hd_call.xml
new file mode 100644
index 0000000..b887d3f
--- /dev/null
+++ b/java/com/android/incallui/res/drawable/ic_hd_call.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+  ~ Copyright (C) 2017 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License
+  -->
+
+<!-- This is came from Motorola which is requested by Sprint for HD call. -->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+  android:height="24dp"
+  android:viewportHeight="24.0"
+  android:viewportWidth="24.0"
+  android:width="24dp">
+
+  <path
+    android:fillColor="#fff"
+    android:pathData="M4.54,12.9A14.83,14.83 0,0 0,11 19.35l2.15,-2.15a1,1 0,0 1,1 -0.23,11.17 11.17,0 0,0 3.5,0.56 1,1 0,0 1,1 1v3.42a1,1 0,0 1,-1 1A16.64,16.64 0,0 1,1 6.25a1,1 0,0 1,1 -1H5.41a1,1 0,0 1,1 1,11.12 11.12,0 0,0 0.56,3.5 1,1 0,0 1,-0.24 1Z"/>
+  <path
+    android:fillColor="#fff"
+    android:pathData="M15.38,12.67H14.22V8.44H10.54v4.23H9.38V3.51h1.15V7.45h3.69V3.51h1.16Z"/>
+  <path
+    android:fillColor="#fff"
+    android:pathData="M17.37,12.67V3.51h2.18a3.15,3.15 0,0 1,2.49 1,4.12 4.12,0 0,1 0.89,2.82V8.87a4,4 0,0 1,-0.9 2.81,3.35 3.35,0 0,1 -2.61,1ZM18.52,4.5v7.18h0.92a2.14,2.14 0,0 0,1.77 -0.7,3.28 3.28,0 0,0 0.57,-2.06V7.3a3.32,3.32 0,0 0,-0.56 -2.12,2.05 2.05,0 0,0 -1.68,-0.68Z"/>
+</vector>
\ No newline at end of file
diff --git a/java/com/android/incallui/video/bindings/VideoBindings.java b/java/com/android/incallui/video/bindings/VideoBindings.java
index a80a6c7..08db593 100644
--- a/java/com/android/incallui/video/bindings/VideoBindings.java
+++ b/java/com/android/incallui/video/bindings/VideoBindings.java
@@ -16,13 +16,17 @@
 
 package com.android.incallui.video.bindings;
 
+import com.android.incallui.video.impl.SurfaceViewVideoCallFragment;
 import com.android.incallui.video.impl.VideoCallFragment;
 import com.android.incallui.video.protocol.VideoCallScreen;
 
 /** Bindings for video module. */
 public class VideoBindings {
 
-  public static VideoCallScreen createVideoCallScreen(String callId) {
+  public static VideoCallScreen createVideoCallScreen(String callId, boolean usesSurfaceView) {
+    if (usesSurfaceView) {
+      return SurfaceViewVideoCallFragment.newInstance(callId);
+    }
     return VideoCallFragment.newInstance(callId);
   }
 }
diff --git a/java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java b/java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java
new file mode 100644
index 0000000..c969fb0
--- /dev/null
+++ b/java/com/android/incallui/video/impl/SurfaceViewVideoCallFragment.java
@@ -0,0 +1,1081 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.incallui.video.impl;
+
+import android.Manifest.permission;
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.content.res.Resources;
+import android.graphics.Point;
+import android.graphics.drawable.Animatable;
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.support.annotation.VisibleForTesting;
+import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentTransaction;
+import android.support.v4.view.animation.FastOutLinearInInterpolator;
+import android.support.v4.view.animation.LinearOutSlowInInterpolator;
+import android.telecom.CallAudioState;
+import android.text.TextUtils;
+import android.view.LayoutInflater;
+import android.view.Surface;
+import android.view.SurfaceView;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.view.View.OnSystemUiVisibilityChangeListener;
+import android.view.ViewGroup;
+import android.view.ViewGroup.MarginLayoutParams;
+import android.view.ViewTreeObserver;
+import android.view.accessibility.AccessibilityEvent;
+import android.view.animation.AccelerateDecelerateInterpolator;
+import android.view.animation.Interpolator;
+import android.widget.ImageButton;
+import android.widget.ImageView;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
+import com.android.dialer.common.Assert;
+import com.android.dialer.common.FragmentUtils;
+import com.android.dialer.common.LogUtil;
+import com.android.dialer.compat.ActivityCompat;
+import com.android.incallui.audioroute.AudioRouteSelectorDialogFragment;
+import com.android.incallui.audioroute.AudioRouteSelectorDialogFragment.AudioRouteSelectorPresenter;
+import com.android.incallui.contactgrid.ContactGridManager;
+import com.android.incallui.hold.OnHoldFragment;
+import com.android.incallui.incall.protocol.InCallButtonIds;
+import com.android.incallui.incall.protocol.InCallButtonIdsExtension;
+import com.android.incallui.incall.protocol.InCallButtonUi;
+import com.android.incallui.incall.protocol.InCallButtonUiDelegate;
+import com.android.incallui.incall.protocol.InCallButtonUiDelegateFactory;
+import com.android.incallui.incall.protocol.InCallScreen;
+import com.android.incallui.incall.protocol.InCallScreenDelegate;
+import com.android.incallui.incall.protocol.InCallScreenDelegateFactory;
+import com.android.incallui.incall.protocol.PrimaryCallState;
+import com.android.incallui.incall.protocol.PrimaryInfo;
+import com.android.incallui.incall.protocol.SecondaryInfo;
+import com.android.incallui.video.impl.CheckableImageButton.OnCheckedChangeListener;
+import com.android.incallui.video.protocol.VideoCallScreen;
+import com.android.incallui.video.protocol.VideoCallScreenDelegate;
+import com.android.incallui.video.protocol.VideoCallScreenDelegateFactory;
+import com.android.incallui.videotech.utils.VideoUtils;
+
+/**
+ * Contains UI elements for a video call.
+ *
+ * <p>This version is used by RCS Video Share since Dreamchip requires a SurfaceView instead of the
+ * TextureView, which is present in {@link VideoCallFragment} and used by IMS.
+ */
+public class SurfaceViewVideoCallFragment extends Fragment
+    implements InCallScreen,
+        InCallButtonUi,
+        VideoCallScreen,
+        OnClickListener,
+        OnCheckedChangeListener,
+        AudioRouteSelectorPresenter,
+        OnSystemUiVisibilityChangeListener {
+
+  @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
+  static final String ARG_CALL_ID = "call_id";
+
+  private static final int CAMERA_PERMISSION_REQUEST_CODE = 1;
+  private static final String CAMERA_PERMISSION_DIALOG_FRAMENT_TAG =
+      "CameraPermissionDialogFragment";
+  private static final long CAMERA_PERMISSION_DIALOG_DELAY_IN_MILLIS = 2000L;
+  private static final long VIDEO_OFF_VIEW_FADE_OUT_DELAY_IN_MILLIS = 2000L;
+
+  private InCallScreenDelegate inCallScreenDelegate;
+  private VideoCallScreenDelegate videoCallScreenDelegate;
+  private InCallButtonUiDelegate inCallButtonUiDelegate;
+  private View endCallButton;
+  private CheckableImageButton speakerButton;
+  private SpeakerButtonController speakerButtonController;
+  private CheckableImageButton muteButton;
+  private CheckableImageButton cameraOffButton;
+  private ImageButton swapCameraButton;
+  private View switchOnHoldButton;
+  private View onHoldContainer;
+  private SwitchOnHoldCallController switchOnHoldCallController;
+  private TextView remoteVideoOff;
+  private View mutePreviewOverlay;
+  private View previewOffOverlay;
+  private ImageView previewOffBlurredImageView;
+  private View controls;
+  private View controlsContainer;
+  private SurfaceView previewSurfaceView;
+  private SurfaceView remoteSurfaceView;
+  private View greenScreenBackgroundView;
+  private View fullscreenBackgroundView;
+  private boolean shouldShowRemote;
+  private boolean shouldShowPreview;
+  private boolean isInFullscreenMode;
+  private boolean isInGreenScreenMode;
+  private boolean hasInitializedScreenModes;
+  private boolean isRemotelyHeld;
+  private ContactGridManager contactGridManager;
+  private SecondaryInfo savedSecondaryInfo;
+  private final Runnable cameraPermissionDialogRunnable =
+      new Runnable() {
+        @Override
+        public void run() {
+          if (videoCallScreenDelegate.shouldShowCameraPermissionDialog()) {
+            LogUtil.i("VideoCallFragment.cameraPermissionDialogRunnable", "showing dialog");
+            checkCameraPermission();
+          }
+        }
+      };
+
+  public static SurfaceViewVideoCallFragment newInstance(String callId) {
+    Bundle bundle = new Bundle();
+    bundle.putString(ARG_CALL_ID, Assert.isNotNull(callId));
+
+    SurfaceViewVideoCallFragment instance = new SurfaceViewVideoCallFragment();
+    instance.setArguments(bundle);
+    return instance;
+  }
+
+  @Override
+  public void onCreate(@Nullable Bundle savedInstanceState) {
+    super.onCreate(savedInstanceState);
+    LogUtil.i("VideoCallFragment.onCreate", null);
+
+    inCallButtonUiDelegate =
+        FragmentUtils.getParent(this, InCallButtonUiDelegateFactory.class)
+            .newInCallButtonUiDelegate();
+    if (savedInstanceState != null) {
+      inCallButtonUiDelegate.onRestoreInstanceState(savedInstanceState);
+    }
+  }
+
+  @Override
+  public void onRequestPermissionsResult(
+      int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
+    if (requestCode == CAMERA_PERMISSION_REQUEST_CODE) {
+      if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
+        LogUtil.i("VideoCallFragment.onRequestPermissionsResult", "Camera permission granted.");
+        videoCallScreenDelegate.onCameraPermissionGranted();
+      } else {
+        LogUtil.i("VideoCallFragment.onRequestPermissionsResult", "Camera permission denied.");
+      }
+    }
+    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
+  }
+
+  @Nullable
+  @Override
+  public View onCreateView(
+      LayoutInflater layoutInflater, @Nullable ViewGroup viewGroup, @Nullable Bundle bundle) {
+    LogUtil.i("VideoCallFragment.onCreateView", null);
+
+    View view =
+        layoutInflater.inflate(
+            isLandscape()
+                ? R.layout.frag_videocall_land_surfaceview
+                : R.layout.frag_videocall_surfaceview,
+            viewGroup,
+            false);
+    contactGridManager =
+        new ContactGridManager(view, null /* no avatar */, 0, false /* showAnonymousAvatar */);
+
+    controls = view.findViewById(R.id.videocall_video_controls);
+    controls.setVisibility(
+        ActivityCompat.isInMultiWindowMode(getActivity()) ? View.GONE : View.VISIBLE);
+    controlsContainer = view.findViewById(R.id.videocall_video_controls_container);
+    speakerButton = (CheckableImageButton) view.findViewById(R.id.videocall_speaker_button);
+    muteButton = (CheckableImageButton) view.findViewById(R.id.videocall_mute_button);
+    muteButton.setOnCheckedChangeListener(this);
+    mutePreviewOverlay = view.findViewById(R.id.videocall_video_preview_mute_overlay);
+    cameraOffButton = (CheckableImageButton) view.findViewById(R.id.videocall_mute_video);
+    cameraOffButton.setOnCheckedChangeListener(this);
+    previewOffOverlay = view.findViewById(R.id.videocall_video_preview_off_overlay);
+    previewOffBlurredImageView =
+        (ImageView) view.findViewById(R.id.videocall_preview_off_blurred_image_view);
+    swapCameraButton = (ImageButton) view.findViewById(R.id.videocall_switch_video);
+    swapCameraButton.setOnClickListener(this);
+    view.findViewById(R.id.videocall_switch_controls)
+        .setVisibility(
+            ActivityCompat.isInMultiWindowMode(getActivity()) ? View.GONE : View.VISIBLE);
+    switchOnHoldButton = view.findViewById(R.id.videocall_switch_on_hold);
+    onHoldContainer = view.findViewById(R.id.videocall_on_hold_banner);
+    remoteVideoOff = (TextView) view.findViewById(R.id.videocall_remote_video_off);
+    remoteVideoOff.setAccessibilityLiveRegion(View.ACCESSIBILITY_LIVE_REGION_POLITE);
+    endCallButton = view.findViewById(R.id.videocall_end_call);
+    endCallButton.setOnClickListener(this);
+    previewSurfaceView = (SurfaceView) view.findViewById(R.id.videocall_video_preview);
+    previewSurfaceView.setClipToOutline(true);
+    previewOffOverlay.setOnClickListener(
+        new OnClickListener() {
+          @Override
+          public void onClick(View v) {
+            checkCameraPermission();
+          }
+        });
+    remoteSurfaceView = (SurfaceView) view.findViewById(R.id.videocall_video_remote);
+    greenScreenBackgroundView = view.findViewById(R.id.videocall_green_screen_background);
+    fullscreenBackgroundView = view.findViewById(R.id.videocall_fullscreen_background);
+
+    // We need the texture view size to be able to scale the remote video. At this point the view
+    // layout won't be complete so add a layout listener.
+    ViewTreeObserver observer = remoteSurfaceView.getViewTreeObserver();
+    observer.addOnGlobalLayoutListener(
+        new ViewTreeObserver.OnGlobalLayoutListener() {
+          @Override
+          public void onGlobalLayout() {
+            LogUtil.i("VideoCallFragment.onGlobalLayout", null);
+            updateVideoOffViews();
+            // Remove the listener so we don't continually re-layout.
+            ViewTreeObserver observer = remoteSurfaceView.getViewTreeObserver();
+            if (observer.isAlive()) {
+              observer.removeOnGlobalLayoutListener(this);
+            }
+          }
+        });
+
+    return view;
+  }
+
+  @Override
+  public void onViewCreated(View view, @Nullable Bundle bundle) {
+    super.onViewCreated(view, bundle);
+    LogUtil.i("VideoCallFragment.onViewCreated", null);
+
+    inCallScreenDelegate =
+        FragmentUtils.getParentUnsafe(this, InCallScreenDelegateFactory.class)
+            .newInCallScreenDelegate();
+    videoCallScreenDelegate =
+        FragmentUtils.getParentUnsafe(this, VideoCallScreenDelegateFactory.class)
+            .newVideoCallScreenDelegate(this);
+
+    speakerButtonController =
+        new SpeakerButtonController(speakerButton, inCallButtonUiDelegate, videoCallScreenDelegate);
+    switchOnHoldCallController =
+        new SwitchOnHoldCallController(
+            switchOnHoldButton, onHoldContainer, inCallScreenDelegate, videoCallScreenDelegate);
+
+    videoCallScreenDelegate.initVideoCallScreenDelegate(getContext(), this);
+
+    inCallScreenDelegate.onInCallScreenDelegateInit(this);
+    inCallScreenDelegate.onInCallScreenReady();
+    inCallButtonUiDelegate.onInCallButtonUiReady(this);
+
+    view.setOnSystemUiVisibilityChangeListener(this);
+  }
+
+  @Override
+  public void onSaveInstanceState(Bundle outState) {
+    super.onSaveInstanceState(outState);
+    inCallButtonUiDelegate.onSaveInstanceState(outState);
+  }
+
+  @Override
+  public void onDestroyView() {
+    super.onDestroyView();
+    LogUtil.i("VideoCallFragment.onDestroyView", null);
+    inCallButtonUiDelegate.onInCallButtonUiUnready();
+    inCallScreenDelegate.onInCallScreenUnready();
+  }
+
+  @Override
+  public void onAttach(Context context) {
+    super.onAttach(context);
+    if (savedSecondaryInfo != null) {
+      setSecondary(savedSecondaryInfo);
+    }
+  }
+
+  @Override
+  public void onStart() {
+    super.onStart();
+    LogUtil.i("VideoCallFragment.onStart", null);
+    onVideoScreenStart();
+  }
+
+  @Override
+  public void onVideoScreenStart() {
+    inCallButtonUiDelegate.refreshMuteState();
+    videoCallScreenDelegate.onVideoCallScreenUiReady();
+    getView().postDelayed(cameraPermissionDialogRunnable, CAMERA_PERMISSION_DIALOG_DELAY_IN_MILLIS);
+  }
+
+  @Override
+  public void onResume() {
+    super.onResume();
+    LogUtil.i("VideoCallFragment.onResume", null);
+    inCallScreenDelegate.onInCallScreenResumed();
+  }
+
+  @Override
+  public void onPause() {
+    super.onPause();
+    LogUtil.i("VideoCallFragment.onPause", null);
+  }
+
+  @Override
+  public void onStop() {
+    super.onStop();
+    LogUtil.i("VideoCallFragment.onStop", null);
+    onVideoScreenStop();
+  }
+
+  @Override
+  public void onVideoScreenStop() {
+    getView().removeCallbacks(cameraPermissionDialogRunnable);
+    videoCallScreenDelegate.onVideoCallScreenUiUnready();
+  }
+
+  private void exitFullscreenMode() {
+    LogUtil.i("VideoCallFragment.exitFullscreenMode", null);
+
+    if (!getView().isAttachedToWindow()) {
+      LogUtil.i("VideoCallFragment.exitFullscreenMode", "not attached");
+      return;
+    }
+
+    showSystemUI();
+
+    LinearOutSlowInInterpolator linearOutSlowInInterpolator = new LinearOutSlowInInterpolator();
+
+    // Animate the controls to the shown state.
+    controls
+        .animate()
+        .translationX(0)
+        .translationY(0)
+        .setInterpolator(linearOutSlowInInterpolator)
+        .alpha(1)
+        .start();
+
+    // Animate onHold to the shown state.
+    switchOnHoldButton
+        .animate()
+        .translationX(0)
+        .translationY(0)
+        .setInterpolator(linearOutSlowInInterpolator)
+        .alpha(1)
+        .withStartAction(
+            new Runnable() {
+              @Override
+              public void run() {
+                switchOnHoldCallController.setOnScreen();
+              }
+            });
+
+    View contactGridView = contactGridManager.getContainerView();
+    // Animate contact grid to the shown state.
+    contactGridView
+        .animate()
+        .translationX(0)
+        .translationY(0)
+        .setInterpolator(linearOutSlowInInterpolator)
+        .alpha(1)
+        .withStartAction(
+            new Runnable() {
+              @Override
+              public void run() {
+                contactGridManager.show();
+              }
+            });
+
+    endCallButton
+        .animate()
+        .translationX(0)
+        .translationY(0)
+        .setInterpolator(linearOutSlowInInterpolator)
+        .alpha(1)
+        .withStartAction(
+            new Runnable() {
+              @Override
+              public void run() {
+                endCallButton.setVisibility(View.VISIBLE);
+              }
+            })
+        .start();
+
+    // Animate all the preview controls up to make room for the navigation bar.
+    // In green screen mode we don't need this because the preview takes up the whole screen and has
+    // a fixed position.
+    if (!isInGreenScreenMode) {
+      Point previewOffsetStartShown = getPreviewOffsetStartShown();
+      for (View view : getAllPreviewRelatedViews()) {
+        // Animate up with the preview offset above the navigation bar.
+        view.animate()
+            .translationX(previewOffsetStartShown.x)
+            .translationY(previewOffsetStartShown.y)
+            .setInterpolator(new AccelerateDecelerateInterpolator())
+            .start();
+      }
+    }
+
+    updateOverlayBackground();
+  }
+
+  private void showSystemUI() {
+    View view = getView();
+    if (view != null) {
+      // Code is more expressive with all flags present, even though some may be combined
+      //noinspection PointlessBitwiseExpression
+      view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
+    }
+  }
+
+  /** Set view flags to hide the system UI. System UI will return on any touch event */
+  private void hideSystemUI() {
+    View view = getView();
+    if (view != null) {
+      view.setSystemUiVisibility(
+          View.SYSTEM_UI_FLAG_FULLSCREEN
+              | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
+              | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
+    }
+  }
+
+  private Point getControlsOffsetEndHidden(View controls) {
+    if (isLandscape()) {
+      return new Point(0, getOffsetBottom(controls));
+    } else {
+      return new Point(getOffsetStart(controls), 0);
+    }
+  }
+
+  private Point getSwitchOnHoldOffsetEndHidden(View swapCallButton) {
+    if (isLandscape()) {
+      return new Point(0, getOffsetTop(swapCallButton));
+    } else {
+      return new Point(getOffsetEnd(swapCallButton), 0);
+    }
+  }
+
+  private Point getContactGridOffsetEndHidden(View view) {
+    return new Point(0, getOffsetTop(view));
+  }
+
+  private Point getEndCallOffsetEndHidden(View endCallButton) {
+    if (isLandscape()) {
+      return new Point(getOffsetEnd(endCallButton), 0);
+    } else {
+      return new Point(0, ((MarginLayoutParams) endCallButton.getLayoutParams()).bottomMargin);
+    }
+  }
+
+  private Point getPreviewOffsetStartShown() {
+    // No insets in multiwindow mode, and rootWindowInsets will get the display's insets.
+    if (ActivityCompat.isInMultiWindowMode(getActivity())) {
+      return new Point();
+    }
+    if (isLandscape()) {
+      int stableInsetEnd =
+          getView().getLayoutDirection() == View.LAYOUT_DIRECTION_RTL
+              ? getView().getRootWindowInsets().getStableInsetLeft()
+              : -getView().getRootWindowInsets().getStableInsetRight();
+      return new Point(stableInsetEnd, 0);
+    } else {
+      return new Point(0, -getView().getRootWindowInsets().getStableInsetBottom());
+    }
+  }
+
+  private View[] getAllPreviewRelatedViews() {
+    return new View[] {
+      previewSurfaceView, previewOffOverlay, previewOffBlurredImageView, mutePreviewOverlay,
+    };
+  }
+
+  private int getOffsetTop(View view) {
+    return -(view.getHeight() + ((MarginLayoutParams) view.getLayoutParams()).topMargin);
+  }
+
+  private int getOffsetBottom(View view) {
+    return view.getHeight() + ((MarginLayoutParams) view.getLayoutParams()).bottomMargin;
+  }
+
+  private int getOffsetStart(View view) {
+    int offset = view.getWidth() + ((MarginLayoutParams) view.getLayoutParams()).getMarginStart();
+    if (view.getLayoutDirection() == View.LAYOUT_DIRECTION_RTL) {
+      offset = -offset;
+    }
+    return -offset;
+  }
+
+  private int getOffsetEnd(View view) {
+    int offset = view.getWidth() + ((MarginLayoutParams) view.getLayoutParams()).getMarginEnd();
+    if (view.getLayoutDirection() == View.LAYOUT_DIRECTION_RTL) {
+      offset = -offset;
+    }
+    return offset;
+  }
+
+  private void enterFullscreenMode() {
+    LogUtil.i("VideoCallFragment.enterFullscreenMode", null);
+
+    hideSystemUI();
+
+    Interpolator fastOutLinearInInterpolator = new FastOutLinearInInterpolator();
+
+    // Animate controls to the hidden state.
+    Point offset = getControlsOffsetEndHidden(controls);
+    controls
+        .animate()
+        .translationX(offset.x)
+        .translationY(offset.y)
+        .setInterpolator(fastOutLinearInInterpolator)
+        .alpha(0)
+        .start();
+
+    // Animate onHold to the hidden state.
+    offset = getSwitchOnHoldOffsetEndHidden(switchOnHoldButton);
+    switchOnHoldButton
+        .animate()
+        .translationX(offset.x)
+        .translationY(offset.y)
+        .setInterpolator(fastOutLinearInInterpolator)
+        .alpha(0);
+
+    View contactGridView = contactGridManager.getContainerView();
+    // Animate contact grid to the hidden state.
+    offset = getContactGridOffsetEndHidden(contactGridView);
+    contactGridView
+        .animate()
+        .translationX(offset.x)
+        .translationY(offset.y)
+        .setInterpolator(fastOutLinearInInterpolator)
+        .alpha(0);
+
+    offset = getEndCallOffsetEndHidden(endCallButton);
+    // Use a fast out interpolator to quickly fade out the button. This is important because the
+    // button can't draw under the navigation bar which means that it'll look weird if it just
+    // abruptly disappears when it reaches the edge of the naivgation bar.
+    endCallButton
+        .animate()
+        .translationX(offset.x)
+        .translationY(offset.y)
+        .setInterpolator(fastOutLinearInInterpolator)
+        .alpha(0)
+        .withEndAction(
+            new Runnable() {
+              @Override
+              public void run() {
+                endCallButton.setVisibility(View.INVISIBLE);
+              }
+            })
+        .setInterpolator(new FastOutLinearInInterpolator())
+        .start();
+
+    // Animate all the preview controls down now that the navigation bar is hidden.
+    // In green screen mode we don't need this because the preview takes up the whole screen and has
+    // a fixed position.
+    if (!isInGreenScreenMode) {
+      for (View view : getAllPreviewRelatedViews()) {
+        // Animate down with the navigation bar hidden.
+        view.animate()
+            .translationX(0)
+            .translationY(0)
+            .setInterpolator(new AccelerateDecelerateInterpolator())
+            .start();
+      }
+    }
+    updateOverlayBackground();
+  }
+
+  @Override
+  public void onClick(View v) {
+    if (v == endCallButton) {
+      LogUtil.i("VideoCallFragment.onClick", "end call button clicked");
+      inCallButtonUiDelegate.onEndCallClicked();
+      videoCallScreenDelegate.resetAutoFullscreenTimer();
+    } else if (v == swapCameraButton) {
+      if (swapCameraButton.getDrawable() instanceof Animatable) {
+        ((Animatable) swapCameraButton.getDrawable()).start();
+      }
+      inCallButtonUiDelegate.toggleCameraClicked();
+      videoCallScreenDelegate.resetAutoFullscreenTimer();
+    }
+  }
+
+  @Override
+  public void onCheckedChanged(CheckableImageButton button, boolean isChecked) {
+    if (button == cameraOffButton) {
+      if (!isChecked && !VideoUtils.hasCameraPermissionAndAllowedByUser(getContext())) {
+        LogUtil.i("VideoCallFragment.onCheckedChanged", "show camera permission dialog");
+        checkCameraPermission();
+      } else {
+        inCallButtonUiDelegate.pauseVideoClicked(isChecked);
+        videoCallScreenDelegate.resetAutoFullscreenTimer();
+      }
+    } else if (button == muteButton) {
+      inCallButtonUiDelegate.muteClicked(isChecked, true /* clickedByUser */);
+      videoCallScreenDelegate.resetAutoFullscreenTimer();
+    }
+  }
+
+  @Override
+  public void showVideoViews(
+      boolean shouldShowPreview, boolean shouldShowRemote, boolean isRemotelyHeld) {
+    LogUtil.i(
+        "VideoCallFragment.showVideoViews",
+        "showPreview: %b, shouldShowRemote: %b",
+        shouldShowPreview,
+        shouldShowRemote);
+    this.shouldShowPreview = shouldShowPreview;
+    this.shouldShowRemote = shouldShowRemote;
+    this.isRemotelyHeld = isRemotelyHeld;
+
+    videoCallScreenDelegate.setSurfaceViews(previewSurfaceView, remoteSurfaceView);
+    updateVideoOffViews();
+  }
+
+  /**
+   * This method scales the video feed inside the texture view, it doesn't change the texture view's
+   * size. In the old UI we would change the view size to match the aspect ratio of the video. In
+   * the new UI the view is always square (with the circular clip) so we have to do additional work
+   * to make sure the non-square video doesn't look squished.
+   */
+  @Override
+  public void onLocalVideoDimensionsChanged() {
+    LogUtil.i("VideoCallFragment.onLocalVideoDimensionsChanged", null);
+  }
+
+  @Override
+  public void onLocalVideoOrientationChanged() {
+    LogUtil.i("VideoCallFragment.onLocalVideoOrientationChanged", null);
+  }
+
+  /** Called when the remote video's dimensions change. */
+  @Override
+  public void onRemoteVideoDimensionsChanged() {
+    LogUtil.i("VideoCallFragment.onRemoteVideoDimensionsChanged", null);
+  }
+
+  @Override
+  public void updateFullscreenAndGreenScreenMode(
+      boolean shouldShowFullscreen, boolean shouldShowGreenScreen) {
+    LogUtil.i(
+        "VideoCallFragment.updateFullscreenAndGreenScreenMode",
+        "shouldShowFullscreen: %b, shouldShowGreenScreen: %b",
+        shouldShowFullscreen,
+        shouldShowGreenScreen);
+
+    if (getActivity() == null) {
+      LogUtil.i("VideoCallFragment.updateFullscreenAndGreenScreenMode", "not attached to activity");
+      return;
+    }
+
+    // Check if anything is actually going to change. The first time this function is called we
+    // force a change by checking the hasInitializedScreenModes flag. We also force both fullscreen
+    // and green screen modes to update even if only one has changed. That's because they both
+    // depend on each other.
+    if (hasInitializedScreenModes
+        && shouldShowGreenScreen == isInGreenScreenMode
+        && shouldShowFullscreen == isInFullscreenMode) {
+      LogUtil.i(
+          "VideoCallFragment.updateFullscreenAndGreenScreenMode", "no change to screen modes");
+      return;
+    }
+    hasInitializedScreenModes = true;
+    isInGreenScreenMode = shouldShowGreenScreen;
+    isInFullscreenMode = shouldShowFullscreen;
+
+    if (getView().isAttachedToWindow() && !ActivityCompat.isInMultiWindowMode(getActivity())) {
+      controlsContainer.onApplyWindowInsets(getView().getRootWindowInsets());
+    }
+    if (shouldShowGreenScreen) {
+      enterGreenScreenMode();
+    } else {
+      exitGreenScreenMode();
+    }
+    if (shouldShowFullscreen) {
+      enterFullscreenMode();
+    } else {
+      exitFullscreenMode();
+    }
+    updateVideoOffViews();
+
+    OnHoldFragment onHoldFragment =
+        ((OnHoldFragment)
+            getChildFragmentManager().findFragmentById(R.id.videocall_on_hold_banner));
+    if (onHoldFragment != null) {
+      onHoldFragment.setPadTopInset(!isInFullscreenMode);
+    }
+  }
+
+  @Override
+  public Fragment getVideoCallScreenFragment() {
+    return this;
+  }
+
+  @Override
+  @NonNull
+  public String getCallId() {
+    return Assert.isNotNull(getArguments().getString(ARG_CALL_ID));
+  }
+
+  @Override
+  public void showButton(@InCallButtonIds int buttonId, boolean show) {
+    LogUtil.v(
+        "VideoCallFragment.showButton",
+        "buttonId: %s, show: %b",
+        InCallButtonIdsExtension.toString(buttonId),
+        show);
+    if (buttonId == InCallButtonIds.BUTTON_AUDIO) {
+      speakerButtonController.setEnabled(show);
+    } else if (buttonId == InCallButtonIds.BUTTON_MUTE) {
+      muteButton.setEnabled(show);
+    } else if (buttonId == InCallButtonIds.BUTTON_PAUSE_VIDEO) {
+      cameraOffButton.setEnabled(show);
+    } else if (buttonId == InCallButtonIds.BUTTON_SWITCH_TO_SECONDARY) {
+      switchOnHoldCallController.setVisible(show);
+    } else if (buttonId == InCallButtonIds.BUTTON_SWITCH_CAMERA) {
+      swapCameraButton.setEnabled(show);
+    }
+  }
+
+  @Override
+  public void enableButton(@InCallButtonIds int buttonId, boolean enable) {
+    LogUtil.v(
+        "VideoCallFragment.setEnabled",
+        "buttonId: %s, enable: %b",
+        InCallButtonIdsExtension.toString(buttonId),
+        enable);
+    if (buttonId == InCallButtonIds.BUTTON_AUDIO) {
+      speakerButtonController.setEnabled(enable);
+    } else if (buttonId == InCallButtonIds.BUTTON_MUTE) {
+      muteButton.setEnabled(enable);
+    } else if (buttonId == InCallButtonIds.BUTTON_PAUSE_VIDEO) {
+      cameraOffButton.setEnabled(enable);
+    } else if (buttonId == InCallButtonIds.BUTTON_SWITCH_TO_SECONDARY) {
+      switchOnHoldCallController.setEnabled(enable);
+    }
+  }
+
+  @Override
+  public void setEnabled(boolean enabled) {
+    LogUtil.v("VideoCallFragment.setEnabled", "enabled: " + enabled);
+    speakerButtonController.setEnabled(enabled);
+    muteButton.setEnabled(enabled);
+    cameraOffButton.setEnabled(enabled);
+    switchOnHoldCallController.setEnabled(enabled);
+  }
+
+  @Override
+  public void setHold(boolean value) {
+    LogUtil.i("VideoCallFragment.setHold", "value: " + value);
+  }
+
+  @Override
+  public void setCameraSwitched(boolean isBackFacingCamera) {
+    LogUtil.i("VideoCallFragment.setCameraSwitched", "isBackFacingCamera: " + isBackFacingCamera);
+  }
+
+  @Override
+  public void setVideoPaused(boolean isPaused) {
+    LogUtil.i("VideoCallFragment.setVideoPaused", "isPaused: " + isPaused);
+    cameraOffButton.setChecked(isPaused);
+  }
+
+  @Override
+  public void setAudioState(CallAudioState audioState) {
+    LogUtil.i("VideoCallFragment.setAudioState", "audioState: " + audioState);
+    speakerButtonController.setAudioState(audioState);
+    muteButton.setChecked(audioState.isMuted());
+    updateMutePreviewOverlayVisibility();
+  }
+
+  @Override
+  public void updateButtonStates() {
+    LogUtil.i("VideoCallFragment.updateButtonState", null);
+    speakerButtonController.updateButtonState();
+    switchOnHoldCallController.updateButtonState();
+  }
+
+  @Override
+  public void updateInCallButtonUiColors() {}
+
+  @Override
+  public Fragment getInCallButtonUiFragment() {
+    return this;
+  }
+
+  @Override
+  public void showAudioRouteSelector() {
+    LogUtil.i("VideoCallFragment.showAudioRouteSelector", null);
+    AudioRouteSelectorDialogFragment.newInstance(inCallButtonUiDelegate.getCurrentAudioState())
+        .show(getChildFragmentManager(), null);
+  }
+
+  @Override
+  public void onAudioRouteSelected(int audioRoute) {
+    LogUtil.i("VideoCallFragment.onAudioRouteSelected", "audioRoute: " + audioRoute);
+    inCallButtonUiDelegate.setAudioRoute(audioRoute);
+  }
+
+  @Override
+  public void setPrimary(@NonNull PrimaryInfo primaryInfo) {
+    LogUtil.i("VideoCallFragment.setPrimary", primaryInfo.toString());
+    contactGridManager.setPrimary(primaryInfo);
+  }
+
+  @Override
+  public void setSecondary(@NonNull SecondaryInfo secondaryInfo) {
+    LogUtil.i("VideoCallFragment.setSecondary", secondaryInfo.toString());
+    if (!isAdded()) {
+      savedSecondaryInfo = secondaryInfo;
+      return;
+    }
+    savedSecondaryInfo = null;
+    switchOnHoldCallController.setSecondaryInfo(secondaryInfo);
+    updateButtonStates();
+    FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
+    Fragment oldBanner = getChildFragmentManager().findFragmentById(R.id.videocall_on_hold_banner);
+    if (secondaryInfo.shouldShow) {
+      OnHoldFragment onHoldFragment = OnHoldFragment.newInstance(secondaryInfo);
+      onHoldFragment.setPadTopInset(!isInFullscreenMode);
+      transaction.replace(R.id.videocall_on_hold_banner, onHoldFragment);
+    } else {
+      if (oldBanner != null) {
+        transaction.remove(oldBanner);
+      }
+    }
+    transaction.setCustomAnimations(R.anim.abc_slide_in_top, R.anim.abc_slide_out_top);
+    transaction.commitAllowingStateLoss();
+  }
+
+  @Override
+  public void setCallState(@NonNull PrimaryCallState primaryCallState) {
+    LogUtil.i("VideoCallFragment.setCallState", primaryCallState.toString());
+    contactGridManager.setCallState(primaryCallState);
+  }
+
+  @Override
+  public void setEndCallButtonEnabled(boolean enabled, boolean animate) {
+    LogUtil.i("VideoCallFragment.setEndCallButtonEnabled", "enabled: " + enabled);
+  }
+
+  @Override
+  public void showManageConferenceCallButton(boolean visible) {
+    LogUtil.i("VideoCallFragment.showManageConferenceCallButton", "visible: " + visible);
+  }
+
+  @Override
+  public boolean isManageConferenceVisible() {
+    LogUtil.i("VideoCallFragment.isManageConferenceVisible", null);
+    return false;
+  }
+
+  @Override
+  public void dispatchPopulateAccessibilityEvent(AccessibilityEvent event) {
+    contactGridManager.dispatchPopulateAccessibilityEvent(event);
+  }
+
+  @Override
+  public void showNoteSentToast() {
+    LogUtil.i("VideoCallFragment.showNoteSentToast", null);
+  }
+
+  @Override
+  public void updateInCallScreenColors() {
+    LogUtil.i("VideoCallFragment.updateColors", null);
+  }
+
+  @Override
+  public void onInCallScreenDialpadVisibilityChange(boolean isShowing) {
+    LogUtil.i("VideoCallFragment.onInCallScreenDialpadVisibilityChange", null);
+  }
+
+  @Override
+  public int getAnswerAndDialpadContainerResourceId() {
+    return 0;
+  }
+
+  @Override
+  public Fragment getInCallScreenFragment() {
+    return this;
+  }
+
+  @Override
+  public boolean isShowingLocationUi() {
+    return false;
+  }
+
+  @Override
+  public void showLocationUi(Fragment locationUi) {
+    LogUtil.e("VideoCallFragment.showLocationUi", "Emergency video calling not supported");
+    // Do nothing
+  }
+
+  private boolean isLandscape() {
+    // Choose orientation based on display orientation, not window orientation
+    int rotation = getActivity().getWindowManager().getDefaultDisplay().getRotation();
+    return rotation == Surface.ROTATION_90 || rotation == Surface.ROTATION_270;
+  }
+
+  private void enterGreenScreenMode() {
+    LogUtil.i("VideoCallFragment.enterGreenScreenMode", null);
+    RelativeLayout.LayoutParams params =
+        new RelativeLayout.LayoutParams(
+            RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT);
+    params.addRule(RelativeLayout.ALIGN_PARENT_START);
+    params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
+    previewSurfaceView.setLayoutParams(params);
+    previewSurfaceView.setOutlineProvider(null);
+    updateOverlayBackground();
+    contactGridManager.setIsMiddleRowVisible(true);
+    updateMutePreviewOverlayVisibility();
+
+    previewOffBlurredImageView.setLayoutParams(params);
+    previewOffBlurredImageView.setOutlineProvider(null);
+    previewOffBlurredImageView.setClipToOutline(false);
+  }
+
+  private void exitGreenScreenMode() {
+    LogUtil.i("VideoCallFragment.exitGreenScreenMode", null);
+    Resources resources = getResources();
+    RelativeLayout.LayoutParams params =
+        new RelativeLayout.LayoutParams(
+            (int) resources.getDimension(R.dimen.videocall_preview_width),
+            (int) resources.getDimension(R.dimen.videocall_preview_height));
+    params.setMargins(
+        0, 0, 0, (int) resources.getDimension(R.dimen.videocall_preview_margin_bottom));
+    if (isLandscape()) {
+      params.addRule(RelativeLayout.ALIGN_PARENT_END);
+      params.setMarginEnd((int) resources.getDimension(R.dimen.videocall_preview_margin_end));
+    } else {
+      params.addRule(RelativeLayout.ALIGN_PARENT_START);
+      params.setMarginStart((int) resources.getDimension(R.dimen.videocall_preview_margin_start));
+    }
+    params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
+    previewSurfaceView.setLayoutParams(params);
+    updateOverlayBackground();
+    contactGridManager.setIsMiddleRowVisible(false);
+    updateMutePreviewOverlayVisibility();
+
+    previewOffBlurredImageView.setLayoutParams(params);
+    previewOffBlurredImageView.setClipToOutline(true);
+  }
+
+  private void updateVideoOffViews() {
+    // Always hide the preview off and remote off views in green screen mode.
+    boolean previewEnabled = isInGreenScreenMode || shouldShowPreview;
+    previewOffOverlay.setVisibility(previewEnabled ? View.GONE : View.VISIBLE);
+
+    boolean remoteEnabled = isInGreenScreenMode || shouldShowRemote;
+    boolean isResumed = remoteEnabled && !isRemotelyHeld;
+    if (isResumed) {
+      boolean wasRemoteVideoOff =
+          TextUtils.equals(
+              remoteVideoOff.getText(),
+              remoteVideoOff.getResources().getString(R.string.videocall_remote_video_off));
+      // The text needs to be updated and hidden after enough delay in order to be announced by
+      // talkback.
+      remoteVideoOff.setText(
+          wasRemoteVideoOff
+              ? R.string.videocall_remote_video_on
+              : R.string.videocall_remotely_resumed);
+      remoteVideoOff.postDelayed(
+          new Runnable() {
+            @Override
+            public void run() {
+              remoteVideoOff.setVisibility(View.GONE);
+            }
+          },
+          VIDEO_OFF_VIEW_FADE_OUT_DELAY_IN_MILLIS);
+    } else {
+      remoteVideoOff.setText(
+          isRemotelyHeld ? R.string.videocall_remotely_held : R.string.videocall_remote_video_off);
+      remoteVideoOff.setVisibility(View.VISIBLE);
+    }
+  }
+
+  private void updateOverlayBackground() {
+    if (isInGreenScreenMode) {
+      // We want to darken the preview view to make text and buttons readable. The fullscreen
+      // background is below the preview view so use the green screen background instead.
+      animateSetVisibility(greenScreenBackgroundView, View.VISIBLE);
+      animateSetVisibility(fullscreenBackgroundView, View.GONE);
+    } else if (!isInFullscreenMode) {
+      // We want to darken the remote view to make text and buttons readable. The green screen
+      // background is above the preview view so it would darken the preview too. Use the fullscreen
+      // background instead.
+      animateSetVisibility(greenScreenBackgroundView, View.GONE);
+      animateSetVisibility(fullscreenBackgroundView, View.VISIBLE);
+    } else {
+      animateSetVisibility(greenScreenBackgroundView, View.GONE);
+      animateSetVisibility(fullscreenBackgroundView, View.GONE);
+    }
+  }
+
+  private void updateMutePreviewOverlayVisibility() {
+    // Normally the mute overlay shows on the bottom right of the preview bubble. In green screen
+    // mode the preview is fullscreen so there's no where to anchor it.
+    mutePreviewOverlay.setVisibility(
+        muteButton.isChecked() && !isInGreenScreenMode ? View.VISIBLE : View.GONE);
+  }
+
+  private static void animateSetVisibility(final View view, final int visibility) {
+    if (view.getVisibility() == visibility) {
+      return;
+    }
+
+    int startAlpha;
+    int endAlpha;
+    if (visibility == View.GONE) {
+      startAlpha = 1;
+      endAlpha = 0;
+    } else if (visibility == View.VISIBLE) {
+      startAlpha = 0;
+      endAlpha = 1;
+    } else {
+      Assert.fail();
+      return;
+    }
+
+    view.setAlpha(startAlpha);
+    view.setVisibility(View.VISIBLE);
+    view.animate()
+        .alpha(endAlpha)
+        .withEndAction(
+            new Runnable() {
+              @Override
+              public void run() {
+                view.setVisibility(visibility);
+              }
+            })
+        .start();
+  }
+
+  @Override
+  public void onSystemUiVisibilityChange(int visibility) {
+    boolean navBarVisible = (visibility & View.SYSTEM_UI_FLAG_HIDE_NAVIGATION) == 0;
+    videoCallScreenDelegate.onSystemUiVisibilityChange(navBarVisible);
+  }
+
+  protected void onCameraPermissionGranted() {
+    videoCallScreenDelegate.onCameraPermissionGranted();
+  }
+
+  private void checkCameraPermission() {
+    // Checks if user has consent of camera permission and the permission is granted.
+    // If camera permission is revoked, shows system permission dialog.
+    // If camera permission is granted but user doesn't have consent of camera permission
+    // (which means it's first time making video call), shows custom dialog instead. This
+    // will only be shown to user once.
+    if (!VideoUtils.hasCameraPermissionAndAllowedByUser(getContext())) {
+      videoCallScreenDelegate.onCameraPermissionDialogShown();
+      if (!VideoUtils.hasCameraPermission(getContext())) {
+        requestPermissions(new String[] {permission.CAMERA}, CAMERA_PERMISSION_REQUEST_CODE);
+      } else {
+        CameraPermissionDialogFragment.newInstance()
+            .show(getChildFragmentManager(), CAMERA_PERMISSION_DIALOG_FRAMENT_TAG);
+      }
+    }
+  }
+}
diff --git a/java/com/android/incallui/video/impl/VideoCallFragment.java b/java/com/android/incallui/video/impl/VideoCallFragment.java
index 05d0baa..e2850cc 100644
--- a/java/com/android/incallui/video/impl/VideoCallFragment.java
+++ b/java/com/android/incallui/video/impl/VideoCallFragment.java
@@ -62,7 +62,6 @@
 import com.android.dialer.compat.ActivityCompat;
 import com.android.incallui.audioroute.AudioRouteSelectorDialogFragment;
 import com.android.incallui.audioroute.AudioRouteSelectorDialogFragment.AudioRouteSelectorPresenter;
-import com.android.incallui.call.VideoUtils;
 import com.android.incallui.contactgrid.ContactGridManager;
 import com.android.incallui.hold.OnHoldFragment;
 import com.android.incallui.incall.protocol.InCallButtonIds;
@@ -82,6 +81,7 @@
 import com.android.incallui.video.protocol.VideoCallScreenDelegateFactory;
 import com.android.incallui.videosurface.bindings.VideoSurfaceBindings;
 import com.android.incallui.videosurface.protocol.VideoSurfaceTexture;
+import com.android.incallui.videotech.utils.VideoUtils;
 
 /** Contains UI elements for a video call. */
 public class VideoCallFragment extends Fragment
@@ -281,7 +281,7 @@
             .newInCallScreenDelegate();
     videoCallScreenDelegate =
         FragmentUtils.getParentUnsafe(this, VideoCallScreenDelegateFactory.class)
-            .newVideoCallScreenDelegate();
+            .newVideoCallScreenDelegate(this);
 
     speakerButtonController =
         new SpeakerButtonController(speakerButton, inCallButtonUiDelegate, videoCallScreenDelegate);
diff --git a/java/com/android/incallui/video/impl/res/layout/frag_videocall_land_surfaceview.xml b/java/com/android/incallui/video/impl/res/layout/frag_videocall_land_surfaceview.xml
new file mode 100644
index 0000000..45a9c33
--- /dev/null
+++ b/java/com/android/incallui/video/impl/res/layout/frag_videocall_land_surfaceview.xml
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+  xmlns:tools="http://schemas.android.com/tools"
+  android:layout_width="match_parent"
+  android:layout_height="match_parent"
+  android:background="@android:color/black">
+
+  <SurfaceView
+    android:id="@+id/videocall_video_remote"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:layout_alignParentStart="true"
+    android:layout_alignParentTop="true"
+    android:importantForAccessibility="no"/>
+
+  <ImageView
+    android:id="@+id/videocall_remote_off_blurred_image_view"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:layout_alignParentStart="true"
+    android:layout_alignParentTop="true"
+    android:scaleType="fitCenter"/>
+
+  <TextView
+    android:gravity="center"
+    android:id="@+id/videocall_remote_video_off"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_centerInParent="true"
+    android:accessibilityTraversalBefore="@+id/videocall_speaker_button"
+    android:drawablePadding="8dp"
+    android:drawableTop="@drawable/quantum_ic_videocam_off_white_36"
+    android:padding="64dp"
+    android:text="@string/videocall_remote_video_off"
+    android:textAppearance="@style/Dialer.Incall.TextAppearance"
+    android:visibility="gone"
+    tools:visibility="visible"/>
+
+  <View
+    android:id="@+id/videocall_fullscreen_background"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:layout_alignParentBottom="true"
+    android:layout_alignParentStart="true"
+    android:background="@color/videocall_overlay_background_color"/>
+
+  <SurfaceView
+    android:id="@+id/videocall_video_preview"
+    android:layout_width="@dimen/videocall_preview_width"
+    android:layout_height="@dimen/videocall_preview_height"
+    android:layout_marginEnd="@dimen/videocall_preview_margin_end"
+    android:layout_alignParentBottom="true"
+    android:layout_alignParentEnd="true"
+    android:importantForAccessibility="no"/>
+
+  <ImageView
+    android:id="@+id/videocall_preview_off_blurred_image_view"
+    android:layout_width="@dimen/videocall_preview_width"
+    android:layout_height="@dimen/videocall_preview_height"
+    android:layout_marginEnd="@dimen/videocall_preview_margin_end"
+    android:layout_alignParentBottom="true"
+    android:layout_alignParentEnd="true"
+    android:scaleType="center"/>
+
+  <View
+    android:id="@+id/videocall_green_screen_background"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:layout_alignParentBottom="true"
+    android:layout_alignParentStart="true"
+    android:background="@color/videocall_overlay_background_color"/>
+
+  <ImageView
+    android:id="@+id/videocall_video_preview_off_overlay"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_alignBottom="@+id/videocall_video_preview"
+    android:layout_alignLeft="@+id/videocall_video_preview"
+    android:layout_alignRight="@+id/videocall_video_preview"
+    android:layout_alignTop="@+id/videocall_video_preview"
+    android:scaleType="center"
+    android:src="@drawable/quantum_ic_videocam_off_white_36"
+    android:visibility="gone"
+    android:importantForAccessibility="no"
+    tools:visibility="visible"/>
+
+  <ImageView
+    android:id="@+id/videocall_video_preview_mute_overlay"
+    android:layout_width="32dp"
+    android:layout_height="32dp"
+    android:layout_alignBottom="@+id/videocall_video_preview"
+    android:layout_alignRight="@+id/videocall_video_preview"
+    android:background="@drawable/videocall_background_circle_white"
+    android:contentDescription="@string/incall_content_description_muted"
+    android:scaleType="center"
+    android:src="@drawable/quantum_ic_mic_off_black_24"
+    android:visibility="gone"
+    tools:visibility="visible"/>
+
+  <include
+    layout="@layout/videocall_controls_land"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"/>
+
+  <FrameLayout
+    android:id="@+id/videocall_on_hold_banner"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:layout_alignParentTop="true"/>
+
+</RelativeLayout>
diff --git a/java/com/android/incallui/video/impl/res/layout/frag_videocall_surfaceview.xml b/java/com/android/incallui/video/impl/res/layout/frag_videocall_surfaceview.xml
new file mode 100644
index 0000000..1b7a930
--- /dev/null
+++ b/java/com/android/incallui/video/impl/res/layout/frag_videocall_surfaceview.xml
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+  xmlns:tools="http://schemas.android.com/tools"
+  android:layout_width="match_parent"
+  android:layout_height="match_parent"
+  android:background="@android:color/black"
+  android:orientation="vertical">
+
+  <SurfaceView
+    android:id="@+id/videocall_video_remote"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:layout_alignParentStart="true"
+    android:layout_alignParentTop="true"
+    android:importantForAccessibility="no"/>
+
+  <ImageView
+    android:id="@+id/videocall_remote_off_blurred_image_view"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:layout_alignParentStart="true"
+    android:layout_alignParentTop="true"
+    android:scaleType="fitCenter"/>
+
+  <TextView
+    android:gravity="center"
+    android:id="@+id/videocall_remote_video_off"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_centerInParent="true"
+    android:accessibilityTraversalBefore="@+id/videocall_speaker_button"
+    android:drawablePadding="8dp"
+    android:drawableTop="@drawable/quantum_ic_videocam_off_white_36"
+    android:drawableTint="@color/videocall_camera_off_tint"
+    android:padding="64dp"
+    android:text="@string/videocall_remote_video_off"
+    android:textAppearance="@style/Dialer.Incall.TextAppearance"
+    android:visibility="gone"
+    tools:visibility="visible"/>
+
+  <View
+    android:id="@+id/videocall_fullscreen_background"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:layout_alignParentBottom="true"
+    android:layout_alignParentStart="true"
+    android:background="@color/videocall_overlay_background_color"
+    tools:visibility="gone"/>
+
+  <SurfaceView
+    android:id="@+id/videocall_video_preview"
+    android:layout_width="@dimen/videocall_preview_width"
+    android:layout_height="@dimen/videocall_preview_height"
+    android:layout_marginBottom="@dimen/videocall_preview_margin_bottom"
+    android:layout_marginStart="@dimen/videocall_preview_margin_start"
+    android:layout_alignParentBottom="true"
+    android:layout_alignParentStart="true"
+    android:importantForAccessibility="no"/>
+
+  <ImageView
+    android:id="@+id/videocall_preview_off_blurred_image_view"
+    android:layout_width="@dimen/videocall_preview_width"
+    android:layout_height="@dimen/videocall_preview_height"
+    android:layout_marginBottom="@dimen/videocall_preview_margin_bottom"
+    android:layout_marginStart="@dimen/videocall_preview_margin_start"
+    android:layout_alignParentBottom="true"
+    android:layout_alignParentStart="true"
+    android:scaleType="center"/>
+
+  <View
+    android:id="@+id/videocall_green_screen_background"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:layout_alignParentBottom="true"
+    android:layout_alignParentStart="true"
+    android:background="@color/videocall_overlay_background_color"
+    tools:visibility="gone"/>
+
+  <ImageView
+    android:id="@+id/videocall_video_preview_off_overlay"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_alignBottom="@+id/videocall_video_preview"
+    android:layout_alignLeft="@+id/videocall_video_preview"
+    android:layout_alignRight="@+id/videocall_video_preview"
+    android:layout_alignTop="@+id/videocall_video_preview"
+    android:scaleType="center"
+    android:src="@drawable/quantum_ic_videocam_off_white_24"
+    android:tint="@color/videocall_camera_off_tint"
+    android:tintMode="src_in"
+    android:visibility="gone"
+    android:importantForAccessibility="no"
+    tools:visibility="visible"/>
+
+  <ImageView
+    android:id="@+id/videocall_video_preview_mute_overlay"
+    android:layout_width="32dp"
+    android:layout_height="32dp"
+    android:layout_alignBottom="@+id/videocall_video_preview"
+    android:layout_alignRight="@+id/videocall_video_preview"
+    android:background="@drawable/videocall_background_circle_white"
+    android:contentDescription="@string/incall_content_description_muted"
+    android:scaleType="center"
+    android:src="@drawable/quantum_ic_mic_off_black_24"
+    android:visibility="gone"
+    tools:visibility="visible"/>
+
+  <include
+    layout="@layout/videocall_controls"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"/>
+
+  <FrameLayout
+    android:id="@+id/videocall_on_hold_banner"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:layout_alignParentTop="true"/>
+
+</RelativeLayout>
diff --git a/java/com/android/incallui/video/protocol/VideoCallScreenDelegate.java b/java/com/android/incallui/video/protocol/VideoCallScreenDelegate.java
index bbd86ee..e7e69df 100644
--- a/java/com/android/incallui/video/protocol/VideoCallScreenDelegate.java
+++ b/java/com/android/incallui/video/protocol/VideoCallScreenDelegate.java
@@ -17,6 +17,7 @@
 package com.android.incallui.video.protocol;
 
 import android.content.Context;
+import android.view.SurfaceView;
 import com.android.incallui.videosurface.protocol.VideoSurfaceTexture;
 
 /** Callbacks from the module out to the container. */
@@ -44,5 +45,7 @@
 
   VideoSurfaceTexture getRemoteVideoSurfaceTexture();
 
+  void setSurfaceViews(SurfaceView preview, SurfaceView remote);
+
   int getDeviceOrientation();
 }
diff --git a/java/com/android/incallui/video/protocol/VideoCallScreenDelegateFactory.java b/java/com/android/incallui/video/protocol/VideoCallScreenDelegateFactory.java
index 285857a..fb7c78b 100644
--- a/java/com/android/incallui/video/protocol/VideoCallScreenDelegateFactory.java
+++ b/java/com/android/incallui/video/protocol/VideoCallScreenDelegateFactory.java
@@ -19,5 +19,5 @@
 /** Callbacks from the module out to the container. */
 public interface VideoCallScreenDelegateFactory {
 
-  VideoCallScreenDelegate newVideoCallScreenDelegate();
+  VideoCallScreenDelegate newVideoCallScreenDelegate(VideoCallScreen videoCallScreen);
 }
diff --git a/java/com/android/incallui/videotech/VideoTech.java b/java/com/android/incallui/videotech/VideoTech.java
index bd957b6..5ecdc1d 100644
--- a/java/com/android/incallui/videotech/VideoTech.java
+++ b/java/com/android/incallui/videotech/VideoTech.java
@@ -16,9 +16,10 @@
 
 package com.android.incallui.videotech;
 
-import android.support.annotation.IntDef;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
+import android.content.Context;
+import com.android.incallui.video.protocol.VideoCallScreen;
+import com.android.incallui.video.protocol.VideoCallScreenDelegate;
+import com.android.incallui.videotech.utils.SessionModificationState;
 
 /** Video calling interface. */
 public interface VideoTech {
@@ -33,6 +34,11 @@
    */
   boolean isSelfManagedCamera();
 
+  boolean shouldUseSurfaceView();
+
+  VideoCallScreenDelegate createVideoCallScreenDelegate(
+      Context context, VideoCallScreen videoCallScreen);
+
   void onCallStateChanged(int newState);
 
   @SessionModificationState
@@ -73,30 +79,4 @@
 
     void onVideoUpgradeRequestReceived();
   }
-
-  /**
-   * Defines different states of session modify requests, which are used to upgrade to video, or
-   * downgrade to audio.
-   */
-  @Retention(RetentionPolicy.SOURCE)
-  @IntDef({
-    SESSION_MODIFICATION_STATE_NO_REQUEST,
-    SESSION_MODIFICATION_STATE_WAITING_FOR_UPGRADE_TO_VIDEO_RESPONSE,
-    SESSION_MODIFICATION_STATE_REQUEST_FAILED,
-    SESSION_MODIFICATION_STATE_RECEIVED_UPGRADE_TO_VIDEO_REQUEST,
-    SESSION_MODIFICATION_STATE_UPGRADE_TO_VIDEO_REQUEST_TIMED_OUT,
-    SESSION_MODIFICATION_STATE_UPGRADE_TO_VIDEO_REQUEST_FAILED,
-    SESSION_MODIFICATION_STATE_REQUEST_REJECTED,
-    SESSION_MODIFICATION_STATE_WAITING_FOR_RESPONSE
-  })
-  @interface SessionModificationState {}
-
-  int SESSION_MODIFICATION_STATE_NO_REQUEST = 0;
-  int SESSION_MODIFICATION_STATE_WAITING_FOR_UPGRADE_TO_VIDEO_RESPONSE = 1;
-  int SESSION_MODIFICATION_STATE_REQUEST_FAILED = 2;
-  int SESSION_MODIFICATION_STATE_RECEIVED_UPGRADE_TO_VIDEO_REQUEST = 3;
-  int SESSION_MODIFICATION_STATE_UPGRADE_TO_VIDEO_REQUEST_TIMED_OUT = 4;
-  int SESSION_MODIFICATION_STATE_UPGRADE_TO_VIDEO_REQUEST_FAILED = 5;
-  int SESSION_MODIFICATION_STATE_REQUEST_REJECTED = 6;
-  int SESSION_MODIFICATION_STATE_WAITING_FOR_RESPONSE = 7;
 }
diff --git a/java/com/android/incallui/videotech/empty/EmptyVideoTech.java b/java/com/android/incallui/videotech/empty/EmptyVideoTech.java
index c760435..58c6809 100644
--- a/java/com/android/incallui/videotech/empty/EmptyVideoTech.java
+++ b/java/com/android/incallui/videotech/empty/EmptyVideoTech.java
@@ -16,7 +16,12 @@
 
 package com.android.incallui.videotech.empty;
 
+import android.content.Context;
+import com.android.dialer.common.Assert;
+import com.android.incallui.video.protocol.VideoCallScreen;
+import com.android.incallui.video.protocol.VideoCallScreenDelegate;
 import com.android.incallui.videotech.VideoTech;
+import com.android.incallui.videotech.utils.SessionModificationState;
 
 /** Default video tech that is always available but doesn't do anything. */
 public class EmptyVideoTech implements VideoTech {
@@ -37,11 +42,22 @@
   }
 
   @Override
+  public boolean shouldUseSurfaceView() {
+    return false;
+  }
+
+  @Override
+  public VideoCallScreenDelegate createVideoCallScreenDelegate(
+      Context context, VideoCallScreen videoCallScreen) {
+    throw Assert.createUnsupportedOperationFailException();
+  }
+
+  @Override
   public void onCallStateChanged(int newState) {}
 
   @Override
   public int getSessionModificationState() {
-    return VideoTech.SESSION_MODIFICATION_STATE_NO_REQUEST;
+    return SessionModificationState.NO_REQUEST;
   }
 
   @Override
diff --git a/java/com/android/incallui/videotech/ims/ImsVideoCallCallback.java b/java/com/android/incallui/videotech/ims/ImsVideoCallCallback.java
index 0a15f7e..9b5222e 100644
--- a/java/com/android/incallui/videotech/ims/ImsVideoCallCallback.java
+++ b/java/com/android/incallui/videotech/ims/ImsVideoCallCallback.java
@@ -24,9 +24,8 @@
 import android.telecom.VideoProfile;
 import android.telecom.VideoProfile.CameraCapabilities;
 import com.android.dialer.common.LogUtil;
-import com.android.incallui.videotech.VideoTech;
-import com.android.incallui.videotech.VideoTech.SessionModificationState;
 import com.android.incallui.videotech.VideoTech.VideoTechListener;
+import com.android.incallui.videotech.utils.SessionModificationState;
 
 /** Receives IMS video call state updates. */
 public class ImsVideoCallCallback extends VideoCall.Callback {
@@ -60,7 +59,7 @@
     } else if (previousVideoState != newVideoState) {
       requestedVideoState = newVideoState;
       videoTech.setSessionModificationState(
-          VideoTech.SESSION_MODIFICATION_STATE_RECEIVED_UPGRADE_TO_VIDEO_REQUEST);
+          SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST);
       listener.onVideoUpgradeRequestReceived();
     }
   }
@@ -84,7 +83,7 @@
         videoTech.getSessionModificationState());
 
     if (videoTech.getSessionModificationState()
-        == VideoTech.SESSION_MODIFICATION_STATE_WAITING_FOR_UPGRADE_TO_VIDEO_RESPONSE) {
+        == SessionModificationState.WAITING_FOR_UPGRADE_TO_VIDEO_RESPONSE) {
       handler.removeCallbacksAndMessages(null); // Clear everything
 
       final int newSessionModificationState = getSessionModificationStateFromTelecomStatus(status);
@@ -103,8 +102,7 @@
           () -> {
             if (videoTech.getSessionModificationState() == newSessionModificationState) {
               LogUtil.i("ImsVideoCallCallback.onSessionModifyResponseReceived", "clearing state");
-              videoTech.setSessionModificationState(
-                  VideoTech.SESSION_MODIFICATION_STATE_NO_REQUEST);
+              videoTech.setSessionModificationState(SessionModificationState.NO_REQUEST);
             } else {
               LogUtil.i(
                   "ImsVideoCallCallback.onSessionModifyResponseReceived",
@@ -113,10 +111,10 @@
           },
           CLEAR_FAILED_REQUEST_TIMEOUT_MILLIS);
     } else if (videoTech.getSessionModificationState()
-        == VideoTech.SESSION_MODIFICATION_STATE_RECEIVED_UPGRADE_TO_VIDEO_REQUEST) {
-      videoTech.setSessionModificationState(VideoTech.SESSION_MODIFICATION_STATE_NO_REQUEST);
+        == SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST) {
+      videoTech.setSessionModificationState(SessionModificationState.NO_REQUEST);
     } else if (videoTech.getSessionModificationState()
-        == VideoTech.SESSION_MODIFICATION_STATE_WAITING_FOR_RESPONSE) {
+        == SessionModificationState.WAITING_FOR_RESPONSE) {
       videoTech.setSessionModificationState(getSessionModificationStateFromTelecomStatus(status));
     } else {
       LogUtil.i(
@@ -129,25 +127,25 @@
   private int getSessionModificationStateFromTelecomStatus(int telecomStatus) {
     switch (telecomStatus) {
       case VideoProvider.SESSION_MODIFY_REQUEST_SUCCESS:
-        return VideoTech.SESSION_MODIFICATION_STATE_NO_REQUEST;
+        return SessionModificationState.NO_REQUEST;
       case VideoProvider.SESSION_MODIFY_REQUEST_FAIL:
       case VideoProvider.SESSION_MODIFY_REQUEST_INVALID:
         // Check if it's already video call, which means the request is not video upgrade request.
         if (VideoProfile.isVideo(call.getDetails().getVideoState())) {
-          return VideoTech.SESSION_MODIFICATION_STATE_REQUEST_FAILED;
+          return SessionModificationState.REQUEST_FAILED;
         } else {
-          return VideoTech.SESSION_MODIFICATION_STATE_UPGRADE_TO_VIDEO_REQUEST_FAILED;
+          return SessionModificationState.UPGRADE_TO_VIDEO_REQUEST_FAILED;
         }
       case VideoProvider.SESSION_MODIFY_REQUEST_TIMED_OUT:
-        return VideoTech.SESSION_MODIFICATION_STATE_UPGRADE_TO_VIDEO_REQUEST_TIMED_OUT;
+        return SessionModificationState.UPGRADE_TO_VIDEO_REQUEST_TIMED_OUT;
       case VideoProvider.SESSION_MODIFY_REQUEST_REJECTED_BY_REMOTE:
-        return VideoTech.SESSION_MODIFICATION_STATE_REQUEST_REJECTED;
+        return SessionModificationState.REQUEST_REJECTED;
       default:
         LogUtil.e(
             "ImsVideoCallCallback.getSessionModificationStateFromTelecomStatus",
             "unknown status: %d",
             telecomStatus);
-        return VideoTech.SESSION_MODIFICATION_STATE_REQUEST_FAILED;
+        return SessionModificationState.REQUEST_FAILED;
     }
   }
 
diff --git a/java/com/android/incallui/videotech/ims/ImsVideoTech.java b/java/com/android/incallui/videotech/ims/ImsVideoTech.java
index a37500c..8c2ca15 100644
--- a/java/com/android/incallui/videotech/ims/ImsVideoTech.java
+++ b/java/com/android/incallui/videotech/ims/ImsVideoTech.java
@@ -16,13 +16,17 @@
 
 package com.android.incallui.videotech.ims;
 
+import android.content.Context;
 import android.os.Build;
 import android.telecom.Call;
 import android.telecom.Call.Details;
 import android.telecom.VideoProfile;
 import com.android.dialer.common.Assert;
 import com.android.dialer.common.LogUtil;
+import com.android.incallui.video.protocol.VideoCallScreen;
+import com.android.incallui.video.protocol.VideoCallScreenDelegate;
 import com.android.incallui.videotech.VideoTech;
+import com.android.incallui.videotech.utils.SessionModificationState;
 
 /** ViLTE implementation */
 public class ImsVideoTech implements VideoTech {
@@ -30,7 +34,7 @@
   private final VideoTechListener listener;
   private ImsVideoCallCallback callback;
   private @SessionModificationState int sessionModificationState =
-      VideoTech.SESSION_MODIFICATION_STATE_NO_REQUEST;
+      SessionModificationState.NO_REQUEST;
   private int previousVideoState = VideoProfile.STATE_AUDIO_ONLY;
 
   public ImsVideoTech(VideoTechListener listener, Call call) {
@@ -65,6 +69,18 @@
   }
 
   @Override
+  public boolean shouldUseSurfaceView() {
+    return false;
+  }
+
+  @Override
+  public VideoCallScreenDelegate createVideoCallScreenDelegate(
+      Context context, VideoCallScreen videoCallScreen) {
+    // TODO move creating VideoCallPresenter here
+    throw Assert.createUnsupportedOperationFailException();
+  }
+
+  @Override
   public void onCallStateChanged(int newState) {
     if (!isAvailable()) {
       return;
@@ -76,7 +92,7 @@
     }
 
     if (getSessionModificationState()
-            == VideoTech.SESSION_MODIFICATION_STATE_WAITING_FOR_UPGRADE_TO_VIDEO_RESPONSE
+            == SessionModificationState.WAITING_FOR_UPGRADE_TO_VIDEO_RESPONSE
         && isTransmittingOrReceiving()) {
       // We don't clear the session modification state right away when we find out the video upgrade
       // request was accepted to avoid having the UI switch from video to voice to video.
@@ -84,17 +100,16 @@
       LogUtil.i(
           "ImsVideoTech.onCallStateChanged",
           "upgraded to video, clearing session modification state");
-      setSessionModificationState(VideoTech.SESSION_MODIFICATION_STATE_NO_REQUEST);
+      setSessionModificationState(SessionModificationState.NO_REQUEST);
     }
 
     // Determines if a received upgrade to video request should be cancelled. This can happen if
     // another InCall UI responds to the upgrade to video request.
     int newVideoState = call.getDetails().getVideoState();
     if (newVideoState != previousVideoState
-        && sessionModificationState
-            == VideoTech.SESSION_MODIFICATION_STATE_RECEIVED_UPGRADE_TO_VIDEO_REQUEST) {
+        && sessionModificationState == SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST) {
       LogUtil.i("ImsVideoTech.onCallStateChanged", "cancelling upgrade notification");
-      setSessionModificationState(VideoTech.SESSION_MODIFICATION_STATE_NO_REQUEST);
+      setSessionModificationState(SessionModificationState.NO_REQUEST);
     }
     previousVideoState = newVideoState;
   }
@@ -121,8 +136,7 @@
     call.getVideoCall()
         .sendSessionModifyRequest(
             new VideoProfile(unpausedVideoState | VideoProfile.STATE_BIDIRECTIONAL));
-    setSessionModificationState(
-        VideoTech.SESSION_MODIFICATION_STATE_WAITING_FOR_UPGRADE_TO_VIDEO_RESPONSE);
+    setSessionModificationState(SessionModificationState.WAITING_FOR_UPGRADE_TO_VIDEO_RESPONSE);
   }
 
   @Override
@@ -131,14 +145,14 @@
     Assert.checkArgument(requestedVideoState != VideoProfile.STATE_AUDIO_ONLY);
     LogUtil.i("ImsVideoTech.acceptUpgradeRequest", "videoState: " + requestedVideoState);
     call.getVideoCall().sendSessionModifyResponse(new VideoProfile(requestedVideoState));
-    setSessionModificationState(VideoTech.SESSION_MODIFICATION_STATE_NO_REQUEST);
+    setSessionModificationState(SessionModificationState.NO_REQUEST);
   }
 
   @Override
   public void acceptVideoRequestAsAudio() {
     LogUtil.enterBlock("ImsVideoTech.acceptVideoRequestAsAudio");
     call.getVideoCall().sendSessionModifyResponse(new VideoProfile(VideoProfile.STATE_AUDIO_ONLY));
-    setSessionModificationState(VideoTech.SESSION_MODIFICATION_STATE_NO_REQUEST);
+    setSessionModificationState(SessionModificationState.NO_REQUEST);
   }
 
   @Override
@@ -146,7 +160,7 @@
     LogUtil.enterBlock("ImsVideoTech.declineUpgradeRequest");
     call.getVideoCall()
         .sendSessionModifyResponse(new VideoProfile(call.getDetails().getVideoState()));
-    setSessionModificationState(VideoTech.SESSION_MODIFICATION_STATE_NO_REQUEST);
+    setSessionModificationState(SessionModificationState.NO_REQUEST);
   }
 
   @Override
@@ -172,7 +186,7 @@
     call.getVideoCall()
         .sendSessionModifyRequest(
             new VideoProfile(unpausedVideoState | VideoProfile.STATE_TX_ENABLED));
-    setSessionModificationState(VideoTech.SESSION_MODIFICATION_STATE_WAITING_FOR_RESPONSE);
+    setSessionModificationState(SessionModificationState.WAITING_FOR_RESPONSE);
   }
 
   @Override
diff --git a/java/com/android/incallui/videotech/rcs/RcsVideoShare.java b/java/com/android/incallui/videotech/rcs/RcsVideoShare.java
deleted file mode 100644
index 1e95140..0000000
--- a/java/com/android/incallui/videotech/rcs/RcsVideoShare.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.android.incallui.videotech.rcs;
-
-import android.support.annotation.NonNull;
-import android.telecom.Call;
-import com.android.dialer.common.Assert;
-import com.android.dialer.common.LogUtil;
-import com.android.dialer.enrichedcall.EnrichedCallCapabilities;
-import com.android.dialer.enrichedcall.EnrichedCallManager;
-import com.android.dialer.enrichedcall.EnrichedCallManager.CapabilitiesListener;
-import com.android.dialer.enrichedcall.Session;
-import com.android.dialer.enrichedcall.videoshare.VideoShareListener;
-import com.android.incallui.videotech.VideoTech;
-
-/** Allows the in-call UI to make video calls over RCS. */
-public class RcsVideoShare implements VideoTech, CapabilitiesListener, VideoShareListener {
-  private final EnrichedCallManager enrichedCallManager;
-  private final VideoTechListener listener;
-  private final String callingNumber;
-  private int previousCallState = Call.STATE_NEW;
-  private long inviteSessionId = Session.NO_SESSION_ID;
-  private long transmittingSessionId = Session.NO_SESSION_ID;
-  private long receivingSessionId = Session.NO_SESSION_ID;
-
-  private @SessionModificationState int sessionModificationState =
-      VideoTech.SESSION_MODIFICATION_STATE_NO_REQUEST;
-
-  public RcsVideoShare(
-      @NonNull EnrichedCallManager enrichedCallManager,
-      @NonNull VideoTechListener listener,
-      @NonNull String callingNumber) {
-    this.enrichedCallManager = Assert.isNotNull(enrichedCallManager);
-    this.listener = Assert.isNotNull(listener);
-    this.callingNumber = Assert.isNotNull(callingNumber);
-
-    enrichedCallManager.registerCapabilitiesListener(this);
-    enrichedCallManager.registerVideoShareListener(this);
-  }
-
-  @Override
-  public boolean isAvailable() {
-    EnrichedCallCapabilities capabilities = enrichedCallManager.getCapabilities(callingNumber);
-    return capabilities != null && capabilities.supportsVideoShare();
-  }
-
-  @Override
-  public boolean isTransmittingOrReceiving() {
-    return transmittingSessionId != Session.NO_SESSION_ID
-        || receivingSessionId != Session.NO_SESSION_ID;
-  }
-
-  @Override
-  public boolean isSelfManagedCamera() {
-    return true;
-  }
-
-  @Override
-  public void onCallStateChanged(int newState) {
-    if (newState == Call.STATE_DISCONNECTING) {
-      enrichedCallManager.unregisterVideoShareListener(this);
-      enrichedCallManager.unregisterCapabilitiesListener(this);
-    }
-
-    if (newState != previousCallState && newState == Call.STATE_ACTIVE) {
-      // Per spec, request capabilities when the call becomes active
-      enrichedCallManager.requestCapabilities(callingNumber);
-    }
-
-    previousCallState = newState;
-  }
-
-  @Override
-  public int getSessionModificationState() {
-    return sessionModificationState;
-  }
-
-  private void setSessionModificationState(@SessionModificationState int state) {
-    if (state != sessionModificationState) {
-      LogUtil.i(
-          "RcsVideoShare.setSessionModificationState", "%d -> %d", sessionModificationState, state);
-      sessionModificationState = state;
-      listener.onSessionModificationStateChanged();
-    }
-  }
-
-  @Override
-  public void upgradeToVideo() {
-    LogUtil.enterBlock("RcsVideoShare.upgradeToVideo");
-    transmittingSessionId = enrichedCallManager.startVideoShareSession(callingNumber);
-    if (transmittingSessionId != Session.NO_SESSION_ID) {
-      setSessionModificationState(
-          VideoTech.SESSION_MODIFICATION_STATE_WAITING_FOR_UPGRADE_TO_VIDEO_RESPONSE);
-    }
-  }
-
-  @Override
-  public void acceptVideoRequest() {
-    LogUtil.enterBlock("RcsVideoShare.acceptVideoRequest");
-    if (enrichedCallManager.acceptVideoShareSession(inviteSessionId)) {
-      receivingSessionId = inviteSessionId;
-    }
-    inviteSessionId = Session.NO_SESSION_ID;
-    setSessionModificationState(VideoTech.SESSION_MODIFICATION_STATE_NO_REQUEST);
-  }
-
-  @Override
-  public void acceptVideoRequestAsAudio() {
-    throw Assert.createUnsupportedOperationFailException();
-  }
-
-  @Override
-  public void declineVideoRequest() {
-    LogUtil.enterBlock("RcsVideoTech.declineUpgradeRequest");
-    enrichedCallManager.endVideoShareSession(
-        enrichedCallManager.getVideoShareInviteSessionId(callingNumber));
-    inviteSessionId = Session.NO_SESSION_ID;
-    setSessionModificationState(VideoTech.SESSION_MODIFICATION_STATE_NO_REQUEST);
-  }
-
-  @Override
-  public boolean isTransmitting() {
-    return transmittingSessionId != Session.NO_SESSION_ID;
-  }
-
-  @Override
-  public void stopTransmission() {
-    LogUtil.enterBlock("RcsVideoTech.stopTransmission");
-  }
-
-  @Override
-  public void resumeTransmission() {
-    LogUtil.enterBlock("RcsVideoTech.resumeTransmission");
-  }
-
-  @Override
-  public void pause() {}
-
-  @Override
-  public void unpause() {}
-
-  @Override
-  public void setCamera(String cameraId) {}
-
-  @Override
-  public void setDeviceOrientation(int rotation) {}
-
-  @Override
-  public void onCapabilitiesUpdated() {
-    listener.onVideoTechStateChanged();
-  }
-
-  @Override
-  public void onVideoShareChanged() {
-    long existingInviteSessionId = inviteSessionId;
-
-    inviteSessionId = enrichedCallManager.getVideoShareInviteSessionId(callingNumber);
-    if (inviteSessionId != Session.NO_SESSION_ID) {
-      if (existingInviteSessionId == Session.NO_SESSION_ID) {
-        // This is a new invite
-        setSessionModificationState(
-            VideoTech.SESSION_MODIFICATION_STATE_RECEIVED_UPGRADE_TO_VIDEO_REQUEST);
-        listener.onVideoUpgradeRequestReceived();
-      }
-    } else {
-      setSessionModificationState(VideoTech.SESSION_MODIFICATION_STATE_NO_REQUEST);
-    }
-
-    if (sessionIsClosed(transmittingSessionId)) {
-      LogUtil.i("RcsVideoShare.onSessionClosed", "transmitting session closed");
-      transmittingSessionId = Session.NO_SESSION_ID;
-    }
-
-    if (sessionIsClosed(receivingSessionId)) {
-      LogUtil.i("RcsVideoShare.onSessionClosed", "receiving session closed");
-      receivingSessionId = Session.NO_SESSION_ID;
-    }
-
-    listener.onVideoTechStateChanged();
-  }
-
-  private boolean sessionIsClosed(long sessionId) {
-    return sessionId != Session.NO_SESSION_ID
-        && enrichedCallManager.getVideoShareSession(sessionId) == null;
-  }
-}
diff --git a/java/com/android/incallui/videotech/utils/SessionModificationState.java b/java/com/android/incallui/videotech/utils/SessionModificationState.java
new file mode 100644
index 0000000..24b0ca3
--- /dev/null
+++ b/java/com/android/incallui/videotech/utils/SessionModificationState.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+package com.android.incallui.videotech.utils;
+
+import android.support.annotation.IntDef;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/**
+ * Defines different states of session modify requests, which are used to upgrade to video, or
+ * downgrade to audio.
+ */
+@Retention(RetentionPolicy.SOURCE)
+@IntDef({
+  SessionModificationState.NO_REQUEST,
+  SessionModificationState.WAITING_FOR_UPGRADE_TO_VIDEO_RESPONSE,
+  SessionModificationState.REQUEST_FAILED,
+  SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST,
+  SessionModificationState.UPGRADE_TO_VIDEO_REQUEST_TIMED_OUT,
+  SessionModificationState.UPGRADE_TO_VIDEO_REQUEST_FAILED,
+  SessionModificationState.REQUEST_REJECTED,
+  SessionModificationState.WAITING_FOR_RESPONSE
+})
+public @interface SessionModificationState {
+  int NO_REQUEST = 0;
+  int WAITING_FOR_UPGRADE_TO_VIDEO_RESPONSE = 1;
+  int REQUEST_FAILED = 2;
+  int RECEIVED_UPGRADE_TO_VIDEO_REQUEST = 3;
+  int UPGRADE_TO_VIDEO_REQUEST_TIMED_OUT = 4;
+  int UPGRADE_TO_VIDEO_REQUEST_FAILED = 5;
+  int REQUEST_REJECTED = 6;
+  int WAITING_FOR_RESPONSE = 7;
+}
diff --git a/java/com/android/incallui/call/VideoUtils.java b/java/com/android/incallui/videotech/utils/VideoUtils.java
similarity index 76%
rename from java/com/android/incallui/call/VideoUtils.java
rename to java/com/android/incallui/videotech/utils/VideoUtils.java
index b99b732..5276540 100644
--- a/java/com/android/incallui/call/VideoUtils.java
+++ b/java/com/android/incallui/videotech/utils/VideoUtils.java
@@ -14,29 +14,27 @@
  * limitations under the License
  */
 
-package com.android.incallui.call;
+package com.android.incallui.videotech.utils;
 
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.support.annotation.NonNull;
 import android.support.v4.content.ContextCompat;
 import com.android.dialer.util.DialerUtils;
-import com.android.incallui.videotech.VideoTech;
-import com.android.incallui.videotech.VideoTech.SessionModificationState;
 
 public class VideoUtils {
 
   private static final String PREFERENCE_CAMERA_ALLOWED_BY_USER = "camera_allowed_by_user";
 
   public static boolean hasSentVideoUpgradeRequest(@SessionModificationState int state) {
-    return state == VideoTech.SESSION_MODIFICATION_STATE_WAITING_FOR_UPGRADE_TO_VIDEO_RESPONSE
-        || state == VideoTech.SESSION_MODIFICATION_STATE_UPGRADE_TO_VIDEO_REQUEST_FAILED
-        || state == VideoTech.SESSION_MODIFICATION_STATE_REQUEST_REJECTED
-        || state == VideoTech.SESSION_MODIFICATION_STATE_UPGRADE_TO_VIDEO_REQUEST_TIMED_OUT;
+    return state == SessionModificationState.WAITING_FOR_UPGRADE_TO_VIDEO_RESPONSE
+        || state == SessionModificationState.UPGRADE_TO_VIDEO_REQUEST_FAILED
+        || state == SessionModificationState.REQUEST_REJECTED
+        || state == SessionModificationState.UPGRADE_TO_VIDEO_REQUEST_TIMED_OUT;
   }
 
   public static boolean hasReceivedVideoUpgradeRequest(@SessionModificationState int state) {
-    return state == VideoTech.SESSION_MODIFICATION_STATE_RECEIVED_UPGRADE_TO_VIDEO_REQUEST;
+    return state == SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST;
   }
 
   public static boolean hasCameraPermissionAndAllowedByUser(@NonNull Context context) {