summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Phil Weaver <pweaver@google.com> 2016-11-01 22:59:27 +0000
committer android-build-merger <android-build-merger@google.com> 2016-11-01 22:59:27 +0000
commit07f434d02fd476bf78f8d30b929180a32b4b4948 (patch)
treeee067b61d16813e829111dfacae87d1a5cb32967
parent2a569d14901721cef01a71ca7a6f362c43346ec0 (diff)
parent06ffff613293321388b3000ba81561cca9a25a46 (diff)
Don't invalidate list data during layout. am: 456158ffc2
am: 06ffff6132 Change-Id: I56cd58a077729b7a8fccb66aeea5e3d69cb2fcdf
-rw-r--r--core/java/android/widget/AbsListView.java5
1 files changed, 4 insertions, 1 deletions
diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java
index f1bfadee5f36..c01348d69f3c 100644
--- a/core/java/android/widget/AbsListView.java
+++ b/core/java/android/widget/AbsListView.java
@@ -2168,7 +2168,6 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
}
layoutChildren();
- mInLayout = false;
mOverscrollMax = (b - t) / OVERSCROLL_LIMIT_DIVISOR;
@@ -2176,6 +2175,7 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
if (mFastScroll != null) {
mFastScroll.onItemCountChanged(getChildCount(), mItemCount);
}
+ mInLayout = false;
}
/**
@@ -2705,6 +2705,9 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
* fail to relayout them properly to accommodate for new bounds.
*/
void handleBoundsChange() {
+ if (mInLayout) {
+ return;
+ }
final int childCount = getChildCount();
if (childCount > 0) {
mDataChanged = true;