Skip to content

Commit cc6a322

Browse files
committed
Merge pull request daimajia#145 from jivesoftware/master
Refactor SwipeItemManager code to decouple it from adapter converns
2 parents cc1d1b3 + be8b5d4 commit cc6a322

12 files changed

+76
-225
lines changed

demo/src/main/java/com/daimajia/swipedemo/adapter/RecyclerViewAdapter.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import com.daimajia.swipe.SimpleSwipeListener;
1616
import com.daimajia.swipe.SwipeLayout;
1717
import com.daimajia.swipe.adapters.RecyclerSwipeAdapter;
18-
import com.daimajia.swipe.implments.SwipeItemRecyclerMangerImpl;
1918
import com.daimajia.swipedemo.R;
2019

2120
import java.util.ArrayList;
@@ -90,7 +89,7 @@ public void onClick(View view) {
9089
});
9190
viewHolder.textViewPos.setText((position + 1) + ".");
9291
viewHolder.textViewData.setText(item);
93-
mItemManger.bindView(viewHolder.itemView, position);
92+
mItemManger.bind(viewHolder.itemView, position);
9493
}
9594

9695
@Override

library/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@ android {
1212

1313
dependencies {
1414
compile 'com.android.support:recyclerview-v7:21.0.0'
15-
compile 'com.android.support:support-v4:21.0.3'
15+
compile 'com.android.support:support-v4:22.1.1'
1616
}
1717
apply from: './gradle-mvn-push.gradle'

library/src/main/java/com/daimajia/swipe/adapters/ArraySwipeAdapter.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,16 @@
66
import android.widget.ArrayAdapter;
77

88
import com.daimajia.swipe.SwipeLayout;
9-
import com.daimajia.swipe.implments.SwipeItemAdapterMangerImpl;
109
import com.daimajia.swipe.implments.SwipeItemMangerImpl;
1110
import com.daimajia.swipe.interfaces.SwipeAdapterInterface;
1211
import com.daimajia.swipe.interfaces.SwipeItemMangerInterface;
1312
import com.daimajia.swipe.util.Attributes;
1413

1514
import java.util.List;
1615

17-
public abstract class ArraySwipeAdapter<T> extends ArrayAdapter implements SwipeItemMangerInterface,SwipeAdapterInterface {
16+
public abstract class ArraySwipeAdapter<T> extends ArrayAdapter implements SwipeItemMangerInterface, SwipeAdapterInterface {
1817

19-
private SwipeItemAdapterMangerImpl mItemManger = new SwipeItemAdapterMangerImpl(this);
18+
private SwipeItemMangerImpl mItemManger = new SwipeItemMangerImpl(this);
2019
{}
2120
public ArraySwipeAdapter(Context context, int resource) {
2221
super(context, resource);
@@ -42,15 +41,15 @@ public ArraySwipeAdapter(Context context, int resource, int textViewResourceId,
4241
super(context, resource, textViewResourceId, objects);
4342
}
4443

44+
@Override
45+
public void notifyDatasetChanged() {
46+
super.notifyDataSetChanged();
47+
}
48+
4549
@Override
4650
public View getView(int position, View convertView, ViewGroup parent) {
47-
boolean convertViewIsNull = convertView == null;
4851
View v = super.getView(position, convertView, parent);
49-
if(convertViewIsNull){
50-
mItemManger.initialize(v, position);
51-
}else{
52-
mItemManger.updateConvertView(v, position);
53-
}
52+
mItemManger.bind(v, position);
5453
return v;
5554
}
5655

library/src/main/java/com/daimajia/swipe/adapters/BaseSwipeAdapter.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,16 @@
55
import android.widget.BaseAdapter;
66

77
import com.daimajia.swipe.SwipeLayout;
8-
import com.daimajia.swipe.implments.SwipeItemAdapterMangerImpl;
9-
import com.daimajia.swipe.interfaces.SwipeAdapterInterface;
108
import com.daimajia.swipe.implments.SwipeItemMangerImpl;
9+
import com.daimajia.swipe.interfaces.SwipeAdapterInterface;
1110
import com.daimajia.swipe.interfaces.SwipeItemMangerInterface;
1211
import com.daimajia.swipe.util.Attributes;
1312

1413
import java.util.List;
1514

1615
public abstract class BaseSwipeAdapter extends BaseAdapter implements SwipeItemMangerInterface, SwipeAdapterInterface {
1716

18-
protected SwipeItemAdapterMangerImpl mItemManger = new SwipeItemAdapterMangerImpl(this);
17+
protected SwipeItemMangerImpl mItemManger = new SwipeItemMangerImpl(this);
1918

2019
/**
2120
* return the {@link com.daimajia.swipe.SwipeLayout} resource id, int the view item.
@@ -42,16 +41,19 @@ public abstract class BaseSwipeAdapter extends BaseAdapter implements SwipeItemM
4241
*/
4342
public abstract void fillValues(int position, View convertView);
4443

44+
@Override
45+
public void notifyDatasetChanged() {
46+
super.notifyDataSetChanged();
47+
}
48+
4549

4650
@Override
4751
public final View getView(int position, View convertView, ViewGroup parent) {
4852
View v = convertView;
4953
if(v == null){
5054
v = generateView(position, parent);
51-
mItemManger.initialize(v, position);
52-
}else{
53-
mItemManger.updateConvertView(v, position);
5455
}
56+
mItemManger.bind(v, position);
5557
fillValues(position, v);
5658
return v;
5759
}

library/src/main/java/com/daimajia/swipe/adapters/CursorSwipeAdapter.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,16 @@
77
import android.view.ViewGroup;
88

99
import com.daimajia.swipe.SwipeLayout;
10-
import com.daimajia.swipe.implments.SwipeItemAdapterMangerImpl;
11-
import com.daimajia.swipe.interfaces.SwipeAdapterInterface;
1210
import com.daimajia.swipe.implments.SwipeItemMangerImpl;
11+
import com.daimajia.swipe.interfaces.SwipeAdapterInterface;
1312
import com.daimajia.swipe.interfaces.SwipeItemMangerInterface;
1413
import com.daimajia.swipe.util.Attributes;
1514

1615
import java.util.List;
1716

1817
public abstract class CursorSwipeAdapter extends CursorAdapter implements SwipeItemMangerInterface, SwipeAdapterInterface {
1918

20-
private SwipeItemAdapterMangerImpl mItemManger = new SwipeItemAdapterMangerImpl(this);
19+
private SwipeItemMangerImpl mItemManger = new SwipeItemMangerImpl(this);
2120

2221
protected CursorSwipeAdapter(Context context, Cursor c, boolean autoRequery) {
2322
super(context, c, autoRequery);
@@ -29,13 +28,8 @@ protected CursorSwipeAdapter(Context context, Cursor c, int flags) {
2928

3029
@Override
3130
public View getView(int position, View convertView, ViewGroup parent) {
32-
boolean convertViewIsNull = convertView == null;
3331
View v = super.getView(position, convertView, parent);
34-
if(convertViewIsNull){
35-
mItemManger.initialize(v, position);
36-
}else{
37-
mItemManger.updateConvertView(v, position);
38-
}
32+
mItemManger.bind(v, position);
3933
return v;
4034
}
4135

@@ -54,6 +48,11 @@ public void closeAllExcept(SwipeLayout layout) {
5448
mItemManger.closeAllExcept(layout);
5549
}
5650

51+
@Override
52+
public void closeAllItems() {
53+
mItemManger.closeAllItems();
54+
}
55+
5756
@Override
5857
public List<Integer> getOpenItems() {
5958
return mItemManger.getOpenItems();

library/src/main/java/com/daimajia/swipe/adapters/RecyclerSwipeAdapter.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import android.view.ViewGroup;
55

66
import com.daimajia.swipe.SwipeLayout;
7-
import com.daimajia.swipe.implments.SwipeItemRecyclerMangerImpl;
7+
import com.daimajia.swipe.implments.SwipeItemMangerImpl;
88
import com.daimajia.swipe.interfaces.SwipeAdapterInterface;
99
import com.daimajia.swipe.interfaces.SwipeItemMangerInterface;
1010
import com.daimajia.swipe.util.Attributes;
@@ -13,14 +13,19 @@
1313

1414
public abstract class RecyclerSwipeAdapter<VH extends RecyclerView.ViewHolder> extends RecyclerView.Adapter<VH> implements SwipeItemMangerInterface, SwipeAdapterInterface {
1515

16-
public SwipeItemRecyclerMangerImpl mItemManger = new SwipeItemRecyclerMangerImpl(this);
16+
public SwipeItemMangerImpl mItemManger = new SwipeItemMangerImpl(this);
1717

1818
@Override
1919
public abstract VH onCreateViewHolder(ViewGroup parent, int viewType);
2020

2121
@Override
2222
public abstract void onBindViewHolder(VH viewHolder, final int position);
2323

24+
@Override
25+
public void notifyDatasetChanged() {
26+
super.notifyDataSetChanged();
27+
}
28+
2429
@Override
2530
public void openItem(int position) {
2631
mItemManger.openItem(position);

library/src/main/java/com/daimajia/swipe/adapters/SimpleCursorSwipeAdapter.java

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import android.view.ViewGroup;
88

99
import com.daimajia.swipe.SwipeLayout;
10-
import com.daimajia.swipe.implments.SwipeItemAdapterMangerImpl;
1110
import com.daimajia.swipe.implments.SwipeItemMangerImpl;
1211
import com.daimajia.swipe.interfaces.SwipeAdapterInterface;
1312
import com.daimajia.swipe.interfaces.SwipeItemMangerInterface;
@@ -17,7 +16,7 @@
1716

1817
public abstract class SimpleCursorSwipeAdapter extends SimpleCursorAdapter implements SwipeItemMangerInterface, SwipeAdapterInterface {
1918

20-
private SwipeItemAdapterMangerImpl mItemManger = new SwipeItemAdapterMangerImpl(this);
19+
private SwipeItemMangerImpl mItemManger = new SwipeItemMangerImpl(this);
2120

2221
protected SimpleCursorSwipeAdapter(Context context, int layout, Cursor c, String[] from, int[] to, int flags) {
2322
super(context, layout, c, from, to, flags);
@@ -29,13 +28,8 @@ protected SimpleCursorSwipeAdapter(Context context, int layout, Cursor c, String
2928

3029
@Override
3130
public View getView(int position, View convertView, ViewGroup parent) {
32-
boolean convertViewIsNull = convertView == null;
3331
View v = super.getView(position, convertView, parent);
34-
if(convertViewIsNull){
35-
mItemManger.initialize(v, position);
36-
}else{
37-
mItemManger.updateConvertView(v, position);
38-
}
32+
mItemManger.bind(v, position);
3933
return v;
4034
}
4135

library/src/main/java/com/daimajia/swipe/implments/SwipeItemAdapterMangerImpl.java

Lines changed: 0 additions & 66 deletions
This file was deleted.

0 commit comments

Comments
 (0)