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

Commit 7ac2a71b authored by Jon Miranda's avatar Jon Miranda Committed by Android (Google) Code Review
Browse files

Merge "Clear all DragView in onSaveInstanceState" into sc-v2-dev

parents 9ef8e2dc 14d6771a
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1637,6 +1637,8 @@ public class Launcher extends StatefulActivity<LauncherState> implements Launche
        AbstractFloatingView.closeOpenViews(this, false, TYPE_ALL & ~TYPE_REBIND_SAFE);
        finishAutoCancelActionMode();

        DragView.removeAllViews(this);

        if (mPendingRequestArgs != null) {
            outState.putParcelable(RUNTIME_STATE_PENDING_REQUEST_ARGS, mPendingRequestArgs);
        }
+15 −0
Original line number Diff line number Diff line
@@ -565,4 +565,19 @@ public abstract class DragView<T extends Context & ActivityContext> extends Fram
        iv.setImageDrawable(drawable);
        return iv;
    }

    /**
     * Removes any stray DragView from the DragLayer.
     */
    public static void removeAllViews(ActivityContext activity) {
        BaseDragLayer dragLayer = activity.getDragLayer();
        // Iterate in reverse order. DragView is added later to the dragLayer,
        // and will be one of the last views.
        for (int i = dragLayer.getChildCount() - 1; i >= 0; i--) {
            View child = dragLayer.getChildAt(i);
            if (child instanceof DragView) {
                dragLayer.removeView(child);
            }
        }
    }
}