summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Monk <jmonk@google.com>2016-06-09 15:25:00 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2016-06-09 15:25:01 +0000
commit9b5a78072281ebf0182234d56b6ec174e911d24e (patch)
tree5e5e944d93425bdb22e8d4f70506b6edde63f271
parentac2e29183262b0e58853b0ddb0df3a289e13aefb (diff)
parent45233d6b102083880808abe65698c160f71f30fb (diff)
Merge "QS: Fix crash when removing pages in RTL" into nyc-dev
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java15
1 files changed, 10 insertions, 5 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java b/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java
index cf96457ce09c..71bd7982675c 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java
@@ -109,18 +109,18 @@ public class PagedTileLayout extends ViewPager implements QSTileLayout {
if (mListening) {
if (mPosition != position) {
// Clear out the last pages from listening.
- mPages.get(mPosition).setListening(false);
+ setPageListening(mPosition, false);
if (mOffPage) {
- mPages.get(mPosition + 1).setListening(false);
+ setPageListening(mPosition + 1, false);
}
// Set the new pages to listening
- mPages.get(position).setListening(true);
+ setPageListening(position, true);
if (offPage) {
- mPages.get(position + 1).setListening(true);
+ setPageListening(position + 1, true);
}
} else if (mOffPage != offPage) {
// Whether we are showing position + 1 has changed.
- mPages.get(mPosition + 1).setListening(offPage);
+ setPageListening(mPosition + 1, offPage);
}
}
// Save the current state.
@@ -128,6 +128,11 @@ public class PagedTileLayout extends ViewPager implements QSTileLayout {
mOffPage = offPage;
}
+ private void setPageListening(int position, boolean listening) {
+ if (position >= mPages.size()) return;
+ mPages.get(position).setListening(listening);
+ }
+
@Override
public boolean hasOverlappingRendering() {
return false;