diff options
Diffstat (limited to 'src/com/android/launcher3/DragLayer.java')
-rw-r--r-- | src/com/android/launcher3/DragLayer.java | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/com/android/launcher3/DragLayer.java b/src/com/android/launcher3/DragLayer.java index be0d47b68..9c649edda 100644 --- a/src/com/android/launcher3/DragLayer.java +++ b/src/com/android/launcher3/DragLayer.java @@ -69,6 +69,8 @@ public class DragLayer extends FrameLayout implements ViewGroup.OnHierarchyChang public static final int ANIMATION_END_FADE_OUT = 1; public static final int ANIMATION_END_REMAIN_VISIBLE = 2; + private final Rect mInsets = new Rect(); + /** * Used to create a new DragLayer from XML. * @@ -97,6 +99,26 @@ public class DragLayer extends FrameLayout implements ViewGroup.OnHierarchyChang return mDragController.dispatchKeyEvent(event) || super.dispatchKeyEvent(event); } + @Override + protected boolean fitSystemWindows(Rect insets) { + final int n = getChildCount(); + for (int i = 0; i < n; i++) { + final View child = getChildAt(i); + final FrameLayout.LayoutParams flp = (FrameLayout.LayoutParams) child.getLayoutParams(); + if (child instanceof Insettable) { + ((Insettable)child).setInsets(insets); + } else { + flp.topMargin += (insets.top - mInsets.top); + flp.leftMargin += (insets.left - mInsets.left); + flp.rightMargin += (insets.right - mInsets.right); + flp.bottomMargin += (insets.bottom - mInsets.bottom); + } + child.setLayoutParams(flp); + } + mInsets.set(insets); + return true; // I'll take it from here + } + private boolean isEventOverFolderTextRegion(Folder folder, MotionEvent ev) { getDescendantRectRelativeToSelf(folder.getEditTextRegion(), mHitRect); if (mHitRect.contains((int) ev.getX(), (int) ev.getY())) { |