Merge "Revert "Revert "Finish recents animation upon home rotation""" into sc-dev
diff --git a/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java b/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java
index 910e473..c6c6c01 100644
--- a/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java
+++ b/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java
@@ -460,7 +460,8 @@
             case LauncherSettings.Favorites.ITEM_TYPE_APPLICATION:
             case LauncherSettings.Favorites.ITEM_TYPE_SHORTCUT:
             case LauncherSettings.Favorites.ITEM_TYPE_DEEP_SHORTCUT:
-                // Fall through and continue if it's an app or shortcut
+            case LauncherSettings.Favorites.ITEM_TYPE_APPWIDGET:
+                // Fall through and continue if it's an app, shortcut, or widget
                 break;
             default:
                 return;
diff --git a/quickstep/src/com/android/launcher3/QuickstepTransitionManager.java b/quickstep/src/com/android/launcher3/QuickstepTransitionManager.java
index fb67645..36764a1 100644
--- a/quickstep/src/com/android/launcher3/QuickstepTransitionManager.java
+++ b/quickstep/src/com/android/launcher3/QuickstepTransitionManager.java
@@ -60,6 +60,7 @@
 import android.os.Looper;
 import android.os.SystemProperties;
 import android.util.Pair;
+import android.util.Size;
 import android.view.View;
 import android.view.animation.Interpolator;
 import android.view.animation.PathInterpolator;
@@ -780,7 +781,9 @@
         final float finalWindowRadius = mDeviceProfile.isMultiWindowMode
                 ? 0 : getWindowCornerRadius(mLauncher.getResources());
         final FloatingWidgetView floatingView = FloatingWidgetView.getFloatingWidgetView(mLauncher,
-                v, widgetBackgroundBounds, windowTargetBounds, finalWindowRadius);
+                v, widgetBackgroundBounds,
+                new Size(windowTargetBounds.width(), windowTargetBounds.height()),
+                finalWindowRadius);
         final float initialWindowRadius = supportsRoundedCornersOnWindows(mLauncher.getResources())
                 ? floatingView.getInitialCornerRadius() : 0;
 
diff --git a/quickstep/src/com/android/launcher3/uioverrides/QuickstepInteractionHandler.java b/quickstep/src/com/android/launcher3/uioverrides/QuickstepInteractionHandler.java
index 66e4f4c..5c19ab8 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/QuickstepInteractionHandler.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/QuickstepInteractionHandler.java
@@ -23,6 +23,7 @@
 import android.view.View;
 import android.widget.RemoteViews;
 
+import com.android.launcher3.model.data.ItemInfo;
 import com.android.launcher3.util.ActivityOptionsWrapper;
 import com.android.launcher3.widget.LauncherAppWidgetHostView;
 
@@ -49,6 +50,10 @@
         Pair<Intent, ActivityOptions> options = remoteResponse.getLaunchOptions(hostView);
         ActivityOptionsWrapper activityOptions = mLauncher.getAppTransitionManager()
                 .getActivityLaunchOptions(mLauncher, hostView);
+        Object itemInfo = hostView.getTag();
+        if (itemInfo instanceof ItemInfo) {
+            mLauncher.addLaunchCookie((ItemInfo) itemInfo, activityOptions.options);
+        }
         options = Pair.create(options.first, activityOptions.options);
         return RemoteViews.startPendingIntent(hostView, pendingIntent, options);
     }
diff --git a/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java b/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java
index 883b029..ecaac94 100644
--- a/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java
+++ b/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java
@@ -1423,23 +1423,17 @@
     }
 
     protected void switchToScreenshot() {
-        final int runningTaskId = mGestureState.getRunningTaskId();
-        if (LIVE_TILE.get()) {
-            if (mRecentsAnimationController != null) {
-                mRecentsAnimationController.getController().setWillFinishToHome(true);
-                // Update the screenshot of the task
-                if (mTaskSnapshot == null) {
-                    mTaskSnapshot = mRecentsAnimationController.screenshotTask(runningTaskId);
-                }
-                mRecentsView.updateThumbnail(runningTaskId, mTaskSnapshot, false /* refreshNow */);
-            }
-            mStateCallback.setStateOnUiThread(STATE_SCREENSHOT_CAPTURED);
-        } else if (!hasTargets()) {
+        if (!hasTargets()) {
             // If there are no targets, then we don't need to capture anything
             mStateCallback.setStateOnUiThread(STATE_SCREENSHOT_CAPTURED);
         } else {
+            final int runningTaskId = mGestureState.getRunningTaskId();
+            final boolean refreshView = !LIVE_TILE.get() /* refreshView */;
             boolean finishTransitionPosted = false;
             if (mRecentsAnimationController != null) {
+                if (LIVE_TILE.get()) {
+                    mRecentsAnimationController.getController().setWillFinishToHome(true);
+                }
                 // Update the screenshot of the task
                 if (mTaskSnapshot == null) {
                     UI_HELPER_EXECUTOR.execute(() -> {
@@ -1448,14 +1442,14 @@
                                 mRecentsAnimationController.screenshotTask(runningTaskId);
                         MAIN_EXECUTOR.execute(() -> {
                             mTaskSnapshot = taskSnapshot;
-                            if (!updateThumbnail(runningTaskId)) {
+                            if (!updateThumbnail(runningTaskId, refreshView)) {
                                 setScreenshotCapturedState();
                             }
                         });
                     });
                     return;
                 }
-                finishTransitionPosted = updateThumbnail(runningTaskId);
+                finishTransitionPosted = updateThumbnail(runningTaskId, refreshView);
             }
             if (!finishTransitionPosted) {
                 setScreenshotCapturedState();
@@ -1464,17 +1458,17 @@
     }
 
     // Returns whether finish transition was posted.
-    private boolean updateThumbnail(int runningTaskId) {
+    private boolean updateThumbnail(int runningTaskId, boolean refreshView) {
         boolean finishTransitionPosted = false;
         final TaskView taskView;
-        if (mGestureState.getEndTarget() == HOME) {
-            // Capture the screenshot before finishing the transition to home to ensure it's
-            // taken in the correct orientation, but no need to update the thumbnail.
+        if (mGestureState.getEndTarget() == HOME || mGestureState.getEndTarget() == NEW_TASK) {
+            // Capture the screenshot before finishing the transition to home or quickswitching to
+            // ensure it's taken in the correct orientation, but no need to update the thumbnail.
             taskView = null;
         } else {
-            taskView = mRecentsView.updateThumbnail(runningTaskId, mTaskSnapshot);
+            taskView = mRecentsView.updateThumbnail(runningTaskId, mTaskSnapshot, refreshView);
         }
-        if (taskView != null && !mCanceled) {
+        if (taskView != null && refreshView && !mCanceled) {
             // Defer finishing the animation until the next launcher frame with the
             // new thumbnail
             finishTransitionPosted = ViewUtils.postFrameDrawn(taskView,
diff --git a/quickstep/src/com/android/quickstep/LauncherSwipeHandlerV2.java b/quickstep/src/com/android/quickstep/LauncherSwipeHandlerV2.java
index 2ea34d7..9398277 100644
--- a/quickstep/src/com/android/quickstep/LauncherSwipeHandlerV2.java
+++ b/quickstep/src/com/android/quickstep/LauncherSwipeHandlerV2.java
@@ -30,9 +30,11 @@
 import android.animation.AnimatorSet;
 import android.animation.ValueAnimator;
 import android.content.Context;
+import android.graphics.Rect;
 import android.graphics.RectF;
 import android.os.IBinder;
 import android.os.UserHandle;
+import android.util.Size;
 import android.view.View;
 
 import androidx.annotation.NonNull;
@@ -50,9 +52,11 @@
 import com.android.launcher3.util.DynamicResource;
 import com.android.launcher3.util.ObjectWrapper;
 import com.android.launcher3.views.FloatingIconView;
+import com.android.launcher3.widget.LauncherAppWidgetHostView;
 import com.android.quickstep.util.AppCloseConfig;
 import com.android.quickstep.util.RectFSpringAnim;
 import com.android.quickstep.util.StaggeredWorkspaceAnim;
+import com.android.quickstep.views.FloatingWidgetView;
 import com.android.quickstep.views.RecentsView;
 import com.android.quickstep.views.TaskView;
 import com.android.systemui.plugins.ResourceProvider;
@@ -77,155 +81,206 @@
     @Override
     protected HomeAnimationFactory createHomeAnimationFactory(ArrayList<IBinder> launchCookies,
             long duration) {
-        HomeAnimationFactory homeAnimFactory;
-        if (mActivity != null) {
-            final View workspaceView = findWorkspaceView(launchCookies,
-                    mRecentsView.getRunningTaskView());
-            boolean canUseWorkspaceView =
-                    workspaceView != null && workspaceView.isAttachedToWindow();
-
-            mActivity.getRootView().setForceHideBackArrow(true);
-            mActivity.setHintUserWillBeActive();
-
-            if (canUseWorkspaceView) {
-                final ResourceProvider rp = DynamicResource.provider(mActivity);
-                final float transY = dpToPx(rp.getFloat(R.dimen.swipe_up_trans_y_dp));
-                float dpPerSecond = dpToPx(rp.getFloat(R.dimen.swipe_up_trans_y_dp_per_s));
-                final float launcherAlphaMax =
-                        rp.getFloat(R.dimen.swipe_up_launcher_alpha_max_progress);
-
-                RectF iconLocation = new RectF();
-                FloatingIconView floatingIconView = getFloatingIconView(mActivity, workspaceView,
-                        true /* hideOriginal */, iconLocation, false /* isOpening */);
-
-                // We want the window alpha to be 0 once this threshold is met, so that the
-                // FolderIconView can be seen morphing into the icon shape.
-                float windowAlphaThreshold = 1f - SHAPE_PROGRESS_DURATION;
-                homeAnimFactory = new LauncherHomeAnimationFactory() {
-
-                    // There is a delay in loading the icon, so we need to keep the window
-                    // opaque until it is ready.
-                    private boolean mIsFloatingIconReady = false;
-
-                    private @Nullable ValueAnimator mBounceBackAnimator;
-
-                    @Override
-                    public RectF getWindowTargetRect() {
-                        if (PROTOTYPE_APP_CLOSE.get()) {
-                            // We want the target rect to be at this offset position, so that all
-                            // launcher content can spring back upwards.
-                            floatingIconView.setPositionOffsetY(transY);
-                        }
-                        return iconLocation;
-                    }
-
-                    @Override
-                    public void setAnimation(RectFSpringAnim anim) {
-                        anim.addAnimatorListener(floatingIconView);
-                        floatingIconView.setOnTargetChangeListener(anim::onTargetPositionChanged);
-                        floatingIconView.setFastFinishRunnable(anim::end);
-                        if (PROTOTYPE_APP_CLOSE.get()) {
-                            mBounceBackAnimator = bounceBackToRestingPosition();
-                            // Use a spring to put drag layer translation back to 0.
-                            anim.addAnimatorListener(new AnimatorListenerAdapter() {
-                                @Override
-                                public void onAnimationEnd(Animator animation) {
-                                    floatingIconView.setPositionOffsetY(0);
-                                    mBounceBackAnimator.start();
-                                }
-                            });
-
-                            Workspace workspace = mActivity.getWorkspace();
-                            workspace.setPivotToScaleWithSelf(mActivity.getHotseat());
-                        }
-                    }
-
-                    private ValueAnimator bounceBackToRestingPosition() {
-                        DragLayer dl = mActivity.getDragLayer();
-                        Workspace workspace = mActivity.getWorkspace();
-                        Hotseat hotseat = mActivity.getHotseat();
-
-                        final float startValue = transY;
-                        final float endValue = 0;
-                        // Ensures the velocity is always aligned with the direction.
-                        float pixelPerSecond = Math.abs(dpPerSecond)
-                                * Math.signum(endValue - transY);
-
-                        ValueAnimator springTransY = new SpringAnimationBuilder(dl.getContext())
-                                .setStiffness(rp.getFloat(R.dimen.swipe_up_trans_y_stiffness))
-                                .setDampingRatio(rp.getFloat(R.dimen.swipe_up_trans_y_damping))
-                                .setMinimumVisibleChange(1f)
-                                .setStartValue(startValue)
-                                .setEndValue(endValue)
-                                .setStartVelocity(pixelPerSecond)
-                                .build(dl, VIEW_TRANSLATE_Y);
-                        springTransY.addListener(new AnimatorListenerAdapter() {
-                            @Override
-                            public void onAnimationEnd(Animator animation) {
-                                dl.setTranslationY(0f);
-                                dl.setAlpha(1f);
-                                SCALE_PROPERTY.set(workspace, 1f);
-                                SCALE_PROPERTY.set(hotseat, 1f);
-                            }
-                        });
-                        return springTransY;
-                    }
-
-                    @Override
-                    public boolean keepWindowOpaque() {
-                        if (mIsFloatingIconReady || floatingIconView.isVisibleToUser()) {
-                            mIsFloatingIconReady = true;
-                            return false;
-                        }
-                        return true;
-                    }
-
-                    @Override
-                    public void update(@Nullable AppCloseConfig config, RectF currentRect,
-                            float progress, float radius) {
-                        int fgAlpha = 255;
-                        if (config != null && PROTOTYPE_APP_CLOSE.get()) {
-                            DragLayer dl = mActivity.getDragLayer();
-                            float translationY = config.getWorkspaceTransY();
-                            dl.setTranslationY(translationY);
-
-                            float alpha = mapToRange(progress, 0, launcherAlphaMax, 0, 1f, LINEAR);
-                            dl.setAlpha(Math.min(alpha, 1f));
-
-                            float scale = Math.min(1f, config.getWorkspaceScale());
-                            SCALE_PROPERTY.set(mActivity.getWorkspace(), scale);
-                            SCALE_PROPERTY.set(mActivity.getHotseat(), scale);
-                            SCALE_PROPERTY.set(mActivity.getAppsView(), scale);
-
-                            progress = config.getInterpolatedProgress();
-                            fgAlpha = config.getFgAlpha();
-                        }
-                        floatingIconView.update(1f, fgAlpha, currentRect, progress,
-                                windowAlphaThreshold, radius, false);
-                    }
-
-                    @Override
-                    public void onCancel() {
-                        floatingIconView.fastFinish();
-                        if (mBounceBackAnimator != null) {
-                            mBounceBackAnimator.cancel();
-                        }
-                    }
-                };
-            } else {
-                homeAnimFactory = new LauncherHomeAnimationFactory();
-            }
-        } else {
-            homeAnimFactory = new HomeAnimationFactory() {
+        if (mActivity == null) {
+            mStateCallback.addChangeListener(STATE_LAUNCHER_PRESENT | STATE_HANDLER_INVALIDATED,
+                    isPresent -> mRecentsView.startHome());
+            return new HomeAnimationFactory() {
                 @Override
                 public AnimatorPlaybackController createActivityAnimationToHome() {
                     return AnimatorPlaybackController.wrap(new AnimatorSet(), duration);
                 }
             };
-            mStateCallback.addChangeListener(STATE_LAUNCHER_PRESENT | STATE_HANDLER_INVALIDATED,
-                    isPresent -> mRecentsView.startHome());
         }
-        return homeAnimFactory;
+
+        final View workspaceView = findWorkspaceView(launchCookies,
+                mRecentsView.getRunningTaskView());
+        boolean canUseWorkspaceView = workspaceView != null && workspaceView.isAttachedToWindow();
+
+        mActivity.getRootView().setForceHideBackArrow(true);
+        mActivity.setHintUserWillBeActive();
+
+        if (!canUseWorkspaceView) {
+            return new LauncherHomeAnimationFactory();
+        }
+        if (workspaceView instanceof LauncherAppWidgetHostView) {
+            return createWidgetHomeAnimationFactory((LauncherAppWidgetHostView) workspaceView);
+        }
+        return createIconHomeAnimationFactory(workspaceView);
+    }
+
+    private HomeAnimationFactory createIconHomeAnimationFactory(View workspaceView) {
+        final ResourceProvider rp = DynamicResource.provider(mActivity);
+        final float transY = dpToPx(rp.getFloat(R.dimen.swipe_up_trans_y_dp));
+        float dpPerSecond = dpToPx(rp.getFloat(R.dimen.swipe_up_trans_y_dp_per_s));
+        final float launcherAlphaMax =
+                rp.getFloat(R.dimen.swipe_up_launcher_alpha_max_progress);
+
+        RectF iconLocation = new RectF();
+        FloatingIconView floatingIconView = getFloatingIconView(mActivity, workspaceView,
+                true /* hideOriginal */, iconLocation, false /* isOpening */);
+
+        // We want the window alpha to be 0 once this threshold is met, so that the
+        // FolderIconView can be seen morphing into the icon shape.
+        float windowAlphaThreshold = 1f - SHAPE_PROGRESS_DURATION;
+        return new LauncherHomeAnimationFactory() {
+
+            // There is a delay in loading the icon, so we need to keep the window
+            // opaque until it is ready.
+            private boolean mIsFloatingIconReady = false;
+
+            private @Nullable ValueAnimator mBounceBackAnimator;
+
+            @Override
+            public RectF getWindowTargetRect() {
+                if (PROTOTYPE_APP_CLOSE.get()) {
+                    // We want the target rect to be at this offset position, so that all
+                    // launcher content can spring back upwards.
+                    floatingIconView.setPositionOffsetY(transY);
+                }
+                return iconLocation;
+            }
+
+            @Override
+            public void setAnimation(RectFSpringAnim anim) {
+                anim.addAnimatorListener(floatingIconView);
+                floatingIconView.setOnTargetChangeListener(anim::onTargetPositionChanged);
+                floatingIconView.setFastFinishRunnable(anim::end);
+                if (PROTOTYPE_APP_CLOSE.get()) {
+                    mBounceBackAnimator = bounceBackToRestingPosition();
+                    // Use a spring to put drag layer translation back to 0.
+                    anim.addAnimatorListener(new AnimatorListenerAdapter() {
+                        @Override
+                        public void onAnimationEnd(Animator animation) {
+                            floatingIconView.setPositionOffsetY(0);
+                            mBounceBackAnimator.start();
+                        }
+                    });
+
+                    Workspace workspace = mActivity.getWorkspace();
+                    workspace.setPivotToScaleWithSelf(mActivity.getHotseat());
+                }
+            }
+
+            private ValueAnimator bounceBackToRestingPosition() {
+                DragLayer dl = mActivity.getDragLayer();
+                Workspace workspace = mActivity.getWorkspace();
+                Hotseat hotseat = mActivity.getHotseat();
+
+                final float startValue = transY;
+                final float endValue = 0;
+                // Ensures the velocity is always aligned with the direction.
+                float pixelPerSecond = Math.abs(dpPerSecond) * Math.signum(endValue - transY);
+
+                ValueAnimator springTransY = new SpringAnimationBuilder(dl.getContext())
+                        .setStiffness(rp.getFloat(R.dimen.swipe_up_trans_y_stiffness))
+                        .setDampingRatio(rp.getFloat(R.dimen.swipe_up_trans_y_damping))
+                        .setMinimumVisibleChange(1f)
+                        .setStartValue(startValue)
+                        .setEndValue(endValue)
+                        .setStartVelocity(pixelPerSecond)
+                        .build(dl, VIEW_TRANSLATE_Y);
+                springTransY.addListener(new AnimatorListenerAdapter() {
+                    @Override
+                    public void onAnimationEnd(Animator animation) {
+                        dl.setTranslationY(0f);
+                        dl.setAlpha(1f);
+                        SCALE_PROPERTY.set(workspace, 1f);
+                        SCALE_PROPERTY.set(hotseat, 1f);
+                    }
+                });
+                return springTransY;
+            }
+
+            @Override
+            public boolean keepWindowOpaque() {
+                if (mIsFloatingIconReady || floatingIconView.isVisibleToUser()) {
+                    mIsFloatingIconReady = true;
+                    return false;
+                }
+                return true;
+            }
+
+            @Override
+            public void update(@Nullable AppCloseConfig config, RectF currentRect,
+                    float progress, float radius) {
+                int fgAlpha = 255;
+                if (config != null && PROTOTYPE_APP_CLOSE.get()) {
+                    DragLayer dl = mActivity.getDragLayer();
+                    float translationY = config.getWorkspaceTransY();
+                    dl.setTranslationY(translationY);
+
+                    float alpha = mapToRange(progress, 0, launcherAlphaMax, 0, 1f, LINEAR);
+                    dl.setAlpha(Math.min(alpha, 1f));
+
+                    float scale = Math.min(1f, config.getWorkspaceScale());
+                    SCALE_PROPERTY.set(mActivity.getWorkspace(), scale);
+                    SCALE_PROPERTY.set(mActivity.getHotseat(), scale);
+                    SCALE_PROPERTY.set(mActivity.getAppsView(), scale);
+
+                    progress = config.getInterpolatedProgress();
+                    fgAlpha = config.getFgAlpha();
+                }
+                floatingIconView.update(1f, fgAlpha, currentRect, progress,
+                        windowAlphaThreshold, radius, false);
+            }
+
+            @Override
+            public void onCancel() {
+                floatingIconView.fastFinish();
+                if (mBounceBackAnimator != null) {
+                    mBounceBackAnimator.cancel();
+                }
+            }
+        };
+    }
+
+    private HomeAnimationFactory createWidgetHomeAnimationFactory(
+            LauncherAppWidgetHostView hostView) {
+
+        RectF backgroundLocation = new RectF();
+        Rect crop = new Rect();
+        mTaskViewSimulator.getCurrentCropRect().roundOut(crop);
+        Size windowSize = new Size(crop.width(), crop.height());
+        FloatingWidgetView floatingWidgetView = FloatingWidgetView.getFloatingWidgetView(mActivity,
+                hostView, backgroundLocation, windowSize,
+                mTaskViewSimulator.getCurrentCornerRadius());
+
+        return new LauncherHomeAnimationFactory() {
+
+            @Override
+            public RectF getWindowTargetRect() {
+                return backgroundLocation;
+            }
+
+            @Override
+            public float getEndRadius(RectF cropRectF) {
+                return floatingWidgetView.getInitialCornerRadius();
+            }
+
+            @Override
+            public void setAnimation(RectFSpringAnim anim) {
+                anim.addAnimatorListener(floatingWidgetView);
+                floatingWidgetView.setFastFinishRunnable(anim::end);
+            }
+
+            @Override
+            public boolean keepWindowOpaque() {
+                return false;
+            }
+
+            @Override
+            public void update(@Nullable AppCloseConfig config, RectF currentRect,
+                    float progress, float radius) {
+                floatingWidgetView.update(currentRect, 1 /* floatingWidgetAlpha */,
+                        config != null ? config.getFgAlpha() : 1f /* foregroundAlpha */,
+                        0 /* fallbackBackgroundAlpha */, 1 - progress);
+            }
+
+            @Override
+            public void onCancel() {
+                floatingWidgetView.fastFinish();
+            }
+        };
     }
 
     /**
diff --git a/quickstep/src/com/android/quickstep/SwipeUpAnimationLogic.java b/quickstep/src/com/android/quickstep/SwipeUpAnimationLogic.java
index 0f34a72..29a00d1 100644
--- a/quickstep/src/com/android/quickstep/SwipeUpAnimationLogic.java
+++ b/quickstep/src/com/android/quickstep/SwipeUpAnimationLogic.java
@@ -145,6 +145,11 @@
                     targetX + halfIconSize, targetY + halfIconSize);
         }
 
+        /** Returns the corner radius of the window at the end of the animation. */
+        public float getEndRadius(RectF cropRectF) {
+            return cropRectF.width() / 2f;
+        }
+
         public abstract @NonNull AnimatorPlaybackController createActivityAnimationToHome();
 
         public void playAtomicAnimation(float velocity) {
@@ -197,8 +202,7 @@
         final RectF targetRect = homeAnimationFactory.getWindowTargetRect();
 
         Matrix homeToWindowPositionMap = new Matrix();
-        final RectF startRect = updateProgressForStartRect(
-                homeToWindowPositionMap, startProgress);
+        final RectF startRect = updateProgressForStartRect(homeToWindowPositionMap, startProgress);
         RectF cropRectF = new RectF(mTaskViewSimulator.getCurrentCropRect());
 
         // Move the startRect to Launcher space as floatingIconView runs in Launcher
@@ -210,7 +214,7 @@
         if (PROTOTYPE_APP_CLOSE.get()) {
             anim = new RectFSpringAnim2(startRect, targetRect, mContext,
                     mTaskViewSimulator.getCurrentCornerRadius(),
-                    cropRectF.width() / 2f);
+                    homeAnimationFactory.getEndRadius(cropRectF));
         } else {
             anim = new RectFSpringAnim(startRect, targetRect, mContext);
         }
@@ -269,7 +273,7 @@
             // End on a "round-enough" radius so that the shape reveal doesn't have to do too much
             // rounding at the end of the animation.
             mStartRadius = mTaskViewSimulator.getCurrentCornerRadius();
-            mEndRadius = cropRectF.width() / 2f;
+            mEndRadius = factory.getEndRadius(cropRectF);
         }
 
         @Override
diff --git a/quickstep/src/com/android/quickstep/views/FloatingWidgetView.java b/quickstep/src/com/android/quickstep/views/FloatingWidgetView.java
index d23884c..8499902 100644
--- a/quickstep/src/com/android/quickstep/views/FloatingWidgetView.java
+++ b/quickstep/src/com/android/quickstep/views/FloatingWidgetView.java
@@ -20,10 +20,10 @@
 import android.annotation.TargetApi;
 import android.content.Context;
 import android.graphics.Matrix;
-import android.graphics.Rect;
 import android.graphics.RectF;
 import android.os.Build;
 import android.util.AttributeSet;
+import android.util.Size;
 import android.view.GhostView;
 import android.view.View;
 import android.view.ViewGroup;
@@ -113,7 +113,7 @@
     }
 
     private void init(DragLayer dragLayer, LauncherAppWidgetHostView originalView,
-            RectF widgetBackgroundPosition, Rect windowTargetBounds, float windowCornerRadius) {
+            RectF widgetBackgroundPosition, Size windowSize, float windowCornerRadius) {
         mAppWidgetView = originalView;
         mAppWidgetView.beginDeferringUpdates();
         mBackgroundPosition = widgetBackgroundPosition;
@@ -128,7 +128,7 @@
         getRelativePosition(mAppWidgetBackgroundView, mAppWidgetView, mBackgroundOffset);
         mBackgroundView.init(mAppWidgetView, mAppWidgetBackgroundView, windowCornerRadius);
         // Layout call before GhostView creation so that the overlaid view isn't clipped
-        layout(0, 0, windowTargetBounds.width(), windowTargetBounds.height());
+        layout(0, 0, windowSize.getWidth(), windowSize.getHeight());
         mForegroundOverlayView = GhostView.addGhost(mAppWidgetView, this);
         positionViews();
 
@@ -219,19 +219,19 @@
      *
      * @param widgetBackgroundPosition a {@link RectF} that will be updated with the widget's
      *                                 background bounds
-     * @param windowTargetBounds       the bounds of the window when launched
+     * @param windowSize               the size of the window when launched
      * @param windowCornerRadius       the corner radius of the window
      */
     public static FloatingWidgetView getFloatingWidgetView(Launcher launcher,
             LauncherAppWidgetHostView originalView, RectF widgetBackgroundPosition,
-            Rect windowTargetBounds, float windowCornerRadius) {
+            Size windowSize, float windowCornerRadius) {
         final DragLayer dragLayer = launcher.getDragLayer();
         ViewGroup parent = (ViewGroup) dragLayer.getParent();
         FloatingWidgetView floatingView =
                 launcher.getViewCache().getView(R.layout.floating_widget_view, launcher, parent);
         floatingView.recycle();
 
-        floatingView.init(dragLayer, originalView, widgetBackgroundPosition, windowTargetBounds,
+        floatingView.init(dragLayer, originalView, widgetBackgroundPosition, windowSize,
                 windowCornerRadius);
         parent.addView(floatingView);
         return floatingView;
@@ -240,7 +240,7 @@
     private static void getRelativePosition(View descendant, View ancestor, RectF position) {
         float[] points = new float[]{0, 0, descendant.getWidth(), descendant.getHeight()};
         Utilities.getDescendantCoordRelativeToAncestor(descendant, ancestor, points,
-                false /* includeRootScroll */);
+                false /* includeRootScroll */, true /* ignoreTransform */);
         position.set(
                 Math.min(points[0], points[2]),
                 Math.min(points[1], points[3]),
diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java
index 1a0a1a4..53f880f 100644
--- a/quickstep/src/com/android/quickstep/views/RecentsView.java
+++ b/quickstep/src/com/android/quickstep/views/RecentsView.java
@@ -699,11 +699,6 @@
         return taskView;
     }
 
-    /** See {@link #updateThumbnail(int, ThumbnailData, boolean)} */
-    public TaskView updateThumbnail(int taskId, ThumbnailData thumbnailData) {
-        return updateThumbnail(taskId, thumbnailData, true /* refreshNow */);
-    }
-
     @Override
     protected void onWindowVisibilityChanged(int visibility) {
         super.onWindowVisibilityChanged(visibility);
diff --git a/quickstep/src/com/android/quickstep/views/TaskView.java b/quickstep/src/com/android/quickstep/views/TaskView.java
index 3349b74..45bcdc3 100644
--- a/quickstep/src/com/android/quickstep/views/TaskView.java
+++ b/quickstep/src/com/android/quickstep/views/TaskView.java
@@ -777,8 +777,7 @@
         float upperClamp = invert ? 1 : iconScalePercentage;
         float scale = Interpolators.clampToProgress(FAST_OUT_SLOW_IN, lowerClamp, upperClamp)
                 .getInterpolation(progress);
-        mIconView.setScaleX(scale);
-        mIconView.setScaleY(scale);
+        mIconView.setAlpha(scale);
         if (mContextualChipWrapper != null && mContextualChipWrapper != null) {
             mContextualChipWrapper.setAlpha(scale);
             mContextualChipWrapper.setScaleX(Math.min(scale, comp(mModalness)));
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 6894e3c..e516468 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Dubbeltik en hou om \'n legstuk te skuif of gebruik gepasmaakte handelinge."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d breed by %2$d hoog"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Raak en hou om self te plaas"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Voeg outomaties by"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> legstukke</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> legstuk</item>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 8097ba1..5241acd 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"ምግብርን ለማንቀሳቀስ ወይም ብጁ እርምጃዎችን ለመጠቀም ሁለቴ መታ ያድርጉ እና ይያዙ።"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d ስፋት በ%2$d ከፍታ"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"ራስዎ ለማስቀመጥ ነክተው ይያዙት"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"በራስ-ሰር አክል"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> ንዑስ ፕሮግራሞች</item>
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> ንዑስ ፕሮግራሞች</item>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index b5115e2..669aa91 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"انقر مرتين مع تثبيت إصبعك لنقل أداة أو استخدام الإجراءات المخصّصة."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"‏العرض %1$d الطول %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"انقر مع الاستمرار لإضافة العنصر يدويًا"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"الإضافة تلقائيًا"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="zero"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> أداة</item>
       <item quantity="two">أداتان (<xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g>)</item>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index 31ac27f..931b3ab 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"কোনো ৱিজেট স্থানান্তৰ কৰিবলৈ দুবাৰ টিপি ধৰি ৰাখক অথবা কাষ্টম কাৰ্য ব্যৱহাৰ কৰক।"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d বহল x %2$d ওখ"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"মেনুৱেলভাৱে ৰাখিবলৈ স্পৰ্শ কৰি থাকক"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"স্বয়ংক্ৰিয়ভাবে যোগ কৰক"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> টা ৱিজেট</item>
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> টা ৱিজেট</item>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index bc0717d..8b525f2 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Vidceti daşımaq üçün iki dəfə toxunub saxlayın və ya fərdi əməliyyatlardan istifadə edin."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%2$d hündürlük %1$d enində"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Manual olaraq yerləşdirmək üçün toxunaraq basıb saxlayın"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Avtomatik əlavə edin"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> vidcet</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> vidcet</item>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index ed08ca2..d4f013a 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Dvaput dodirnite i zadržite da biste pomerali vidžet ili koristite prilagođene radnje."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d×%2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"širina od %1$d i visina od %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Dodirnite i zadržite da biste postavili ručno"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Automatski dodaj"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> vidžet</item>
       <item quantity="few"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> vidžeta</item>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index c2d9946..cf02d48 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Дакраніцеся двойчы і ўтрымлівайце, каб перамясціць віджэт або выкарыстоўваць спецыяльныя дзеянні."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"Шырына: %1$d, вышыня: %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Каб размясціць уручную, дакраніцеся і ўтрымлівайце"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Дадаць аўтаматычна"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> віджэт</item>
       <item quantity="few"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> віджэты</item>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 390a8f8..b3c5ca4 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Докоснете двукратно и задръжте за преместване на приспособление или използвайте персонал. действия."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"Ширина %1$d и височина %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Докоснете и задръжте, за да поставите ръчно"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Автоматично добавяне"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> приспособления</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> приспособление</item>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index 4c45b29..283ac70 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"একটি উইজেট সরাতে বা কাস্টম অ্যাকশন ব্যবহার করতে ডবল ট্যাপ করে ধরে রাখুন।"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%2$d উচ্চতা অনুযায়ী %1$d প্রস্থ"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"নিজে যোগ করতে টাচ করে ধরে রাখুন"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"স্বয়ংক্রিয়ভাবে যোগ করুন"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g>টি উইজেট</item>
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g>টি উইজেট</item>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index ae46d5b..fcd6f3f 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Dvaput dodirnite i zadržite da pomjerite vidžet ili da koristite prilagođene radnje."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"Širina %1$d, visina %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Dodirnite i držite da postavite ručno"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Dodaj automatski"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> vidžet</item>
       <item quantity="few"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> vidžeta</item>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index c49dce5..d54670b 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Fes doble toc i mantén premut per moure un widget o per utilitzar accions personalitzades."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d d\'amplada per %2$d d\'alçada"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Mantén-lo premut per afegir-lo manualment"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Afegeix automàticament"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> widgets</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> widget</item>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index a7f9908..a9ea587 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Dvojitým klepnutím a podržením přesunete widget, případně použijte vlastní akce."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"šířka %1$d, výška %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Chcete-li položku umístit ručně, klepněte na ni a podržte ji"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Přidat automaticky"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="few"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> widgety</item>
       <item quantity="many"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> widgetu</item>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index c6496fa..e5dacac 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Tryk to gange, og hold en widget nede for at flytte den eller bruge tilpassede handlinger."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d i bredden og %2$d i højden"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Tryk og hold for at placere manuelt"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Tilføj automatisk"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> widget</item>
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> widgets</item>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 77ddc86..31b9b20 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Doppeltippen und halten, um ein Widget zu bewegen oder benutzerdefinierte Aktionen zu nutzen."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d breit und %2$d hoch"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Zum manuellen Hinzufügen gedrückt halten"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Automatisch hinzufügen"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> Widgets</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> Widget</item>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index c81b96a..a9deedb 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Πατήστε δύο φορές παρατεταμένα για μετακίνηση γραφικού στοιχείου ή χρήση προσαρμοσμένων ενεργειών."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"Πλάτος %1$d επί ύψος %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Αγγίξτε παρατεταμένα για μη αυτόματη τοποθέτηση"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Αυτόματη προσθήκη"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> γραφικά στοιχεία</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> γραφικό στοιχείο</item>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index f26f284..d6b9296 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -32,8 +32,8 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Double-tap &amp; hold to move a widget or use custom actions."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d wide by %2$d high"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Touch and hold to place manually"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Add automatically"</string>
+    <string name="add_item_request_drag_hint" msgid="5653291305078645405">"Touch &amp; hold the widget to move it around the home screen"</string>
+    <string name="add_to_home_screen" msgid="8631549138215492708">"Add to home screen"</string>
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> widgets</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> widget</item>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index f26f284..d6b9296 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -32,8 +32,8 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Double-tap &amp; hold to move a widget or use custom actions."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d wide by %2$d high"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Touch and hold to place manually"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Add automatically"</string>
+    <string name="add_item_request_drag_hint" msgid="5653291305078645405">"Touch &amp; hold the widget to move it around the home screen"</string>
+    <string name="add_to_home_screen" msgid="8631549138215492708">"Add to home screen"</string>
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> widgets</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> widget</item>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index f26f284..d6b9296 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -32,8 +32,8 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Double-tap &amp; hold to move a widget or use custom actions."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d wide by %2$d high"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Touch and hold to place manually"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Add automatically"</string>
+    <string name="add_item_request_drag_hint" msgid="5653291305078645405">"Touch &amp; hold the widget to move it around the home screen"</string>
+    <string name="add_to_home_screen" msgid="8631549138215492708">"Add to home screen"</string>
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> widgets</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> widget</item>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index f26f284..d6b9296 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -32,8 +32,8 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Double-tap &amp; hold to move a widget or use custom actions."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d wide by %2$d high"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Touch and hold to place manually"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Add automatically"</string>
+    <string name="add_item_request_drag_hint" msgid="5653291305078645405">"Touch &amp; hold the widget to move it around the home screen"</string>
+    <string name="add_to_home_screen" msgid="8631549138215492708">"Add to home screen"</string>
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> widgets</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> widget</item>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index b700502..9fff023 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -32,8 +32,8 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‎‎‎‏‏‏‏‎‎‎‎‏‏‎‏‎‏‏‎‎‎‎‎‎‏‎‏‎‎‎‎‎‎‎‎‎‏‏‎‎Double-tap &amp; hold to move a widget or use custom actions.‎‏‎‎‏‎"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‎‏‏‏‎‎‏‏‎‏‎‎‏‏‏‏‏‏‎‎‏‏‎‎‏‏‎‏‎‎‎‎‎‎‏‎‏‎‎‎‏‎‎‎‎‎‏‎‎‎‏‎‏‏‏‏‏‎%1$d × %2$d‎‏‎‎‏‎"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‏‎‎‏‎‏‎‎‎‎‏‎‎‎‏‏‎‏‎‎‎‎‏‏‎‎‎‏‎‎‎‏‏‏‎‎‎‎‏‏‏‎‎‏‎‎‏‎‎‏‏‎‎‎‎‎‏‏‏‏‎‎%1$d wide by %2$d high‎‏‎‎‏‎"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‏‏‎‎‎‎‎‎‎‏‎‏‏‎‎‎‏‎‏‎‏‏‏‎‎‎‏‏‎‏‎‏‏‏‎‎‏‎‏‏‏‎‏‎‏‏‎‏‏‎‏‏‎‏‏‎Touch &amp; hold to place manually‎‏‎‎‏‎"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‏‎‏‎‎‏‏‎‎‎‏‏‏‏‎‎‎‏‏‎‎‏‎‎‎‎‎‏‎‎‎‎‎‎‏‏‏‏‏‎‏‏‎‎‏‎‏‎Add automatically‎‏‎‎‏‎"</string>
+    <string name="add_item_request_drag_hint" msgid="5653291305078645405">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‎‏‏‏‎‏‎‎‏‎‎‎‎‏‏‎‎‏‏‏‏‏‎‏‎‏‎‏‎‎‏‏‎‎‎‎‎‏‎‎‎‏‏‎‎‎‏‎‏‎‎‏‏‏‎‏‎Touch &amp; hold the widget to move it around the Home screen‎‏‎‎‏‎"</string>
+    <string name="add_to_home_screen" msgid="8631549138215492708">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‏‎‎‏‎‎‏‎‏‏‎‏‏‎‎‎‎‏‏‎‏‎‏‏‎‎‏‎‏‎‎‏‎‏‎‏‎‎‏‏‏‎‏‏‏‎‎‎‏‏‎‎‏‎‎‎Add to Home screen‎‏‎‎‏‎"</string>
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‎‏‎‎‏‎‎‎‏‏‏‎‏‎‏‏‎‎‏‏‏‎‏‎‏‏‎‎‎‎‎‏‏‏‎‎‎‎‏‎‏‏‎‎‎‏‎‎‏‎‏‎‏‏‏‎‎‎‎‏‏‎‎‏‎‎‏‏‎<xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g>‎‏‎‎‏‏‏‎ widgets‎‏‎‎‏‎</item>
       <item quantity="one">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‎‏‎‎‏‎‎‎‏‏‏‎‏‎‏‏‎‎‏‏‏‎‏‎‏‏‎‎‎‎‎‏‏‏‎‎‎‎‏‎‏‏‎‎‎‏‎‎‏‎‏‎‏‏‏‎‎‎‎‏‏‎‎‏‎‎‏‏‎<xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g>‎‏‎‎‏‏‏‎ widget‎‏‎‎‏‎</item>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index acd4a4f..0330795 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Presiona dos veces y mantén presionado para mover un widget o usar acciones personalizadas."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d de ancho por %2$d de alto"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Mantén presionado para ubicarlo manualmente"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Agregar automáticamente"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> widgets</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> widget</item>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 8b9ab0c..888436f 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Toca dos veces y mantén pulsado un widget para moverlo o usar acciones personalizadas."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d de ancho por %2$d de alto"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Mantenlo pulsado para añadirlo manualmente"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Añadir automáticamente"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other">Widgets: <xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g></item>
       <item quantity="one">Widget: <xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g></item>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index 08714ad..15b6177 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Vidina teisaldamiseks või kohandatud toimingute kasutamiseks topeltpuudutage ja hoidke all."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d lai ja %2$d kõrge"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Puudutage pikalt, et käsitsi asetada"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Lisa automaatselt"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> vidinat</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> vidin</item>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index a485a14..5309052 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Sakatu birritan eta eduki sakatuta widget bat mugitzeko edo ekintza pertsonalizatuak erabiltzeko."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d zabal eta %2$d luze"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Eduki sakatuta eskuz gehitzeko"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Gehitu automatikoki"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> widget</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> widget</item>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 0b3e7b0..b0c300c 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"برای جابه‌جا کردن ابزارک یا استفاده از کنش‌های سفارشی، دوضربه بزنید و نگه دارید."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"‏%1$d عرض در %2$d طول"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"آن را لمس کنید و بکشید تا به‌صورت دستی اضافه شود"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"افزودن خودکار"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> ابزارک</item>
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> ابزارک</item>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 34ed9e0..47466cf 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Kaksoisnapauta ja paina pitkään, niin voit siirtää widgetiä tai käyttää muokattuja toimintoja."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"Leveys: %1$d, korkeus: %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Sijoita manuaalisesti koskettamalla pitkään"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Lisää automaattisesti"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> widgetiä</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> widget</item>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 34fcb36..f50d837 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Touchez 2x un widget et maintenez le doigt dessus pour le déplacer ou utiliser des actions personnalisées."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d de largeur sur %2$d de hauteur"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Maintenez le doigt sur l\'élément pour le placer manuellement"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Ajouter automatiquement"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> widget</item>
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> widgets</item>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index f336031..f51c3d9 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Appuyez deux fois et maintenez la pression pour déplacer widget ou utiliser actions personnalisées."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d x %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d de largeur et %2$d de hauteur"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Appuyez de manière prolongée pour placer l\'élément manuellement."</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Ajouter automatiquement"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> widget</item>
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> widgets</item>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 382f6ff..c3e3596 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Toca dúas veces un widget e manteno premido para movelo ou utiliza accións personalizadas."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d de largo por %2$d de alto"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Mantén premido o elemento para colocalo manualmente"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Engadir automaticamente"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> widgets</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> widget</item>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index c7f8042..0882d64 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"વિજેટ ખસેડવા બે વાર ટૅપ કરીને દબાવી રાખો અથવા કસ્ટમ ક્રિયાઓનો ઉપયોગ કરો."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d પહોળાઈ X %2$d ઊંચાઈ"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"મેન્યુઅલી મૂકવા માટે ટચ કરી દબાવી રાખો"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"ઑટોમૅટિક રીતે ઉમેરો"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> વિજેટ</item>
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> વિજેટ</item>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 478d87e..61776d6 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"किसी विजेट को एक से दूसरी जगह ले जाने के लिए, उस पर दो बार टैप करके दबाकर रखें या पसंद के मुताबिक कार्रवाइयां इस्तेमाल करें."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d चौड़ाई गुणा %2$d ऊंचाई"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"खुद जोड़ने के लिए दबाकर रखें"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"अपने-आप जुड़ जाए"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> विजेट</item>
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> विजेट</item>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 8ebc33f..171f5d0 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Dvaput dodirnite i zadržite pritisak da biste premjestili widget ili upotrijebite prilagođene radnje"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d širine i %2$d visine"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Dodirnite i zadržite stavku da biste je postavili ručno"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Dodaj automatski"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> widget</item>
       <item quantity="few"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> widgeta</item>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index d0aea22..bbb24e9 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Modul áthelyezéséhez koppintson duplán, tartsa nyomva az ujját, vagy használjon egyéni műveleteket."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d széles és %2$d magas"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Tartsd lenyomva a manuális hozzáadáshoz"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Automatikus hozzáadás"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> modul</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> modul</item>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index fbbcf1c..ff8b895 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Կրկնակի հպեք և պահեք՝ վիջեթ տեղափոխելու համար, կամ օգտվեք հատուկ գործողություններից։"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"Լայնությունը՝ %1$d, բարձրությունը՝ %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Հպեք և պահեք՝ ձեռքով տեղադրելու համար"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Ավելացնել ավտոմատ կերպով"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> վիջեթ</item>
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> վիջեթ</item>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 7bc91c2..c1889ff 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Ketuk dua kali &amp; tahan untuk memindahkan widget atau gunakan tindakan khusus."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"lebar %1$d x tinggi %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Sentuh lama untuk menempatkan secara manual"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Tambahkan otomatis"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> widget</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> widget</item>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index 104b4ac..1dce7c7 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Ýttu tvisvar og haltu fingri á græju til að færa hana eða notaðu sérsniðnar aðgerðir."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d á breidd og %2$d á hæð"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Haltu inni til að staðsetja handvirkt"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Bæta sjálfkrafa við"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> græja</item>
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> græjur</item>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 9e13576..3d1cb5b 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Tocca due volte e tieni premuto per spostare un widget o per usare le azioni personalizzate."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d di larghezza per %2$d di altezza"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Tieni premuto per posizionare l\'elemento manualmente"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Aggiungi automaticamente"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> widget</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> widget</item>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 639aa86..4cf0eb2 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"כדי להעביר ווידג\'ט למקום אחר או להשתמש בפעולות מותאמות אישית, יש ללחוץ פעמיים ולא להרפות."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"‏רוחב %1$d על גובה %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"יש ללחוץ לחיצה ארוכה כדי להוסיף ידנית"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"הוספה אוטומטית"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="two"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> ווידג\'טים</item>
       <item quantity="many"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> ווידג\'טים</item>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index dc92748..77efbad 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"ウィジェットをダブルタップして長押ししながら移動するか、カスタム操作を使用してください。"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$dx%2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"幅 %1$d、高さ %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"長押しすると、手動で追加できます"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"自動的に追加"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> 件のウィジェット</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> 件のウィジェット</item>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index 7a0ec8d..e3be57f 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"ორმაგი შეხებით აირჩიეთ და გეჭიროთ ვიჯეტის გადასაადგილებლად ან მორგებული მოქმედებების გამოსაყენებლად."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"სიგრძე: %1$d, სიგანე: %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"ხანგრძლივად შეეხეთ ხელით განსათავსებლად"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"ავტომატურად დამატება"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> ვიჯეტი</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> ვიჯეტი</item>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index dff1311..392dc8b 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Виджетті жылжыту үшін екі рет түртіңіз де, ұстап тұрыңыз немесе арнаулы әрекеттерді пайдаланыңыз."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"Ені: %1$d, биіктігі: %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Қолмен қою үшін басып тұрыңыз"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Автоматты қосу"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> виджет</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> виджет</item>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index f460512..dd04c01 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"ចុចពីរដង រួចសង្កត់ឱ្យជាប់ ដើម្បីផ្លាស់ទី​ធាតុក្រាហ្វិក ឬប្រើ​សកម្មភាព​តាមបំណង​។"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"ទទឺង %1$d គុណនឹងកម្ពស់ %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"ចុច​ឲ្យជាប់​ដើម្បី​បញ្ចូលវា​ដោយផ្ទាល់"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"បញ្ចូល​ដោយ​ស្វ័យ​ប្រវត្តិ"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other">ធាតុ​ក្រាហ្វិក <xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g></item>
       <item quantity="one">ធាតុ​ក្រាហ្វិក <xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g></item>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index b12c631..73e2255 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"ವಿಜೆಟ್ ಸರಿಸಲು ಅಥವಾ ಕಸ್ಟಮ್ ಕ್ರಿಯೆಗಳನ್ನು ಬಳಸಲು ಡಬಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ ಮತ್ತು ಹಿಡಿದುಕೊಳ್ಳಿ."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d ಅಗಲ ಮತ್ತು %2$d ಎತ್ತರ"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"ಹಸ್ತಚಾಲಿತವಾಗಿ ಸೇರಿಸಲು ಸ್ಪರ್ಶಿಸಿ ಮತ್ತು ಹೋಲ್ಡ್ ಮಾಡಿ"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸೇರಿಸಿ"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> ವಿಜೆಟ್‌ಗಳು</item>
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> ವಿಜೆಟ್‌ಗಳು</item>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 81285ca..7e24dc3 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"두 번 탭한 다음 길게 터치하여 위젯을 이동하거나 맞춤 작업을 사용하세요."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d×%2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"너비 %1$d, 높이 %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"길게 터치하여 직접 추가하세요."</string>
-    <string name="place_automatically" msgid="8064208734425456485">"자동으로 추가"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other">위젯 <xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g>개</item>
       <item quantity="one">위젯 <xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g>개</item>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 50c36d5..a4f54bf 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Виджетти жылдыруу үчүн эки жолу таптап, кармап туруңуз же ыңгайлаштырылган аракеттерди колдонуңуз."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"Туурасы: %1$d, бийиктиги: %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Кол менен кошуу үчүн кое бербей басып туруңуз"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Автоматтык түрдө кошуу"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> виджет</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> виджет</item>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index 3ce2c20..a7c2f68 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -32,8 +32,8 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"ແຕະສອງເທື່ອຄ້າງໄວ້ເພື່ອຍ້າຍວິດເຈັດ ຫຼື ໃຊ້ຄຳສັ່ງກຳນົດເອງ."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"ກວ້າງ %1$d ຄູນສູງ %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"ແຕະຄ້າງໄວ້ເພື່ອວາງດ້ວຍຕົນເອງ"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"ເພີ່ມໂດຍອັດຕະໂນມັດ"</string>
+    <string name="add_item_request_drag_hint" msgid="5653291305078645405">"ແຕະວິດເຈັດຄ້າງໄວ້ເພື່ອຍ້າຍມັນໄປມາຢູ່ໂຮມສະກຣີນ"</string>
+    <string name="add_to_home_screen" msgid="8631549138215492708">"ເພີ່ມໄປໃສ່ໂຮມສະກຣີນ"</string>
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> ວິດເຈັດ</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> ວິດເຈັດ</item>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index c75afbc..43055a5 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Dukart palieskite ir palaikykite, kad perkeltumėte valdiklį ar naudotumėte tinkintus veiksmus."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d plotis ir %2$d aukštis"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Palieskite ir palaikykite, kad padėtumėte patys"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Pridėti automatiškai"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> valdiklis</item>
       <item quantity="few"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> valdikliai</item>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index dc2117f..8bcf250 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Lai pārvietotu logrīku, uz tā veiciet dubultskārienu un turiet. Varat arī veikt pielāgotas darbības."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d plats un %2$d augsts"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Pieskarieties un turiet, lai manuāli pievienotu"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Pievienot automātiski"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="zero"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> logrīku</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> logrīks</item>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index ce79bde..c4349e6 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Допрете двапати и задржете за да преместите виџет или користете приспособени дејства."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d широк на %2$d висок"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Допрете и задржете за рачно поставување"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Додај автоматски"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> виџет</item>
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> виџети</item>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index 3ab0b35..c0cb36b 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"വിജറ്റ് നീക്കാൻ ഡബിൾ ടാപ്പ് ചെയ്യൂ, ഹോൾഡ് ചെയ്യൂ അല്ലെങ്കിൽ ഇഷ്‌ടാനുസൃത പ്രവർത്തനങ്ങൾ ഉപയോഗിക്കൂ."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d വീതിയും %2$d ഉയരവും"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"നേരിട്ട് സ്ഥാപിക്കുന്നതിന് സ്‌പർശിച്ചുപിടിക്കുക"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"സ്വയമേവ ചേർക്കുക"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> വിജറ്റുകൾ</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> വിജറ്റ്</item>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index b93c535..b512dc2 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Жижиг хэрэгслийг зөөх эсвэл захиалгат үйлдлийг ашиглахын тулд хоёр товшоод, удаан дарна уу."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d өргөн %2$d өндөр"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Гараар байршуулахын тулд дараад хүлээнэ үү"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Автоматаар нэмэх"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> жижиг хэрэгсэл</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> жижиг хэрэгсэл</item>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index 7fc330e..7bf6c6c 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"विजेट हलवण्यासाठी किंवा कस्टम कृती वापरण्यासाठी दोनदा टॅप करा आणि धरून ठेवा."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d रूंद बाय %2$d उंच"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"स्वतः ठेवण्यासाठी स्पर्श करा आणि धरून ठेवा"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"आपोआप जोडा"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> विजेट</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> विजेट</item>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index e54c6fe..91f2a4d 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Ketik dua kali &amp; tahan untuk menggerakkan widget atau menggunakan tindakan tersuai."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"Lebar %1$d kali tinggi %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Sentuh &amp; tahan untuk meletakkan widget/ikon secara manual"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Tambahkan secara automatik"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> widget</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> widget</item>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index b429602..f042629 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"ဝိဂျက်ကို ရွှေ့ရန် (သို့) စိတ်ကြိုက်လုပ်ဆောင်ချက်များကို သုံးရန် နှစ်ချက်တို့ပြီး ဖိထားပါ။"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"အလျား %1$d နှင့် အမြင့် %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"ကိုယ်တိုင်ထည့်ရန် ထိထားပါ"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"အလိုအလျောက် ထည့်ရန်"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other">ဝိဂျက် <xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> ခု</item>
       <item quantity="one">ဝိဂျက် <xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> ခု</item>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 8245608..540d726 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Dobbelttrykk og hold inne for å flytte en modul eller bruke tilpassede handlinger."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d bredde x %2$d høyde"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Trykk og hold for å plassere manuelt"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Legg til automatisk"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> moduler</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> modul</item>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index 30588fe..0cdeae0 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"कुनै विजेट सार्न वा आफ्नो रोजाइका कारबाही प्रयोग गर्न डबल ट्याप गरेर छोइराख्नुहोस्।"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d चौडाइ गुणा %2$d उचाइ"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"थप्न टच एण्ड होल्ड गर्नुहोस्"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"स्वतः थप्नुहोस्"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> वटा विजेट</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> वटा विजेट</item>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 5af9252..d4478b7 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Dubbeltik en houd vast om een widget te verplaatsen of aangepaste acties te gebruiken."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d breed en %2$d hoog"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Tik en houd vast om handmatig te plaatsen"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Automatisch toevoegen"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> widgets</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> widget</item>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index 8505c8e..3595f33 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"ଏକ ୱିଜେଟକୁ ମୁଭ୍ କରିବା ପାଇଁ ଦୁଇଥର-ଟାପ୍ କରି ଧରି ରଖନ୍ତୁ କିମ୍ବା କଷ୍ଟମ୍ କାର୍ଯ୍ୟଗୁଡ଼ିକୁ ବ୍ୟବହାର କରନ୍ତୁ।"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d ଓସାର ଓ %2$d ଉଚ୍ଚ"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"ମାନୁଆଲ୍‌ ଭାବରେ ରଖିବାକୁ ସ୍ପର୍ଶ କରନ୍ତୁ ଏବଂ ଧରି ରଖନ୍ତୁ"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"ସ୍ୱଚାଳିତ ଭାବେ ଯୋଗ କରନ୍ତୁ"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g>ଟି ୱିଜେଟ୍</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g>ଟି ୱିଜେଟ୍</item>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index f97f255..355e303 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"ਵਿਜੇਟ ਲਿਜਾਉਣ ਲਈ ਜਾਂ ਵਿਉਂਂਤੀਆਂ ਕਾਰਵਾਈਆਂ ਵਰਤਣ ਲਈ ਦੋ ਵਾਰ ਟੈਪ ਕਰਕੇ ਦਬਾ ਕੇ ਰੱਖੋ।"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d ਚੌੜਾਈ ਅਤੇ %2$d ਲੰਬਾਈ"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"ਹੱਥੀਂ ਰੱਖਣ ਲਈ ਸਪਰਸ਼ ਕਰਕੇ ਰੱਖੋ"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਸ਼ਾਮਲ ਕਰੋ"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> ਵਿਜੇਟ</item>
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> ਵਿਜੇਟ</item>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 06074e0..306a9a0 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Naciśnij dwukrotnie i przytrzymaj, aby przenieść widżet lub użyć działań niestandardowych."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"Szerokość %1$d, wysokość %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Kliknij i przytrzymaj, by umieścić ręcznie"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Dodaj automatycznie"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="few"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> widżety</item>
       <item quantity="many"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> widżetów</item>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index fa2a50e..a104931 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Toque duas vezes sem soltar para mover um widget ou utilizar ações personalizadas."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d de largura por %2$d de altura"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Toque sem soltar para colocar manualmente"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Adicionar automaticamente"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> widgets</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> widget</item>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index faa5d92..35d1e5d 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Toque duas vezes e mantenha a tela pressionada para mover um widget ou usar ações personalizadas."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d de largura por %2$d de altura"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Toque e mantenha pressionado para mover manualmente"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Adicionar automaticamente"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> widget</item>
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> widgets</item>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 20b3353..f614b18 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Atingeți de două ori și țineți apăsat pentru a muta un widget sau folosiți acțiuni personalizate."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d lățime și %2$d înălțime"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Atingeți lung pentru a plasa manual"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Adăugați automat"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="few"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> widgeturi</item>
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> de widgeturi</item>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 24aabc5..3336b0b 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Чтобы использовать специальные действия или перенести виджет, нажмите на него дважды и удерживайте."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d x %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"Ширина %1$d, высота %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Нажмите и удерживайте, чтобы добавить вручную."</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Добавить автоматически"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> виджет</item>
       <item quantity="few"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> виджета</item>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index 22baa2a..fa3287d 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"විජට් එකක් ගෙන යාමට හෝ අභිරුචි ක්‍රියා භාවිත කිරීමට දෙවරක් තට්ටු කර අල්ලා ගෙන සිටින්න."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"පළල %1$d උස %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"අතින් ස්ථානගත කිරීමට ස්පර්ශ කර අල්ලාගෙන සිටින්න"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"ස්වයංක්‍රියව එක් කරන්න"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="one">විජට් <xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g></item>
       <item quantity="other">විජට් <xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g></item>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 1bcf528..bd90155 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Dvojitým klepnutím a pridržaním presuňte miniaplikáciu alebo použite vlastné akcie."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"šírka %1$d, výška %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Ak chcete položku umiestniť ručne, pridržte ju"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Pridať automaticky"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="few"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> miniaplikácie</item>
       <item quantity="many"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> widgets</item>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 9e60efb..df1db7e 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Dvakrat se dotaknite pripomočka in ga pridržite, da ga premaknete, ali pa uporabite dejanja po meri."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"Širina %1$d, višina %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Dotaknite se elementa in ga pridržite, da ga ročno dodate"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Samodejno dodaj"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> pripomoček</item>
       <item quantity="two"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> pripomočka</item>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index 1ed8070..4d97676 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Trokit dy herë dhe mbaje shtypur një miniapliikacion për ta zhvendosur atë ose për të përdorur veprimet e personalizuara."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d i gjerë me %2$d i lartë"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Prek dhe mbaj të shtypur për të vendosur në mënyrë manuale"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Shto automatikisht"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> miniaplikacione</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> miniaplikacion</item>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 4809087..4103b00 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Двапут додирните и задржите да бисте померали виџет или користите прилагођене радње."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d×%2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"ширина од %1$d и висина од %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Додирните и задржите да бисте поставили ручно"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Аутоматски додај"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> виџет</item>
       <item quantity="few"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> виџета</item>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index aad4e4e..fb3e8c1 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Tryck snabbt två gånger och håll kvar för att flytta en widget eller använda anpassade åtgärder."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d bred gånger %2$d hög"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Placera manuellt genom att trycka länge"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Lägg till automatiskt"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> widgetar</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> widget</item>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 3ff05e1..6caadaa 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Gusa mara mbili na ushikilie ili usogeze wijeti au utumie vitendo maalum."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"Upana wa %1$d na kimo cha %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Gusa na ushikilie ili uweke mwenyewe"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Ongeza kiotomatiki"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other">Wijeti <xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g></item>
       <item quantity="one">Wijeti <xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g></item>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index 9d565aa..a2bc2c5 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"விட்ஜெட்டை நகர்த்த இருமுறை தட்டிப் பிடிக்கவும் அல்லது பிரத்தியேகச் செயல்களைப் பயன்படுத்தவும்."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d அகலத்திற்கு %2$d உயரம்"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"நீங்களே சேர்க்க, தொட்டுப் பிடித்திருக்கவும்"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"தானாகவே சேர்"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> விட்ஜெட்டுகள்</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> விட்ஜெட்</item>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 344f455..478bd02 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"విడ్జెట్‌ను తరలించడానికి లేదా అనుకూల చర్యలను ఉపయోగించడానికి రెండుసార్లు నొక్కండి &amp; హోల్డ్ చేయి."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d వెడల్పు X %2$d ఎత్తు"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"మాన్యువల్‌గా ఉంచడానికి నొక్కి, పట్టుకోండి"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"ఆటోమేటిక్‌గా జోడించు"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> విడ్జెట్‌లు</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> విడ్జెట్</item>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index ea6a7c2..1b79b9c 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"แตะสองครั้งค้างไว้เพื่อย้ายวิดเจ็ตหรือใช้การดำเนินการที่กำหนดเอง"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"กว้าง %1$d x สูง %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"แตะค้างไว้เพื่อวางด้วยตัวเอง"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"เพิ่มโดยอัตโนมัติ"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other">วิดเจ็ต <xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> รายการ</item>
       <item quantity="one">วิดเจ็ต <xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> รายการ</item>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index f112ec9..58e8c8a 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"I-double tap at pindutin nang matagal para ilipat ang widget o gumamit ng mga custom na pagkilos."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d ang lapad at %2$d ang taas"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Pindutin nang matagal para manual na ilagay"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Awtomatikong idagdag"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> widget</item>
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> na widget</item>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 9936538..bc6ad44 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Widget\'ı taşımak veya özel işlemleri kullanmak için iki kez dokunup basılı tutun."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"genişlik: %1$d, yükseklik: %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Manuel olarak yerleştirmek için dokunun ve basılı tutun"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Otomatik olarak ekle"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> widget</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> widget</item>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 87ae581..fdba5e61 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Двічі натисніть і втримуйте віджет, щоб перемістити його або виконати інші дії."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"Ширина – %1$d, висота – %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Натисніть і утримуйте, щоб додати вручну"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Додати автоматично"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> віджет</item>
       <item quantity="few"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> віджети</item>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index 2ee66b0..8cc578c 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"ویجیٹ کو منتقل کرنے یا حسب ضرورت کارروائیاں استعمال کرنے کے لیے دوبار تھپتھپائیں اور پکڑ کر رکھیں۔"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"‏%1$d چوڑا اور ‎%2$d اونچا"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"‏دستی طور پر رکھنے کیلئے ‎ٹچ کر کے دبائے رکھیں"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"خود کار طور پر شامل کریں"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> ویجیٹس</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> ویجیٹ</item>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index d31aea9..1ab449d 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Ikki marta bosib va bosib turgan holatda vidjetni tanlang yoki maxsus amaldan foydalaning."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"Eni %1$d, bo‘yi %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Joylash uchun bosib turing"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Avtomatik chiqarish"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> ta vidjet</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> ta vidjet</item>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 318d453..acb101b 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Nhấn đúp và giữ để di chuyển một tiện ích hoặc sử dụng các thao tác tùy chỉnh."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"Rộng %1$d x cao %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Chạm và giữ để thêm theo cách thủ công"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Tự động thêm"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> tiện ích</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> tiện ích</item>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index f9628b2..d79f181 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"点按两次并按住微件即可移动该微件或使用自定义操作。"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"宽 %1$d,高 %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"轻触并按住即可手动放置"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"自动添加"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> 个微件</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> 个微件</item>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 8929aa8..5b06896 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"㩒兩下之後㩒住,就可以郁小工具或者用自訂操作。"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d 闊,%2$d 高"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"按住即可手動新增"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"自動新增"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> 個小工具</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> 個小工具</item>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index c6f933c..9566a8c 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"輕觸兩下並按住即可移動小工具或使用自訂操作。"</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"寬度為 %1$d,高度為 %2$d"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"按住圖示即可手動新增"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"自動新增"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="other"><xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g> 項小工具</item>
       <item quantity="one"><xliff:g id="WIDGETS_COUNT_0">%1$d</xliff:g> 項小工具</item>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 8296853..0da9ed7 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -32,8 +32,10 @@
     <string name="long_accessible_way_to_add" msgid="2733588281439571974">"Thepha kabili uphinde ubambe ukuze uhambise iwijethi noma usebenzise izindlela ezingokwezifiso."</string>
     <string name="widget_dims_format" msgid="2370757736025621599">"%1$d × %2$d"</string>
     <string name="widget_accessible_dims_format" msgid="3640149169885301790">"%1$d ububanzi ngokungu-%2$d ukuya phezulu"</string>
-    <string name="add_item_request_drag_hint" msgid="5899764264480397019">"Thinta futhi ubambe ukuze ubeke ngokwenza"</string>
-    <string name="place_automatically" msgid="8064208734425456485">"Engeza ngokuzenzakalelayo"</string>
+    <!-- no translation found for add_item_request_drag_hint (5653291305078645405) -->
+    <skip />
+    <!-- no translation found for add_to_home_screen (8631549138215492708) -->
+    <skip />
     <plurals name="widgets_count" formatted="false" msgid="656794749266073027">
       <item quantity="one">Amawijethi angu-<xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g></item>
       <item quantity="other">Amawijethi angu-<xliff:g id="WIDGETS_COUNT_1">%1$d</xliff:g></item>
diff --git a/src/com/android/launcher3/CellLayout.java b/src/com/android/launcher3/CellLayout.java
index c3816cc..a037675 100644
--- a/src/com/android/launcher3/CellLayout.java
+++ b/src/com/android/launcher3/CellLayout.java
@@ -18,6 +18,7 @@
 
 import static android.animation.ValueAnimator.areAnimatorsEnabled;
 
+import static com.android.launcher3.Utilities.getBoundsForViewInDragLayer;
 import static com.android.launcher3.anim.Interpolators.DEACCEL_1_5;
 
 import android.animation.Animator;
@@ -193,6 +194,7 @@
     private static final int INVALID_DIRECTION = -100;
 
     private final Rect mTempRect = new Rect();
+    private final RectF mTempRectF = new RectF();
 
     private static final Paint sPaint = new Paint();
 
@@ -1067,11 +1069,16 @@
         // Apply local extracted color if the DragView is an AppWidgetHostViewDrawable.
         View view = dragObject.dragView.getContentView();
         if (view instanceof LauncherAppWidgetHostView) {
-            Workspace workspace =
-                    Launcher.getLauncher(dragObject.dragView.getContext()).getWorkspace();
+            Launcher launcher = Launcher.getLauncher(dragObject.dragView.getContext());
+            Workspace workspace = launcher.getWorkspace();
             int screenId = workspace.getIdForScreen(this);
             int pageId = workspace.getPageIndexForScreenId(screenId);
             cellToRect(targetCell[0], targetCell[1], spanX, spanY, mTempRect);
+
+            // Now get the rect in drag layer coordinates.
+            getBoundsForViewInDragLayer(launcher.getDragLayer(), workspace, mTempRect, false,
+                    mTempRectF);
+            Utilities.setRect(mTempRectF, mTempRect);
             ((LauncherAppWidgetHostView) view).handleDrag(mTempRect, pageId);
         }
     }
diff --git a/src/com/android/launcher3/ExtendedEditText.java b/src/com/android/launcher3/ExtendedEditText.java
index c79dabe..4312939 100644
--- a/src/com/android/launcher3/ExtendedEditText.java
+++ b/src/com/android/launcher3/ExtendedEditText.java
@@ -99,7 +99,7 @@
     }
 
     public void hideKeyboard() {
-        UiThreadHelper.hideKeyboardAsync(getContext(), getWindowToken());
+        UiThreadHelper.hideKeyboardAsync(Launcher.getLauncher(getContext()), getWindowToken());
     }
 
     private boolean showSoftInput() {
diff --git a/src/com/android/launcher3/Utilities.java b/src/com/android/launcher3/Utilities.java
index a799b4a..073a46c 100644
--- a/src/com/android/launcher3/Utilities.java
+++ b/src/com/android/launcher3/Utilities.java
@@ -33,6 +33,7 @@
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 import android.content.pm.ShortcutInfo;
+import android.content.res.Configuration;
 import android.content.res.Resources;
 import android.database.ContentObserver;
 import android.graphics.Bitmap;
@@ -84,6 +85,7 @@
 import com.android.launcher3.shortcuts.ShortcutRequest;
 import com.android.launcher3.util.IntArray;
 import com.android.launcher3.util.PackageManagerHelper;
+import com.android.launcher3.views.BaseDragLayer;
 import com.android.launcher3.widget.PendingAddShortcutInfo;
 
 import java.lang.reflect.Method;
@@ -104,6 +106,8 @@
     private static final Pattern sTrimPattern =
             Pattern.compile("^[\\s|\\p{javaSpaceChar}]*(.*)[\\s|\\p{javaSpaceChar}]*$");
 
+    private static final float[] sTmpFloatArray = new float[4];
+
     private static final int[] sLoc0 = new int[2];
     private static final int[] sLoc1 = new int[2];
     private static final Matrix sMatrix = new Matrix();
@@ -133,6 +137,15 @@
             Build.TYPE.toLowerCase(Locale.ROOT).contains("debug") ||
             Build.TYPE.toLowerCase(Locale.ROOT).equals("eng");
 
+    /**
+     * Returns true if theme is dark.
+     */
+    public static boolean isDarkTheme(Context context) {
+        Configuration configuration = context.getResources().getConfiguration();
+        int nightMode = configuration.uiMode & Configuration.UI_MODE_NIGHT_MASK;
+        return nightMode == Configuration.UI_MODE_NIGHT_YES;
+    }
+
     public static boolean isDevelopersOptionsEnabled(Context context) {
         return Settings.Global.getInt(context.getApplicationContext().getContentResolver(),
                         Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0) != 0;
@@ -219,6 +232,33 @@
     }
 
     /**
+     * Returns bounds for a child view of DragLayer, in drag layer coordinates.
+     *
+     * see {@link com.android.launcher3.dragndrop.DragLayer}.
+     *
+     * @param viewBounds Bounds of the view wanted in drag layer coordinates, relative to the view
+     *                   itself. eg. (0, 0, view.getWidth, view.getHeight)
+     * @param ignoreTransform If true, view transform is ignored
+     * @param outRect The out rect where we return the bounds of {@param view} in drag layer coords.
+     */
+    public static void getBoundsForViewInDragLayer(BaseDragLayer dragLayer, View view,
+            Rect viewBounds, boolean ignoreTransform, RectF outRect) {
+        float[] points = sTmpFloatArray;
+        points[0] = viewBounds.left;
+        points[1] = viewBounds.top;
+        points[2] = viewBounds.right;
+        points[3] = viewBounds.bottom;
+
+        Utilities.getDescendantCoordRelativeToAncestor(view, dragLayer, points,
+                false, ignoreTransform);
+        outRect.set(
+                Math.min(points[0], points[2]),
+                Math.min(points[1], points[3]),
+                Math.max(points[0], points[2]),
+                Math.max(points[1], points[3]));
+    }
+
+    /**
      * Inverse of {@link #getDescendantCoordRelativeToAncestor(View, View, float[], boolean)}.
      */
     public static void mapCoordInSelfToDescendant(View descendant, View root, float[] coord) {
@@ -273,6 +313,16 @@
         return new int[] {sLoc1[0] - sLoc0[0], sLoc1[1] - sLoc0[1]};
     }
 
+    /**
+     * Helper method to set rectOut with rectFSrc.
+     */
+    public static void setRect(RectF rectFSrc, Rect rectOut) {
+        rectOut.left = (int) rectFSrc.left;
+        rectOut.top = (int) rectFSrc.top;
+        rectOut.right = (int) rectFSrc.right;
+        rectOut.bottom = (int) rectFSrc.bottom;
+    }
+
     public static void scaleRectFAboutCenter(RectF r, float scale) {
         if (scale != 1.0f) {
             float cx = r.centerX();
diff --git a/src/com/android/launcher3/graphics/PreloadIconDrawable.java b/src/com/android/launcher3/graphics/PreloadIconDrawable.java
index 13ae866..e45b8f7 100644
--- a/src/com/android/launcher3/graphics/PreloadIconDrawable.java
+++ b/src/com/android/launcher3/graphics/PreloadIconDrawable.java
@@ -21,7 +21,6 @@
 import android.animation.AnimatorListenerAdapter;
 import android.animation.ObjectAnimator;
 import android.content.Context;
-import android.content.res.Configuration;
 import android.graphics.Bitmap;
 import android.graphics.Canvas;
 import android.graphics.Matrix;
@@ -34,6 +33,7 @@
 import android.util.SparseArray;
 import android.view.ContextThemeWrapper;
 
+import com.android.launcher3.Utilities;
 import com.android.launcher3.anim.Interpolators;
 import com.android.launcher3.icons.FastBitmapDrawable;
 import com.android.launcher3.icons.GraphicsUtils;
@@ -119,9 +119,7 @@
                 info,
                 IconPalette.getPreloadProgressColor(context, info.bitmap.color),
                 getPreloadColors(context),
-            (context.getResources().getConfiguration().uiMode
-                    & Configuration.UI_MODE_NIGHT_MASK
-                    & Configuration.UI_MODE_NIGHT_YES) != 0) /* isDarkMode */;
+                Utilities.isDarkTheme(context));
     }
 
     public PreloadIconDrawable(
diff --git a/src/com/android/launcher3/popup/ArrowPopup.java b/src/com/android/launcher3/popup/ArrowPopup.java
index c19dfe9..48c5d0a 100644
--- a/src/com/android/launcher3/popup/ArrowPopup.java
+++ b/src/com/android/launcher3/popup/ArrowPopup.java
@@ -16,9 +16,9 @@
 
 package com.android.launcher3.popup;
 
-import static com.android.launcher3.AbstractFloatingView.getTopOpenViewWithType;
 import static com.android.launcher3.anim.Interpolators.ACCEL_DEACCEL;
 import static com.android.launcher3.popup.PopupPopulator.MAX_SHORTCUTS;
+import static com.android.launcher3.util.ColorExtractionUtils.getColorExtractionRect;
 
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
@@ -31,6 +31,7 @@
 import android.content.res.Resources;
 import android.graphics.Outline;
 import android.graphics.Rect;
+import android.graphics.RectF;
 import android.graphics.drawable.ColorDrawable;
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.GradientDrawable;
@@ -41,17 +42,21 @@
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.ViewOutlineProvider;
+import android.view.ViewTreeObserver;
 import android.widget.FrameLayout;
 
 import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 
 import com.android.launcher3.AbstractFloatingView;
 import com.android.launcher3.BaseDraggingActivity;
 import com.android.launcher3.InsettableFrameLayout;
+import com.android.launcher3.Launcher;
 import com.android.launcher3.LauncherAnimUtils;
 import com.android.launcher3.LauncherState;
 import com.android.launcher3.R;
 import com.android.launcher3.Utilities;
+import com.android.launcher3.Workspace;
 import com.android.launcher3.anim.RevealOutlineAnimation;
 import com.android.launcher3.anim.RoundedRectRevealOutlineProvider;
 import com.android.launcher3.dragndrop.DragLayer;
@@ -59,9 +64,11 @@
 import com.android.launcher3.statemanager.StatefulActivity;
 import com.android.launcher3.util.Themes;
 import com.android.launcher3.views.BaseDragLayer;
+import com.android.launcher3.widget.LocalColorExtractor;
 
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.HashMap;
 
 /**
  * A container for shortcuts to deep links and notifications associated with an app.
@@ -73,6 +80,9 @@
 
     // +1 for system shortcut view
     private static final int MAX_NUM_CHILDREN = MAX_SHORTCUTS + 1;
+    // Index used to get background color when using local wallpaper color extraction,
+    private static final int LIGHT_COLOR_EXTRACTION_INDEX = android.R.color.system_accent2_50;
+    private static final int DARK_COLOR_EXTRACTION_INDEX = android.R.color.system_accent2_800;
 
     private final Rect mTempRect = new Rect();
 
@@ -104,8 +114,14 @@
 
     private Runnable mOnCloseCallback = () -> { };
 
+    // The rect string of the view that the arrow is attached to, in screen reference frame.
+    private String mArrowColorRectString;
     private int mArrowColor;
     private final int[] mColors;
+    private final HashMap<String, View> mViewForRect = new HashMap<>();
+
+    private final int mColorExtractionIndex;
+    @Nullable private LocalColorExtractor mColorExtractor;
 
     public ArrowPopup(Context context, AttributeSet attrs, int defStyleAttr) {
         super(context, attrs, defStyleAttr);
@@ -113,7 +129,9 @@
         mOutlineRadius = Themes.getDialogCornerRadius(context);
         mLauncher = BaseDraggingActivity.fromContext(context);
         mIsRtl = Utilities.isRtl(getResources());
-
+        mColorExtractionIndex = Utilities.isDarkTheme(context)
+                ? DARK_COLOR_EXTRACTION_INDEX
+                : LIGHT_COLOR_EXTRACTION_INDEX;
         setClipToOutline(true);
         setOutlineProvider(new ViewOutlineProvider() {
             @Override
@@ -158,6 +176,10 @@
                 mColors[i] =
                         (int) argb.evaluate((i + 1) * step, primaryColor, secondaryColor);
             }
+
+            if (Utilities.ATLEAST_S) {
+                setupColorExtraction();
+            }
         }
     }
 
@@ -342,6 +364,15 @@
             // so we centered it instead. In that case we don't want to showDefaultOptions the arrow.
             mArrow.setVisibility(INVISIBLE);
         } else {
+            updateArrowColor();
+        }
+
+        mArrow.setPivotX(mArrowWidth / 2.0f);
+        mArrow.setPivotY(mIsAboveIcon ? mArrowHeight : 0);
+    }
+
+    private void updateArrowColor() {
+        if (!Gravity.isVertical(mGravity)) {
             mArrow.setBackground(new RoundedArrowDrawable(
                     mArrowWidth, mArrowHeight, mArrowPointRadius,
                     mOutlineRadius, getMeasuredWidth(), getMeasuredHeight(),
@@ -350,9 +381,6 @@
                     mArrowColor));
             mArrow.setElevation(getElevation());
         }
-
-        mArrow.setPivotX(mArrowWidth / 2.0f);
-        mArrow.setPivotY(mIsAboveIcon ? mArrowHeight : 0);
     }
 
     /**
@@ -671,6 +699,11 @@
         getPopupContainer().removeView(this);
         getPopupContainer().removeView(mArrow);
         mOnCloseCallback.run();
+        mArrowColorRectString = null;
+        mViewForRect.clear();
+        if (mColorExtractor != null) {
+            mColorExtractor.removeLocations();
+        }
     }
 
     /**
@@ -680,6 +713,68 @@
         mOnCloseCallback = callback;
     }
 
+    private void setupColorExtraction() {
+        Workspace workspace = mLauncher.findViewById(R.id.workspace);
+        if (workspace == null) {
+            return;
+        }
+
+        mColorExtractor = LocalColorExtractor.newInstance(mLauncher);
+        mColorExtractor.setListener((rect, extractedColors) -> {
+            String rectString = rect.toShortString();
+            View v = mViewForRect.get(rectString);
+            if (v != null) {
+                int newColor = extractedColors.get(mColorExtractionIndex);
+                setChildColor(v, newColor);
+                if (rectString.equals(mArrowColorRectString)) {
+                    mArrowColor = newColor;
+                    updateArrowColor();
+                }
+            }
+        });
+
+        getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
+            @Override
+            public boolean onPreDraw() {
+                getViewTreeObserver().removeOnPreDrawListener(this);
+
+                ArrayList<RectF> locations = new ArrayList<>();
+                Rect r = new Rect();
+
+                int count = getChildCount();
+                int numVisibleChild = 0;
+                for (int i = 0; i < count; i++) {
+                    View view = getChildAt(i);
+                    if (view.getVisibility() == VISIBLE) {
+                        RectF rf = new RectF();
+                        getColorExtractionRect(Launcher.getLauncher(getContext()),
+                                workspace.getCurrentPage(), view, rf);
+                        if (rf.isEmpty()) {
+                            numVisibleChild++;
+                            continue;
+                        }
+
+                        locations.add(rf);
+                        String rectString = rf.toShortString();
+                        mViewForRect.put(rectString, view);
+
+                        // Arrow color matches the first child or the last child.
+                        if (!mIsAboveIcon && numVisibleChild == 0) {
+                            mArrowColorRectString = rectString;
+                        } else if (mIsAboveIcon) {
+                            mArrowColorRectString = rectString;
+                        }
+
+                        numVisibleChild++;
+                    }
+                }
+
+                mColorExtractor.addLocation(locations);
+                return false;
+            }
+        });
+    }
+
     protected BaseDragLayer getPopupContainer() {
         return mLauncher.getDragLayer();
     }
diff --git a/src/com/android/launcher3/util/ColorExtractionUtils.java b/src/com/android/launcher3/util/ColorExtractionUtils.java
new file mode 100644
index 0000000..b377ded
--- /dev/null
+++ b/src/com/android/launcher3/util/ColorExtractionUtils.java
@@ -0,0 +1,110 @@
+/*
+ * Copyright (C) 2021 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.launcher3.util;
+
+import android.content.res.Resources;
+import android.graphics.Rect;
+import android.graphics.RectF;
+import android.view.View;
+
+import com.android.launcher3.DeviceProfile;
+import com.android.launcher3.Launcher;
+import com.android.launcher3.Utilities;
+
+/**
+ * Utility class used to map launcher views to wallpaper rect.
+ */
+public class ColorExtractionUtils {
+
+    public static final String TAG = "ColorExtractionUtils";
+
+    private static final Rect sTempRect = new Rect();
+    private static final RectF sTempRectF = new RectF();
+
+    /**
+     * Takes a view and returns its rect that can be used by the wallpaper local color extractor.
+     *
+     * @param launcher Launcher class class.
+     * @param pageId The page the workspace item is on.
+     * @param v The view.
+     * @param colorExtractionRectOut The location rect, but converted to a format expected by the
+     *                               wallpaper local color extractor.
+     */
+    public static void getColorExtractionRect(Launcher launcher, int pageId, View v,
+            RectF colorExtractionRectOut) {
+        Rect viewRect = sTempRect;
+        viewRect.set(0, 0, v.getWidth(), v.getHeight());
+        Utilities.getBoundsForViewInDragLayer(launcher.getDragLayer(), v, viewRect, false,
+                sTempRectF);
+        Utilities.setRect(sTempRectF, viewRect);
+        getColorExtractionRect(launcher, pageId, viewRect, colorExtractionRectOut);
+    }
+
+    /**
+     * Takes a rect in drag layer coordinates and returns the rect that can be used by the wallpaper
+     * local color extractor.
+     *
+     * @param launcher Launcher class.
+     * @param pageId The page the workspace item is on.
+     * @param rectInDragLayer The relevant bounds of the view in drag layer coordinates.
+     * @param colorExtractionRectOut The location rect, but converted to a format expected by the
+     *                               wallpaper local color extractor.
+     */
+    public static void getColorExtractionRect(Launcher launcher, int pageId, Rect rectInDragLayer,
+            RectF colorExtractionRectOut) {
+        // If the view hasn't been measured and laid out, we cannot do this.
+        if (rectInDragLayer.isEmpty()) {
+            colorExtractionRectOut.setEmpty();
+            return;
+        }
+
+        Resources res = launcher.getResources();
+        DeviceProfile dp = launcher.getDeviceProfile().inv.getDeviceProfile(launcher);
+        float screenWidth = dp.widthPx;
+        float screenHeight = dp.heightPx;
+        int numScreens = launcher.getWorkspace().getNumPagesForWallpaperParallax();
+        pageId = Utilities.isRtl(res) ? numScreens - pageId - 1 : pageId;
+        float relativeScreenWidth = 1f / numScreens;
+
+        int[] dragLayerBounds = new int[2];
+        launcher.getDragLayer().getLocationOnScreen(dragLayerBounds);
+        // Translate from drag layer coordinates to screen coordinates.
+        int screenLeft = rectInDragLayer.left + dragLayerBounds[0];
+        int screenTop = rectInDragLayer.top + dragLayerBounds[1];
+        int screenRight = rectInDragLayer.right + dragLayerBounds[0];
+        int screenBottom = rectInDragLayer.bottom + dragLayerBounds[1];
+
+        // This is the position of the view relative to the wallpaper, as expected by the
+        // local color extraction of the WallpaperManager.
+        // The coordinate system is such that, on the horizontal axis, each screen has a
+        // distinct range on the [0,1] segment. So if there are 3 screens, they will have the
+        // ranges [0, 1/3], [1/3, 2/3] and [2/3, 1]. The position on the subrange should be
+        // the position of the view relative to the screen. For the vertical axis, this is
+        // simply the location of the view relative to the screen.
+        // Translate from drag layer coordinates to screen coordinates
+        colorExtractionRectOut.left = (screenLeft / screenWidth + pageId) * relativeScreenWidth;
+        colorExtractionRectOut.right = (screenRight / screenWidth + pageId) * relativeScreenWidth;
+        colorExtractionRectOut.top = screenTop / screenHeight;
+        colorExtractionRectOut.bottom = screenBottom / screenHeight;
+
+        if (colorExtractionRectOut.left < 0
+                || colorExtractionRectOut.right > 1
+                || colorExtractionRectOut.top < 0
+                || colorExtractionRectOut.bottom > 1) {
+            colorExtractionRectOut.setEmpty();
+        }
+    }
+}
diff --git a/src/com/android/launcher3/util/Themes.java b/src/com/android/launcher3/util/Themes.java
index 11b856e..06cac08 100644
--- a/src/com/android/launcher3/util/Themes.java
+++ b/src/com/android/launcher3/util/Themes.java
@@ -19,9 +19,9 @@
 import static android.app.WallpaperColors.HINT_SUPPORTS_DARK_TEXT;
 import static android.app.WallpaperColors.HINT_SUPPORTS_DARK_THEME;
 
+import android.app.WallpaperColors;
 import android.app.WallpaperManager;
 import android.content.Context;
-import android.content.res.Configuration;
 import android.content.res.TypedArray;
 import android.graphics.Color;
 import android.graphics.ColorMatrix;
@@ -41,23 +41,24 @@
 public class Themes {
 
     public static int getActivityThemeRes(Context context) {
-        int colorHints = Utilities.ATLEAST_P ? context.getSystemService(WallpaperManager.class)
-                .getWallpaperColors(WallpaperManager.FLAG_SYSTEM).getColorHints()
-                : 0;
+        final int colorHints;
+        if (Utilities.ATLEAST_P) {
+            WallpaperColors colors = context.getSystemService(WallpaperManager.class)
+                    .getWallpaperColors(WallpaperManager.FLAG_SYSTEM);
+            colorHints = colors == null ? 0 : colors.getColorHints();
+        } else {
+            colorHints = 0;
+        }
         return getActivityThemeRes(context, colorHints);
     }
 
     public static int getActivityThemeRes(Context context, int wallpaperColorHints) {
-        Configuration configuration = context.getResources().getConfiguration();
-        int nightMode = configuration.uiMode & Configuration.UI_MODE_NIGHT_MASK;
-        boolean darkTheme = nightMode == Configuration.UI_MODE_NIGHT_YES;
-
         boolean supportsDarkText = Utilities.ATLEAST_S
                 && (wallpaperColorHints & HINT_SUPPORTS_DARK_TEXT) != 0;
         boolean isMainColorDark = Utilities.ATLEAST_S
                 && (wallpaperColorHints & HINT_SUPPORTS_DARK_THEME) != 0;
 
-        if (darkTheme) {
+        if (Utilities.isDarkTheme(context)) {
             return supportsDarkText ? R.style.AppTheme_Dark_DarkText
                     : isMainColorDark ? R.style.AppTheme_Dark_DarkMainColor : R.style.AppTheme_Dark;
         } else {
diff --git a/src/com/android/launcher3/util/UiThreadHelper.java b/src/com/android/launcher3/util/UiThreadHelper.java
index 0498052..be14e01 100644
--- a/src/com/android/launcher3/util/UiThreadHelper.java
+++ b/src/com/android/launcher3/util/UiThreadHelper.java
@@ -17,13 +17,18 @@
 
 import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR;
 
+import android.annotation.SuppressLint;
 import android.app.Activity;
 import android.content.Context;
 import android.os.Handler;
 import android.os.IBinder;
 import android.os.Message;
+import android.view.WindowInsets;
 import android.view.inputmethod.InputMethodManager;
 
+import com.android.launcher3.Launcher;
+import com.android.launcher3.Utilities;
+
 /**
  * Utility class for offloading some class from UI thread
  */
@@ -37,8 +42,16 @@
     private static final int MSG_SET_ORIENTATION = 2;
     private static final int MSG_RUN_COMMAND = 3;
 
-    public static void hideKeyboardAsync(Context context, IBinder token) {
-        Message.obtain(HANDLER.get(context), MSG_HIDE_KEYBOARD, token).sendToTarget();
+    @SuppressLint("NewApi")
+    public static void hideKeyboardAsync(Launcher launcher, IBinder token) {
+        if (Utilities.ATLEAST_R) {
+            WindowInsets rootInsets = launcher.getRootView().getRootWindowInsets();
+            boolean isImeShown = rootInsets != null && rootInsets.isVisible(
+                    WindowInsets.Type.ime());
+            if (!isImeShown) return;
+        }
+
+        Message.obtain(HANDLER.get(launcher), MSG_HIDE_KEYBOARD, token).sendToTarget();
     }
 
     public static void setOrientationAsync(Activity activity, int orientation) {
diff --git a/src/com/android/launcher3/views/FloatingIconView.java b/src/com/android/launcher3/views/FloatingIconView.java
index d49320b..1ddd1ba 100644
--- a/src/com/android/launcher3/views/FloatingIconView.java
+++ b/src/com/android/launcher3/views/FloatingIconView.java
@@ -233,15 +233,8 @@
             outViewBounds.set(0, 0, v.getWidth(), v.getHeight());
         }
 
-        float[] points = new float[] {outViewBounds.left, outViewBounds.top, outViewBounds.right,
-                outViewBounds.bottom};
-        Utilities.getDescendantCoordRelativeToAncestor(v, launcher.getDragLayer(), points,
-                false, ignoreTransform);
-        outRect.set(
-                Math.min(points[0], points[2]),
-                Math.min(points[1], points[3]),
-                Math.max(points[0], points[2]),
-                Math.max(points[1], points[3]));
+        Utilities.getBoundsForViewInDragLayer(launcher.getDragLayer(), v, outViewBounds,
+                ignoreTransform, outRect);
     }
 
     /**
diff --git a/src/com/android/launcher3/widget/LauncherAppWidgetHostView.java b/src/com/android/launcher3/widget/LauncherAppWidgetHostView.java
index 620604a..697c453 100644
--- a/src/com/android/launcher3/widget/LauncherAppWidgetHostView.java
+++ b/src/com/android/launcher3/widget/LauncherAppWidgetHostView.java
@@ -16,6 +16,10 @@
 
 package com.android.launcher3.widget;
 
+import static com.android.launcher3.Utilities.getBoundsForViewInDragLayer;
+import static com.android.launcher3.Utilities.setRect;
+import static com.android.launcher3.util.ColorExtractionUtils.getColorExtractionRect;
+
 import android.appwidget.AppWidgetProviderInfo;
 import android.content.Context;
 import android.content.res.Configuration;
@@ -25,7 +29,6 @@
 import android.graphics.RectF;
 import android.os.Handler;
 import android.os.SystemClock;
-import android.util.Log;
 import android.util.SparseBooleanArray;
 import android.util.SparseIntArray;
 import android.view.LayoutInflater;
@@ -95,11 +98,11 @@
     private RectF mLastLocationRegistered = null;
     @Nullable private AppWidgetHostViewDragListener mDragListener;
 
-    // Used to store the widget size during onLayout.
+    // Used to store the widget sizes in drag layer coordinates.
     private final Rect mCurrentWidgetSize = new Rect();
     private final Rect mWidgetSizeAtDrag = new Rect();
+
     private final RectF mTempRectF = new RectF();
-    private final boolean mIsRtl;
     private final Rect mEnforcedRectangle = new Rect();
     private final float mEnforcedCornerRadius;
     private final ViewOutlineProvider mCornerRadiusEnforcementOutline = new ViewOutlineProvider() {
@@ -129,7 +132,6 @@
         if (Utilities.ATLEAST_Q && Themes.getAttrBoolean(mLauncher, R.attr.isWorkspaceDarkText)) {
             setOnLightBackground(true);
         }
-        mIsRtl = Utilities.isRtl(context.getResources());
         mColorExtractor = LocalColorExtractor.newInstance(getContext());
         mColorExtractor.setListener(this);
 
@@ -319,13 +321,12 @@
         mIsScrollable = checkScrollableRecursively(this);
 
         if (!mIsInDragMode && getTag() instanceof LauncherAppWidgetInfo) {
-            mCurrentWidgetSize.left = left;
-            mCurrentWidgetSize.top = top;
-            mCurrentWidgetSize.right = right;
-            mCurrentWidgetSize.bottom = bottom;
             LauncherAppWidgetInfo info = (LauncherAppWidgetInfo) getTag();
-            int pageId = mWorkspace.getPageIndexForScreenId(info.screenId);
-            updateColorExtraction(mCurrentWidgetSize, pageId);
+            getBoundsForViewInDragLayer(mLauncher.getDragLayer(), this, mCurrentWidgetSize, true,
+                    mTempRectF);
+            setRect(mTempRectF, mCurrentWidgetSize);
+            updateColorExtraction(mCurrentWidgetSize,
+                    mWorkspace.getPageIndexForScreenId(info.screenId));
         }
 
         enforceRoundedCorners();
@@ -338,8 +339,8 @@
     }
 
     /** Handles a drag event occurred on a workspace page, {@code pageId}. */
-    public void handleDrag(Rect rect, int pageId) {
-        mWidgetSizeAtDrag.set(rect);
+    public void handleDrag(Rect rectInDragLayer, int pageId) {
+        mWidgetSizeAtDrag.set(rectInDragLayer);
         updateColorExtraction(mWidgetSizeAtDrag, pageId);
     }
 
@@ -351,53 +352,14 @@
         requestLayout();
     }
 
-    private void updateColorExtraction(Rect widgetLocation, int pageId) {
-        // If the widget hasn't been measured and laid out, we cannot do this.
-        if (widgetLocation.isEmpty()) {
-            return;
-        }
-        int screenWidth = mLauncher.getDeviceProfile().widthPx;
-        int screenHeight = mLauncher.getDeviceProfile().heightPx;
-        int numScreens = mWorkspace.getNumPagesForWallpaperParallax();
-        pageId = mIsRtl ? numScreens - pageId - 1 : pageId;
-        float relativeScreenWidth = 1f / numScreens;
-        float absoluteTop = widgetLocation.top;
-        float absoluteBottom = widgetLocation.bottom;
-        View v = this;
-        while (v.getParent() instanceof View) {
-            v = (View) v.getParent();
-            if (v.getId() != R.id.launcher) {
-                break;
-            }
-            absoluteBottom += v.getTop();
-            absoluteTop += v.getTop();
-        }
-        float xOffset = 0;
-        View parentView = (View) getParent();
-        // The layout depends on the orientation.
-        if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
-            int parentViewWidth = parentView == null ? 0 : parentView.getWidth();
-            xOffset = screenWidth - mWorkspace.getPaddingRight() - parentViewWidth;
-        } else {
-            int parentViewPaddingLeft = parentView == null ? 0 : parentView.getPaddingLeft();
-            xOffset = mWorkspace.getPaddingLeft() + parentViewPaddingLeft;
-        }
-        // This is the position of the widget relative to the wallpaper, as expected by the
-        // local color extraction of the WallpaperManager.
-        // The coordinate system is such that, on the horizontal axis, each screen has a
-        // distinct range on the [0,1] segment. So if there are 3 screens, they will have the
-        // ranges [0, 1/3], [1/3, 2/3] and [2/3, 1]. The position on the subrange should be
-        // the position of the widget relative to the screen. For the vertical axis, this is
-        // simply the location of the widget relative to the screen.
-        mTempRectF.left = ((widgetLocation.left + xOffset) / screenWidth + pageId)
-                * relativeScreenWidth;
-        mTempRectF.right = ((widgetLocation.right + xOffset) / screenWidth + pageId)
-                * relativeScreenWidth;
-        mTempRectF.top = absoluteTop / screenHeight;
-        mTempRectF.bottom = absoluteBottom / screenHeight;
-        if (mTempRectF.left < 0 || mTempRectF.right > 1 || mTempRectF.top < 0
-                || mTempRectF.bottom > 1) {
-            Log.e(LOG_TAG, "   Error, invalid relative position");
+    /**
+     * @param rectInDragLayer Rect of widget in drag layer coordinates.
+     * @param pageId The workspace page the widget is on.
+     */
+    private void updateColorExtraction(Rect rectInDragLayer, int pageId) {
+        getColorExtractionRect(mLauncher, pageId, rectInDragLayer, mTempRectF);
+
+        if (mTempRectF.isEmpty()) {
             return;
         }
         if (!mTempRectF.equals(mLastLocationRegistered)) {
diff --git a/src/com/android/launcher3/widget/LocalColorExtractor.java b/src/com/android/launcher3/widget/LocalColorExtractor.java
index 097158b..2121bc2 100644
--- a/src/com/android/launcher3/widget/LocalColorExtractor.java
+++ b/src/com/android/launcher3/widget/LocalColorExtractor.java
@@ -43,7 +43,10 @@
         void onColorsChanged(RectF rect, SparseIntArray extractedColors);
     }
 
-    static LocalColorExtractor newInstance(Context context) {
+    /**
+     * Returns a new instance of the LocalColorExtractor.
+     */
+    public static LocalColorExtractor newInstance(Context context) {
         return Overrides.getObject(LocalColorExtractor.class, context.getApplicationContext(),
                 R.string.local_colors_extraction_class);
     }