mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-03-02 17:06:49 +00:00
Uses a TransformingTouchDelegate to extend touch target for widgets list.
am: 0ef81fdc22
Change-Id: I33962020ff1cf75e46254c24687a53fd5b2088fa
This commit is contained in:
@@ -59,8 +59,8 @@
|
||||
android:id="@+id/widgets_cell_list"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/widget_row_padding"
|
||||
android:layout_marginLeft="@dimen/widget_row_padding"
|
||||
android:paddingStart="@dimen/widget_row_padding"
|
||||
android:paddingEnd="0dp"
|
||||
android:orientation="horizontal"
|
||||
android:divider="@drawable/widgets_row_divider"
|
||||
android:showDividers="middle"/>
|
||||
|
||||
@@ -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;
|
||||
@@ -95,30 +96,30 @@ 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);
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user