diff options
author | Jason Monk <jmonk@google.com> | 2016-06-09 15:25:00 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2016-06-09 15:25:01 +0000 |
commit | 9b5a78072281ebf0182234d56b6ec174e911d24e (patch) | |
tree | 5e5e944d93425bdb22e8d4f70506b6edde63f271 | |
parent | ac2e29183262b0e58853b0ddb0df3a289e13aefb (diff) | |
parent | 45233d6b102083880808abe65698c160f71f30fb (diff) |
Merge "QS: Fix crash when removing pages in RTL" into nyc-dev
-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; |