summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAdam Cohen <adamcohen@google.com>2014-04-09 17:37:25 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-04-09 17:37:26 +0000
commitf6a47bbc05b7797a85034760b001f0050bf439a8 (patch)
treee007750049412de572f57bc5da401d463b7ea3ac /src
parent646fdf70b45f330a02104106a65ab7a529e70c6e (diff)
parentb670f195ffb7b4a0519fd0b337b68f7412159414 (diff)
downloadandroid_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.java23
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;
}
}