Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9f2a4fe8 authored by Shamali P's avatar Shamali P Committed by Shamali Patwa
Browse files

Fix issue that widgets with config activity jump

This also linked to the overlap we were seeing in
bug 331816144 (as can be seen in before and after video)

Bug: N/A
Test: See videos
Flag: aconfig launcher.enable_add_app_widget_via_config_activity_v2 NEXTFOOD
Change-Id: I21717e0c4d4eab7efa1746e46d3218b8b3cee4ef
parent 42d496d1
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@ import com.android.launcher3.util.PendingRequestArgs;
import com.android.launcher3.views.ArrowTipView;
import com.android.launcher3.widget.LauncherAppWidgetHostView;
import com.android.launcher3.widget.LauncherAppWidgetProviderInfo;
import com.android.launcher3.widget.PendingAppWidgetHostView;
import com.android.launcher3.widget.util.WidgetSizes;

import java.util.ArrayList;
@@ -474,8 +475,11 @@ public class AppWidgetResizeFrame extends AbstractFloatingView implements View.O
            mLastDirectionVector[1] = mDirectionVector[1];
        }

        if (mCellLayout.createAreaForResize(cellX, cellY, spanX, spanY, mWidgetView,
                mDirectionVector, onDismiss)) {
        // We don't want to evaluate resize if a widget was pending config activity and was already
        // occupying a space on the screen. This otherwise will cause reorder algorithm evaluate a
        // different location for the widget and cause a jump.
        if (!(mWidgetView instanceof PendingAppWidgetHostView) && mCellLayout.createAreaForResize(
                cellX, cellY, spanX, spanY, mWidgetView, mDirectionVector, onDismiss)) {
            if (mStateAnnouncer != null && (lp.cellHSpan != spanX || lp.cellVSpan != spanY) ) {
                mStateAnnouncer.announce(
                        mLauncher.getString(R.string.widget_resized, spanX, spanY));