diff options
| author | 2016-06-09 09:59:56 -0400 | |
|---|---|---|
| committer | 2016-06-09 09:59:56 -0400 | |
| commit | 45233d6b102083880808abe65698c160f71f30fb (patch) | |
| tree | 9cab2a34a7a9ebda3c0f44c754a4a93fc8330854 | |
| parent | cf70a17a7100e06d873d15edcfa4497685476327 (diff) | |
QS: Fix crash when removing pages in RTL
Change-Id: Ic8f082a3dc61fbf12f576d4cffb8ab31e669cb7c
Fixes: 29122756
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java | 15 |
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; |