5
5
import android .view .LayoutInflater ;
6
6
import android .view .View ;
7
7
import android .view .ViewGroup ;
8
- import android .widget .TextView ;
8
+
9
+ import com .rey .material .widget .Button ;
9
10
10
11
import java .util .ArrayList ;
11
12
import java .util .List ;
23
24
*/
24
25
public class GroupAdapter extends RecyclerView .Adapter <GroupAdapter .ViewHolder > implements onCollectionUpdated <GroupCollection , Group >, onServiceReady {
25
26
private final boolean showAllEntry ;
27
+ protected EmptyListener emptyListener ;
26
28
private GroupCollection groupCollection ;
27
29
private int selectedItemPosition = -1 ;
28
30
private int lastSelectedItemPosition = -1 ;
29
31
private List <Group > items = new ArrayList <>();
30
- private EmptyListener emptyListener = new EmptyListener () {
31
- public void onEmptyListener (boolean empty ) {
32
- }
33
- };
34
32
35
33
public GroupAdapter (boolean showAllEntry , EmptyListener emptyListener ) {
36
34
this .emptyListener = emptyListener ;
@@ -63,12 +61,12 @@ public void onBindViewHolder(ViewHolder viewHolder, int position) {
63
61
viewHolder .textView .setText (items .get (position ).name );
64
62
65
63
if (lastSelectedItemPosition == position ) {
66
- viewHolder .layout_item . setActivated (false );
64
+ viewHolder .textView . setPressed (false );
67
65
lastSelectedItemPosition = -1 ;
68
66
}
69
67
70
68
if (selectedItemPosition == position ) {
71
- viewHolder .layout_item . setActivated (true );
69
+ viewHolder .textView . setPressed (true );
72
70
}
73
71
}
74
72
@@ -84,41 +82,42 @@ public void onDestroy() {
84
82
85
83
private void resetItems () {
86
84
items .clear ();
87
- if (groupCollection .getItems ().size () > 0 ) {
88
- if (showAllEntry )
89
- items .add (new Group ("" , App .getAppString (R .string .groups_all )));
90
- for (Group group : groupCollection .getItems ().values ()) {
91
- items .add (group );
92
- }
85
+ if (showAllEntry )
86
+ items .add (new Group ("" , App .getAppString (R .string .groups_all )));
87
+ for (Group group : groupCollection .getItems ().values ()) {
88
+ items .add (group );
93
89
}
94
90
notifyDataSetChanged ();
95
91
emptyListener .onEmptyListener (items .isEmpty ());
96
92
}
97
93
94
+ protected void _notifyItemInserted (int pos ) {
95
+ notifyItemInserted (pos );
96
+ }
97
+
98
+ protected void _notifyItemRemoved (int pos ) {
99
+ notifyItemRemoved (pos );
100
+ }
101
+
102
+ protected void _notifyItemChanged (int pos ) {
103
+ notifyItemChanged (pos );
104
+ }
105
+
98
106
@ Override
99
107
public boolean updated (@ NonNull GroupCollection groupCollection , Group group , @ NonNull ObserverUpdateActions action ) {
100
108
switch (action ) {
101
109
case AddAction :
102
110
boolean empty = items .isEmpty ();
103
- if (showAllEntry && items .size () == 0 ) { // Add "show all" if nothing inside so far
104
- items .add (new Group ("" , App .getAppString (R .string .groups_all )));
105
- notifyItemInserted (0 );
106
- }
107
111
items .add (group );
108
- notifyItemInserted (items .size () - 1 );
112
+ _notifyItemInserted (items .size () - 1 );
109
113
if (empty )
110
114
emptyListener .onEmptyListener (false );
111
115
break ;
112
116
case RemoveAction :
113
117
for (int i = 0 ; i < items .size (); ++i )
114
118
if (items .get (i ).getUid ().equals (group .getUid ())) {
115
119
items .remove (i );
116
- notifyItemRemoved (i );
117
- if (showAllEntry && items .size () == 1 ) { // remove "show all"
118
- items .remove (0 );
119
- notifyItemRemoved (0 );
120
- emptyListener .onEmptyListener (true );
121
- }
120
+ _notifyItemRemoved (i );
122
121
break ;
123
122
}
124
123
break ;
@@ -129,7 +128,7 @@ public boolean updated(@NonNull GroupCollection groupCollection, Group group, @N
129
128
case UpdateAction :
130
129
for (int i = 0 ; i < items .size (); ++i )
131
130
if (items .get (i ).getUid ().equals (group .getUid ())) {
132
- notifyItemChanged (i );
131
+ _notifyItemChanged (i );
133
132
break ;
134
133
}
135
134
}
@@ -152,7 +151,7 @@ public void onServiceFinished(DataService service) {
152
151
public void setSelectedItem (String groupUID ) {
153
152
lastSelectedItemPosition = selectedItemPosition ;
154
153
if (lastSelectedItemPosition != -1 )
155
- notifyItemChanged (lastSelectedItemPosition );
154
+ _notifyItemChanged (lastSelectedItemPosition );
156
155
157
156
int pos = 0 ;
158
157
for (int i = 0 ; i < items .size (); ++i )
@@ -163,17 +162,19 @@ public void setSelectedItem(String groupUID) {
163
162
164
163
selectedItemPosition = pos ;
165
164
if (pos == -1 ) return ;
166
- notifyItemChanged (pos );
165
+ _notifyItemChanged (pos );
167
166
}
168
167
169
- static class ViewHolder extends RecyclerView .ViewHolder {
170
- TextView textView ;
171
- View layout_item ;
168
+ protected static class ViewHolder extends RecyclerView .ViewHolder {
169
+ //TextView textView;
170
+ //View layout_item;
171
+ public Button textView ;
172
172
173
173
public ViewHolder (View itemView ) {
174
174
super (itemView );
175
- layout_item = itemView .findViewById (R .id .list_item );
176
- textView = (TextView ) itemView .findViewById (R .id .title );
175
+ //layout_item = itemView.findViewById(R.id.list_item);
176
+ //textView = (TextView) itemView.findViewById(R.id.title);
177
+ textView = (Button ) itemView .findViewById (R .id .title );
177
178
}
178
179
}
179
180
}
0 commit comments