diff options
author | Jon Miranda <jonmiranda@google.com> | 2016-09-19 21:43:54 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2016-09-19 21:43:54 +0000 |
commit | 48542731c562be7f4f41db0e16bbf0390285fb17 (patch) | |
tree | c8e3c8f4ddb13b726826ab7a2315b332a06b2b74 /src | |
parent | d1e5b5ceaaf21ba7b33e21237f36eb4107f477f5 (diff) | |
parent | 0ef81fdc2265c764d6ebd57cf44d4a0bd15132b7 (diff) | |
download | android_packages_apps_Trebuchet-48542731c562be7f4f41db0e16bbf0390285fb17.tar.gz android_packages_apps_Trebuchet-48542731c562be7f4f41db0e16bbf0390285fb17.tar.bz2 android_packages_apps_Trebuchet-48542731c562be7f4f41db0e16bbf0390285fb17.zip |
Uses a TransformingTouchDelegate to extend touch target for widgets list.
am: 0ef81fdc22
Change-Id: I33962020ff1cf75e46254c24687a53fd5b2088fa
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/launcher3/widget/WidgetsContainerView.java | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/src/com/android/launcher3/widget/WidgetsContainerView.java b/src/com/android/launcher3/widget/WidgetsContainerView.java index 70b2945f5..89c44c859 100644 --- a/src/com/android/launcher3/widget/WidgetsContainerView.java +++ b/src/com/android/launcher3/widget/WidgetsContainerView.java @@ -49,6 +49,7 @@ import com.android.launcher3.model.WidgetsModel; import com.android.launcher3.userevent.nano.LauncherLogProto; import com.android.launcher3.userevent.nano.LauncherLogProto.Target; import com.android.launcher3.util.Thunk; +import com.android.launcher3.util.TransformingTouchDelegate; /** * The widgets list view container. @@ -64,11 +65,11 @@ public class WidgetsContainerView extends BaseContainerView private IconCache mIconCache; private final Rect mTmpBgPaddingRect = new Rect(); - private final Rect mTmpRect = new Rect(); /* Recycler view related member variables */ private WidgetsRecyclerView mRecyclerView; private WidgetsListAdapter mAdapter; + private TransformingTouchDelegate mRecyclerViewTouchDelegate; /* Touch handling related member variables. */ private Toast mWidgetInstructionToast; @@ -96,29 +97,29 @@ public class WidgetsContainerView extends BaseContainerView } @Override + protected void onLayout(boolean changed, int left, int top, int right, int bottom) { + super.onLayout(changed, left, top, right, bottom); + getRevealView().getBackground().getPadding(mTmpBgPaddingRect); + mRecyclerViewTouchDelegate.setBounds( + mRecyclerView.getLeft() - mTmpBgPaddingRect.left, + mRecyclerView.getTop() - mTmpBgPaddingRect.top, + mRecyclerView.getRight() + mTmpBgPaddingRect.right, + mRecyclerView.getBottom() + mTmpBgPaddingRect.bottom); + } + + @Override protected void onFinishInflate() { super.onFinishInflate(); mRecyclerView = (WidgetsRecyclerView) getContentView().findViewById(R.id.widgets_list_view); mRecyclerView.setAdapter(mAdapter); mRecyclerView.setLayoutManager(new LinearLayoutManager(getContext())); + mRecyclerViewTouchDelegate = new TransformingTouchDelegate(mRecyclerView); } @Override - protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - getRevealView().getBackground().getPadding(mTmpBgPaddingRect); - if (Utilities.isRtl(getResources())) { - getContentView().setPadding(0, mTmpBgPaddingRect.top, mTmpBgPaddingRect.right, - mTmpBgPaddingRect.bottom); - mTmpRect.set(mTmpBgPaddingRect.left, 0, 0, 0); - mRecyclerView.updateBackgroundPadding(mTmpRect); - } else { - getContentView().setPadding(mTmpBgPaddingRect.left, mTmpBgPaddingRect.top, 0, - mTmpBgPaddingRect.bottom); - mTmpRect.set(0, 0, mTmpBgPaddingRect.right, 0); - mRecyclerView.updateBackgroundPadding(mTmpRect); - } - - super.onMeasure(widthMeasureSpec, heightMeasureSpec); + protected void onAttachedToWindow() { + super.onAttachedToWindow(); + ((View) mRecyclerView.getParent()).setTouchDelegate(mRecyclerViewTouchDelegate); } // |