diff options
author | Adam Cohen <adamcohen@google.com> | 2014-04-09 17:37:25 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-04-09 17:37:26 +0000 |
commit | f6a47bbc05b7797a85034760b001f0050bf439a8 (patch) | |
tree | e007750049412de572f57bc5da401d463b7ea3ac /src | |
parent | 646fdf70b45f330a02104106a65ab7a529e70c6e (diff) | |
parent | b670f195ffb7b4a0519fd0b337b68f7412159414 (diff) | |
download | android_packages_apps_Trebuchet-f6a47bbc05b7797a85034760b001f0050bf439a8.tar.gz android_packages_apps_Trebuchet-f6a47bbc05b7797a85034760b001f0050bf439a8.tar.bz2 android_packages_apps_Trebuchet-f6a47bbc05b7797a85034760b001f0050bf439a8.zip |
Merge "Ensure the intro view is always the top view in the draglayer if it is present" into ub-now-mister-ugly
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/launcher3/DragLayer.java | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/src/com/android/launcher3/DragLayer.java b/src/com/android/launcher3/DragLayer.java index cd51c96e1..c54db0127 100644 --- a/src/com/android/launcher3/DragLayer.java +++ b/src/com/android/launcher3/DragLayer.java @@ -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; } } |