Skip to content
This repository was archived by the owner on Jan 2, 2021. It is now read-only.

Commit f03fd70

Browse files
authored
Merge pull request #30 from DevAhamed/1.2.3-update
1.2.3 update
2 parents 304e1ca + 1004bd4 commit f03fd70

File tree

21 files changed

+247
-219
lines changed

21 files changed

+247
-219
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ The minimum API level supported by this library is API 9.
2020

2121
```gradle
2222
dependencies {
23-
compile 'com.github.devahamed:multi-view-adapter:1.2.2'
23+
compile 'com.github.devahamed:multi-view-adapter:1.2.3'
2424
2525
// If you want to use data binding
26-
compile 'com.github.devahamed:multi-view-adapter-databinding:1.2.2'
26+
compile 'com.github.devahamed:multi-view-adapter-databinding:1.2.3'
2727
}
2828
```
2929

gradle/wrapper/gradle-wrapper.jar

575 Bytes
Binary file not shown.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#Tue Apr 11 15:51:27 IST 2017
1+
#Thu Sep 21 00:26:32 IST 2017
22
distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-3.5-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip

multi-view-adapter-databinding/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ android {
3434
minSdkVersion 9
3535
targetSdkVersion 25
3636
versionCode 1
37-
versionName "1.2.2"
37+
versionName "1.2.3"
3838

3939
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
4040
}
@@ -60,7 +60,7 @@ publish {
6060
userOrg = 'devahamed'
6161
groupId = 'com.github.devahamed'
6262
artifactId = 'multi-view-adapter-databinding'
63-
publishVersion = '1.2.2'
63+
publishVersion = '1.2.3'
6464
repoName = 'MultiViewAdapter'
6565
desc = 'Additional DataBinding support for MultiViewAdapter'
6666
website = 'https://github.com/DevAhamed/MultiViewAdapter'

multi-view-adapter-databinding/src/main/java/com/ahamed/multiviewadapter/BindingViewHolder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
* @param <M> Refers to the model class
2525
* @param <VDB> Refers to the DataBinding class of the model
2626
*/
27-
abstract class BindingViewHolder<M, VDB extends ViewDataBinding> extends BaseViewHolder<M> {
27+
abstract class BindingViewHolder<M, VDB extends ViewDataBinding> extends ItemViewHolder<M> {
2828

2929
private final VDB binding;
3030

multi-view-adapter/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ android {
5454
minSdkVersion 9
5555
targetSdkVersion 25
5656
versionCode 1
57-
versionName "1.2.2"
57+
versionName "1.2.3"
5858

5959
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
6060
}
@@ -93,7 +93,7 @@ publish {
9393
groupId = 'com.github.devahamed'
9494
artifactId = 'multi-view-adapter'
9595
repoName = 'MultiViewAdapter'
96-
publishVersion = '1.2.2'
96+
publishVersion = '1.2.3'
9797
desc = 'Recyclerview Adapter library to create composable view holders'
9898
website = 'https://github.com/DevAhamed/MultiViewAdapter'
9999
}

multi-view-adapter/src/androidTest/java/com/ahamed/multiviewadapter/RecyclerAdapterITest.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,10 @@
3030

3131
@RunWith(AndroidJUnit4.class) public class RecyclerAdapterITest {
3232

33-
private RecyclerAdapter recyclerAdapter = new RecyclerAdapter();
34-
private SelectableAdapter selectableAdapter = new SelectableAdapter();
35-
3633
@Mock ItemSelectionChangedListener<DummyOne> itemSelectionChangedListener;
3734
@Mock MultiSelectionChangedListener<DummyOne> multiSelectionChangedListener;
35+
private RecyclerAdapter recyclerAdapter = new RecyclerAdapter();
36+
private SelectableAdapter selectableAdapter = new SelectableAdapter();
3837

3938
@Test public void setExpandableModeTest() {
4039
recyclerAdapter.setExpandableMode(RecyclerAdapter.EXPANDABLE_MODE_MULTIPLE);

multi-view-adapter/src/main/java/com/ahamed/multiviewadapter/BaseDataManager.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@
2525
import java.util.ArrayList;
2626
import java.util.List;
2727

28-
class BaseDataManager<M> implements ListUpdateCallback {
28+
@RestrictTo(RestrictTo.Scope.LIBRARY) public abstract class BaseDataManager<M>
29+
implements ListUpdateCallback {
2930

3031
final RecyclerAdapter adapter;
3132
private List<M> dataList = new ArrayList<>();

multi-view-adapter/src/main/java/com/ahamed/multiviewadapter/BaseViewHolder.java

Lines changed: 1 addition & 167 deletions
Original file line numberDiff line numberDiff line change
@@ -16,177 +16,11 @@
1616

1717
package com.ahamed.multiviewadapter;
1818

19-
import android.support.annotation.RestrictTo;
20-
import android.support.v7.widget.RecyclerView.ViewHolder;
2119
import android.view.View;
22-
import com.ahamed.multiviewadapter.listener.ItemActionListener;
2320

24-
public class BaseViewHolder<M> extends ViewHolder
25-
implements View.OnClickListener, View.OnLongClickListener {
26-
27-
private M item;
28-
private OnItemClickListener<M> itemClickListener;
29-
private OnItemLongClickListener<M> itemLongClickListener;
30-
private ItemActionListener actionListener;
21+
@Deprecated public class BaseViewHolder<M> extends ItemViewHolder<M> {
3122

3223
public BaseViewHolder(View itemView) {
3324
super(itemView);
34-
itemView.setOnClickListener(this);
35-
itemView.setOnLongClickListener(this);
36-
}
37-
38-
@RestrictTo(RestrictTo.Scope.LIBRARY) @Override public final void onClick(View view) {
39-
if (null == itemClickListener) return;
40-
itemClickListener.onItemClick(view, getItem());
41-
}
42-
43-
@RestrictTo(RestrictTo.Scope.LIBRARY) @Override public final boolean onLongClick(View view) {
44-
return null != itemLongClickListener && itemLongClickListener.onItemLongClick(view, getItem());
45-
}
46-
47-
final void setItemActionListener(ItemActionListener actionListener) {
48-
this.actionListener = actionListener;
49-
}
50-
51-
final void setItem(M item) {
52-
this.item = item;
53-
}
54-
55-
////////////////////////////////////////
56-
///////// Public Methods ///////////////
57-
////////////////////////////////////////
58-
59-
/**
60-
* Returns the item object bounded by this {@link BaseViewHolder}
61-
*
62-
* @return item bounded by this {@link BaseViewHolder}
63-
*/
64-
public final M getItem() {
65-
return item;
66-
}
67-
68-
/**
69-
* Can be called by the child view holders to toggle the selection.
70-
*/
71-
protected final void toggleItemSelection() {
72-
actionListener.onItemSelectionToggled(getAdapterPosition());
73-
}
74-
75-
/**
76-
* Can be called by the child view holders to toggle the {@link BaseViewHolder}'s expansion
77-
* status.
78-
*/
79-
protected final void toggleItemExpansion() {
80-
actionListener.onItemExpansionToggled(getAdapterPosition());
81-
}
82-
83-
/**
84-
* Can be called by the child view holders to toggle the {@link DataGroupManager}'s expansion
85-
* status.
86-
*/
87-
protected final void toggleGroupExpansion() {
88-
actionListener.onGroupExpansionToggled(getAdapterPosition());
89-
}
90-
91-
/**
92-
* Register a callback to be invoked when this {@link BaseViewHolder} is clicked. If this {@link
93-
* BaseViewHolder} is not clickable, it becomes clickable.
94-
*
95-
* @param itemClickListener The callback that will run
96-
*/
97-
protected final void setItemClickListener(OnItemClickListener<M> itemClickListener) {
98-
this.itemClickListener = itemClickListener;
99-
}
100-
101-
/**
102-
* Register a callback to be invoked when this {@link BaseViewHolder} is clicked and held. If this
103-
* {@link BaseViewHolder} is not long clickable, it becomes long clickable.
104-
*
105-
* @param itemLongClickListener The callback that will run
106-
*/
107-
protected final void setItemLongClickListener(OnItemLongClickListener<M> itemLongClickListener) {
108-
this.itemLongClickListener = itemLongClickListener;
109-
}
110-
111-
/**
112-
* @return boolean value indicating whether the viewholder is selected or not.
113-
* @see BaseViewHolder#toggleItemSelection()
114-
*/
115-
public final boolean isItemSelected() {
116-
return actionListener.isItemSelected(getAdapterPosition());
117-
}
118-
119-
/**
120-
* @return boolean value indicating whether the viewholder is expanded or not.
121-
* @see BaseViewHolder#toggleItemExpansion()
122-
*/
123-
public final boolean isItemExpanded() {
124-
return actionListener.isItemExpanded(getAdapterPosition());
125-
}
126-
127-
/**
128-
* @return boolean value indicating whether the adapter is in context mode or not.
129-
* @see RecyclerAdapter#startActionMode() ()
130-
* @see RecyclerAdapter#stopActionMode() ()
131-
*/
132-
public final boolean isInActionMode() {
133-
return actionListener.isAdapterInActionMode();
134-
}
135-
136-
/**
137-
* Returns the swipe directions for the provided ViewHolder.
138-
* Default implementation returns the swipe directions as 0.
139-
* This method can be overridden by child classes to provide valid swipe direction flags.
140-
*
141-
* @return A binary OR of direction flags.
142-
*/
143-
public int getSwipeDirections() {
144-
return 0;
145-
}
146-
147-
/**
148-
* Returns the drag directions for the provided ViewHolder. Default implementation returns the
149-
* drag directions as 0.
150-
* This method can be overridden by child classes to provide valid drag direction flags.
151-
*
152-
* @return A binary OR of direction flags.
153-
*/
154-
public int getDragDirections() {
155-
return 0;
156-
}
157-
158-
/**
159-
* The method lets the user to start dragging the viewholder
160-
*/
161-
public final void startDrag() {
162-
actionListener.onStartDrag(this);
163-
}
164-
165-
/**
166-
* Interface definition for a callback to be invoked when a {@link BaseViewHolder} is clicked.
167-
*/
168-
public interface OnItemClickListener<M> {
169-
/**
170-
* Called when a {@link BaseViewHolder} has been clicked.
171-
*
172-
* @param view The view that was clicked.
173-
* @param item Item that is bounded by the {@link BaseViewHolder}
174-
*/
175-
void onItemClick(View view, M item);
176-
}
177-
178-
/**
179-
* Interface definition for a callback to be invoked when a {@link BaseViewHolder} has been
180-
* clicked and held.
181-
*/
182-
public interface OnItemLongClickListener<M> {
183-
/**
184-
* Called when a {@link BaseViewHolder} has been clicked and held.
185-
*
186-
* @param view The view that was clicked and held.
187-
* @param item Item that is bounded by the {@link BaseViewHolder}
188-
* @return true if the callback consumed the long click, false otherwise.
189-
*/
190-
boolean onItemLongClick(View view, M item);
19125
}
19226
}

multi-view-adapter/src/main/java/com/ahamed/multiviewadapter/CoreRecyclerAdapter.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
import static com.ahamed.multiviewadapter.RecyclerAdapter.EXPANDABLE_MODE_NONE;
3333
import static com.ahamed.multiviewadapter.RecyclerAdapter.EXPANDABLE_MODE_SINGLE;
3434

35-
class CoreRecyclerAdapter extends RecyclerView.Adapter<BaseViewHolder> {
35+
class CoreRecyclerAdapter extends RecyclerView.Adapter<ItemViewHolder> {
3636

3737
final List<BaseDataManager> dataManagers = new ArrayList<>();
3838
final ItemDecorationManager itemDecorationManager;
@@ -75,7 +75,7 @@ class CoreRecyclerAdapter extends RecyclerView.Adapter<BaseViewHolder> {
7575
return isInActionMode;
7676
}
7777

78-
@Override public void onStartDrag(BaseViewHolder viewHolder) {
78+
@Override public void onStartDrag(ItemViewHolder viewHolder) {
7979
itemTouchHelper.startDrag(viewHolder);
8080
}
8181
};
@@ -89,18 +89,18 @@ private boolean itemExpanded(int position) {
8989
}
9090

9191
@RestrictTo(RestrictTo.Scope.LIBRARY) @Override
92-
public final BaseViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
92+
public final ItemViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
9393
return binders.get(viewType)
9494
.createViewHolder(LayoutInflater.from(parent.getContext()), parent, actionListener);
9595
}
9696

9797
@RestrictTo(RestrictTo.Scope.LIBRARY) @Override
98-
public final void onBindViewHolder(BaseViewHolder holder, int adapterPosition) {
98+
public final void onBindViewHolder(ItemViewHolder holder, int adapterPosition) {
9999
onBindViewHolder(holder, adapterPosition, null);
100100
}
101101

102102
@RestrictTo(RestrictTo.Scope.LIBRARY) @Override
103-
public final void onBindViewHolder(BaseViewHolder holder, int adapterPosition,
103+
public final void onBindViewHolder(ItemViewHolder holder, int adapterPosition,
104104
List<Object> payloads) {
105105
ItemBinder baseBinder = binders.get(holder.getItemViewType());
106106

0 commit comments

Comments
 (0)