Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit df262cd9 authored by Alan Viverette's avatar Alan Viverette
Browse files

DO NOT MERGE Check item type before re-binding transient state views

BUG: 12701797
Change-Id: I180613cc342d24b63f80fd699937c7543c38fc20
parent e8d2846f
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
@@ -2233,11 +2233,17 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
        // data and discard the view if we fail.
        final View transientView = mRecycler.getTransientStateView(position);
        if (transientView != null) {
            final LayoutParams params = (LayoutParams) transientView.getLayoutParams();

            // If the view type hasn't changed, attempt to re-bind the data.
            if (params.viewType == mAdapter.getItemViewType(position)) {
                final View updatedView = mAdapter.getView(position, transientView, this);

                // If we failed to re-bind the data, scrap the obtained view.
                if (updatedView != transientView) {
                // Failed to re-bind the data, scrap the obtained view.
                    mRecycler.addScrapView(updatedView, position);
                }
            }

            // Scrap view implies temporary detachment.
            isScrap[0] = true;