From 43774e878dd1ea72eab77bf46d9c01b6deae8ce3 Mon Sep 17 00:00:00 2001 From: Vadim Tryshev Date: Fri, 26 Jun 2015 18:29:17 -0700 Subject: [PATCH] Eliminating AnimatedRecyclerView demo crashes. Also, some minimal cleanup. Bug: 21643257 Change-Id: I956d8fd63b1e51b03e215ac3434ff7c73c0bdce3 --- .../supportv7/widget/AnimatedRecyclerView.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/samples/Support7Demos/src/com/example/android/supportv7/widget/AnimatedRecyclerView.java b/samples/Support7Demos/src/com/example/android/supportv7/widget/AnimatedRecyclerView.java index 4c56933e7..566332b82 100644 --- a/samples/Support7Demos/src/com/example/android/supportv7/widget/AnimatedRecyclerView.java +++ b/samples/Support7Demos/src/com/example/android/supportv7/widget/AnimatedRecyclerView.java @@ -132,7 +132,7 @@ public class AnimatedRecyclerView extends Activity { mAdapter.notifyItemChanged(position); } - public void deleteItem(View view) { + public void deleteSelectedItems() { int numItems = mItems.size(); if (numItems > 0) { for (int i = numItems - 1; i >= 0; --i) { @@ -156,11 +156,16 @@ public class AnimatedRecyclerView extends Activity { } private void removeAtPosition(int position) { - mItems.remove(position); - mAdapter.notifyItemRemoved(position); + if(position < mItems.size()) { + mItems.remove(position); + mAdapter.notifyItemRemoved(position); + } } private void addAtPosition(int position, String text) { + if (position > mItems.size()) { + position = mItems.size(); + } mItems.add(position, text); mAdapter.mSelected.put(text, Boolean.FALSE); mAdapter.mExpanded.put(text, Boolean.FALSE); @@ -169,11 +174,11 @@ public class AnimatedRecyclerView extends Activity { public void addDeleteItem(View view) { addItem(view); - deleteItem(view); + deleteSelectedItems(); } public void deleteAddItem(View view) { - deleteItem(view); + deleteSelectedItems(); addItem(view); }