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

Commit f6a47bbc authored by Adam Cohen's avatar Adam Cohen Committed by Android (Google) Code Review
Browse files

Merge "Ensure the intro view is always the top view in the draglayer if it is...

Merge "Ensure the intro view is always the top view in the draglayer if it is present" into ub-now-mister-ugly
parents 646fdf70 b670f195
Loading
Loading
Loading
Loading
+18 −5
Original line number Diff line number Diff line
@@ -122,10 +122,14 @@ public class DragLayer extends FrameLayout implements ViewGroup.OnHierarchyChang
        setInsets(child, mInsets, new Rect());
    }

    public void showOverlayView(View introScreen) {
    public void showOverlayView(View overlayView) {
        LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
        mOverlayView = introScreen;
        addView(introScreen, lp);
        mOverlayView = overlayView;
        addView(overlayView, lp);

        // ensure that the overlay view stays on top. we can't use drawing order for this
        // because in API level 16 touch dispatch doesn't respect drawing order.
        mOverlayView.bringToFront();
    }

    public void dismissOverlayView() {
@@ -774,6 +778,11 @@ public class DragLayer extends FrameLayout implements ViewGroup.OnHierarchyChang

    @Override
    public void onChildViewAdded(View parent, View child) {
        if (mOverlayView != null) {
            // ensure that the overlay view stays on top. we can't use drawing order for this
            // because in API level 16 touch dispatch doesn't respect drawing order.
            mOverlayView.bringToFront();
        }
        updateChildIndices();
    }

@@ -785,6 +794,11 @@ public class DragLayer extends FrameLayout implements ViewGroup.OnHierarchyChang
    @Override
    public void bringChildToFront(View child) {
        super.bringChildToFront(child);
        if (child != mOverlayView && mOverlayView != null) {
            // ensure that the overlay view stays on top. we can't use drawing order for this
            // because in API level 16 touch dispatch doesn't respect drawing order.
            mOverlayView.bringToFront();
        }
        updateChildIndices();
    }

@@ -792,8 +806,7 @@ public class DragLayer extends FrameLayout implements ViewGroup.OnHierarchyChang
        mTopViewIndex = -1;
        int childCount = getChildCount();
        for (int i = 0; i < childCount; i++) {
            if (getChildAt(i) instanceof DragView ||
                    getChildAt(i) == mOverlayView) {
            if (getChildAt(i) instanceof DragView) {
                mTopViewIndex = i;
            }
        }