@@ -145,43 +145,6 @@ public void addInfoItemList(@Nullable final List<? extends InfoItem> data) {
145145 }
146146 }
147147
148- public void setInfoItemList (final List <? extends InfoItem > data ) {
149- infoItemList .clear ();
150- infoItemList .addAll (data );
151- notifyDataSetChanged ();
152- }
153-
154- public void addInfoItem (@ Nullable final InfoItem data ) {
155- if (data == null ) {
156- return ;
157- }
158- if (DEBUG ) {
159- Log .d (TAG , "addInfoItem() before > infoItemList.size() = "
160- + infoItemList .size () + ", thread = " + Thread .currentThread ());
161- }
162-
163- final int positionInserted = sizeConsideringHeaderOffset ();
164- infoItemList .add (data );
165-
166- if (DEBUG ) {
167- Log .d (TAG , "addInfoItem() after > position = " + positionInserted + ", "
168- + "infoItemList.size() = " + infoItemList .size () + ", "
169- + "header = " + header + ", footer = " + footer + ", "
170- + "showFooter = " + showFooter );
171- }
172- notifyItemInserted (positionInserted );
173-
174- if (footer != null && showFooter ) {
175- final int footerNow = sizeConsideringHeaderOffset ();
176- notifyItemMoved (positionInserted , footerNow );
177-
178- if (DEBUG ) {
179- Log .d (TAG , "addInfoItem() footer from " + positionInserted
180- + " to " + footerNow );
181- }
182- }
183- }
184-
185148 public void clearStreamItemList () {
186149 if (infoItemList .isEmpty ()) {
187150 return ;
@@ -226,7 +189,7 @@ private int sizeConsideringHeaderOffset() {
226189 return i ;
227190 }
228191
229- public ArrayList <InfoItem > getItemsList () {
192+ public List <InfoItem > getItemsList () {
230193 return infoItemList ;
231194 }
232195
@@ -335,29 +298,23 @@ public void onBindViewHolder(@NonNull final RecyclerView.ViewHolder holder, int
335298 }
336299
337300 ((InfoItemHolder ) holder ).updateFromItem (infoItemList .get (position ), recordManager );
338- } else if (holder instanceof HFHolder && position == 0 && header != null ) {
339- ((HFHolder ) holder ).view = header ;
340- } else if (holder instanceof HFHolder && position == sizeConsideringHeaderOffset ()
341- && footer != null && showFooter ) {
342- ((HFHolder ) holder ).view = footer ;
343301 }
344302 }
345303
346304 @ Override
347- public void onBindViewHolder (@ NonNull final RecyclerView .ViewHolder holder , final int position ,
305+ public void onBindViewHolder (@ NonNull final RecyclerView .ViewHolder holder ,
306+ final int position ,
348307 @ NonNull final List <Object > payloads ) {
349- if (!payloads .isEmpty () && holder instanceof InfoItemHolder ) {
350- for (final Object payload : payloads ) {
351- if (payload instanceof StreamStateEntity ) {
352- ((InfoItemHolder ) holder ).updateState (infoItemList
353- .get (header == null ? position : position - 1 ), recordManager );
354- } else if (payload instanceof Boolean ) {
355- ((InfoItemHolder ) holder ).updateState (infoItemList
356- .get (header == null ? position : position - 1 ), recordManager );
357- }
358- }
359- } else {
308+ if (payloads .isEmpty () || !(holder instanceof InfoItemHolder )) {
360309 onBindViewHolder (holder , position );
310+ return ;
311+ }
312+
313+ for (final Object payload : payloads ) {
314+ if (payload instanceof StreamStateEntity || payload instanceof Boolean ) {
315+ ((InfoItemHolder ) holder ).updateState (infoItemList
316+ .get (header == null ? position : position - 1 ), recordManager );
317+ }
361318 }
362319 }
363320
@@ -372,11 +329,8 @@ public int getSpanSize(final int position) {
372329 }
373330
374331 public static class HFHolder extends RecyclerView .ViewHolder {
375- public View view ;
376-
377332 HFHolder (final View v ) {
378333 super (v );
379- view = v ;
380334 }
381335 }
382336}
0 commit comments