1313import android .view .View ;
1414import android .view .ViewGroup ;
1515
16+ import androidx .annotation .ColorInt ;
17+ import androidx .annotation .ColorRes ;
18+ import androidx .annotation .IdRes ;
19+ import androidx .annotation .LayoutRes ;
20+ import androidx .annotation .NonNull ;
21+ import androidx .annotation .Nullable ;
22+ import androidx .annotation .StringRes ;
23+ import androidx .core .content .ContextCompat ;
24+ import androidx .recyclerview .widget .ExpandedRecyclerView ;
25+ import androidx .recyclerview .widget .LinearLayoutManager ;
26+ import androidx .recyclerview .widget .RecyclerView ;
27+
1628import com .omega_r .libs .omegarecyclerview .header .HeaderFooterWrapperAdapter ;
1729import com .omega_r .libs .omegarecyclerview .item_decoration .DividerItemDecoration ;
1830import com .omega_r .libs .omegarecyclerview .item_decoration .BaseSpaceItemDecoration ;
3042import java .util .List ;
3143import java .util .WeakHashMap ;
3244
33- import androidx .annotation .ColorInt ;
34- import androidx .annotation .ColorRes ;
35- import androidx .annotation .IdRes ;
36- import androidx .annotation .LayoutRes ;
37- import androidx .annotation .NonNull ;
38- import androidx .annotation .Nullable ;
39- import androidx .annotation .StringRes ;
40- import androidx .core .content .ContextCompat ;
41- import androidx .recyclerview .widget .ExpandedRecyclerView ;
42- import androidx .recyclerview .widget .LinearLayoutManager ;
43- import androidx .recyclerview .widget .RecyclerView ;
44-
4545@ SuppressWarnings ("rawtypes" )
4646public class OmegaRecyclerView extends ExpandedRecyclerView implements SwipeMenuHelper .Callback {
4747
4848 private static final int [] DEFAULT_DIVIDER_ATTRS = new int []{android .R .attr .listDivider };
4949
50+ private final WeakHashMap <ViewGroup .LayoutParams , SectionState > mLayoutParamCache = new WeakHashMap <>();
51+ private final SwipeMenuHelper mSwipeMenuHelper = new SwipeMenuHelper (this );
52+ private final PageRequester mPageRequester = new PageRequester ();
53+ private final List <View > mHeadersList = new ArrayList <>();
54+ private final List <View > mFooterList = new ArrayList <>();
55+
5056 private View mEmptyView ;
5157 private int mEmptyViewId ;
5258
53- private SwipeMenuHelper mSwipeMenuHelper ;
54- private PageRequester mPageRequester = new PageRequester ();
5559 private BaseStickyDecoration mBaseStickyDecoration ;
5660 private BaseSpaceItemDecoration mBaseSpaceItemDecoration ;
5761 private int mStickyMode = StickyAdapter .Mode .HEADER ;
@@ -60,9 +64,6 @@ public class OmegaRecyclerView extends ExpandedRecyclerView implements SwipeMenu
6064 @ LayoutRes
6165 private int mPaginationErrorLayout = R .layout .pagination_error_omega_layout ;
6266 private boolean mFinishedInflate = false ;
63- private List <View > mHeadersList = new ArrayList <>();
64- private List <View > mFooterList = new ArrayList <>();
65- private WeakHashMap <ViewGroup .LayoutParams , SectionState > mLayoutParamCache = new WeakHashMap <>();
6667 @ Nullable
6768 private DividerItemDecoration mDividerItemDecoration ;
6869 private int mItemSpace ;
@@ -96,7 +97,6 @@ private void init(Context context, @Nullable AttributeSet attrs, int defStyleAtt
9697 initStickyMode (a );
9798 a .recycle ();
9899 }
99- mSwipeMenuHelper = new SwipeMenuHelper (getContext (), this );
100100 mPageRequester .attach (this );
101101 }
102102
@@ -328,7 +328,7 @@ public void addView(View view, int index, ViewGroup.LayoutParams params) {
328328
329329 @ Override
330330 public int getChildCount () {
331- if (!mIsAdapterConnected && areSectionsInitialized ()) {
331+ if (!mIsAdapterConnected && areSectionsInitialized ()) {
332332 return super .getChildCount () + mHeadersList .size () + mFooterList .size ();
333333 }
334334
@@ -430,17 +430,12 @@ private void findEmptyView() {
430430
431431 @ Override
432432 public boolean onInterceptTouchEvent (MotionEvent ev ) {
433- boolean isIntercepted = super .onInterceptTouchEvent (ev );
434- if (ev .getActionIndex () != 0 ) return true ;
435- int action = ev .getAction ();
436-
437- switch (action ) {
438- case MotionEvent .ACTION_DOWN :
439- isIntercepted = mSwipeMenuHelper .handleListDownTouchEvent (ev , isIntercepted );
440- break ;
441- }
433+ return mSwipeMenuHelper .handleInterceptTouchEvent (ev , super .onInterceptTouchEvent (ev ));
434+ }
442435
443- return isIntercepted ;
436+ @ Override
437+ public boolean onFilterTouchEventForSecurity (MotionEvent ev ) {
438+ return mSwipeMenuHelper .handleTouchEventForSecurity (ev , super .onFilterTouchEventForSecurity (ev ));
444439 }
445440
446441 private Drawable getDefaultDivider () {
0 commit comments