diff options
author | Adam Cohen <adamcohen@google.com> | 2014-10-28 16:16:02 -0700 |
---|---|---|
committer | Adam Cohen <adamcohen@google.com> | 2014-10-28 16:16:46 -0700 |
commit | bc927f9c24001e250622ca9a2547ee5b65baef58 (patch) | |
tree | 0474d582ff176d6b01c5a477f3565ca822723f9c | |
parent | 09ae4aef52b4486b97ecc77feeb64307bcbd3993 (diff) | |
download | android_packages_apps_Trebuchet-bc927f9c24001e250622ca9a2547ee5b65baef58.tar.gz android_packages_apps_Trebuchet-bc927f9c24001e250622ca9a2547ee5b65baef58.tar.bz2 android_packages_apps_Trebuchet-bc927f9c24001e250622ca9a2547ee5b65baef58.zip |
Make sure DragLayer layout params are of the correct type
bug 18141419
Change-Id: I50695a62cf9e1f25c054ac2c7197cd056d54cfae
-rw-r--r-- | src/com/android/launcher3/DragLayer.java | 36 | ||||
-rw-r--r-- | src/com/android/launcher3/InsettableFrameLayout.java | 2 |
2 files changed, 33 insertions, 5 deletions
diff --git a/src/com/android/launcher3/DragLayer.java b/src/com/android/launcher3/DragLayer.java index 79d42782c..a352b7914 100644 --- a/src/com/android/launcher3/DragLayer.java +++ b/src/com/android/launcher3/DragLayer.java @@ -38,6 +38,8 @@ import android.view.animation.Interpolator; import android.widget.FrameLayout; import android.widget.TextView; +import com.android.launcher3.InsettableFrameLayout.LayoutParams; + import java.util.ArrayList; /** @@ -410,17 +412,43 @@ public class DragLayer extends InsettableFrameLayout { return mDragController.dispatchUnhandledMove(focused, direction); } - public static class LayoutParams extends FrameLayout.LayoutParams { + @Override + public LayoutParams generateLayoutParams(AttributeSet attrs) { + return new LayoutParams(getContext(), attrs); + } + + @Override + protected LayoutParams generateDefaultLayoutParams() { + return new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); + } + + // Override to allow type-checking of LayoutParams. + @Override + protected boolean checkLayoutParams(ViewGroup.LayoutParams p) { + return p instanceof LayoutParams; + } + + @Override + protected LayoutParams generateLayoutParams(ViewGroup.LayoutParams p) { + return new LayoutParams(p); + } + + public static class LayoutParams extends InsettableFrameLayout.LayoutParams { public int x, y; public boolean customPosition = false; - /** - * {@inheritDoc} - */ + public LayoutParams(Context c, AttributeSet attrs) { + super(c, attrs); + } + public LayoutParams(int width, int height) { super(width, height); } + public LayoutParams(ViewGroup.LayoutParams lp) { + super(lp); + } + public void setWidth(int width) { this.width = width; } diff --git a/src/com/android/launcher3/InsettableFrameLayout.java b/src/com/android/launcher3/InsettableFrameLayout.java index 1c3d5a189..7343bf686 100644 --- a/src/com/android/launcher3/InsettableFrameLayout.java +++ b/src/com/android/launcher3/InsettableFrameLayout.java @@ -63,7 +63,7 @@ public class InsettableFrameLayout extends FrameLayout implements return new LayoutParams(p); } - class LayoutParams extends FrameLayout.LayoutParams { + public static class LayoutParams extends FrameLayout.LayoutParams { boolean ignoreInsets = false; public LayoutParams(Context c, AttributeSet attrs) { |