Merge "QS: Fix crash when removing pages in RTL" into nyc-dev
diff --git a/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java b/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java
index cf96457..71bd798 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 @@
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 @@
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;