diff options
| author | 2019-04-12 19:22:33 +0000 | |
|---|---|---|
| committer | 2019-04-12 19:22:33 +0000 | |
| commit | 55fdf6d94d15ee6155a6a82f34b24bd737f8ccac (patch) | |
| tree | 4b187d11657b3dc32dde5f2058abd565fefbcee4 | |
| parent | 44ad3ea220c5873f6b9efd93087644975bcd38ba (diff) | |
| parent | d9e8aa35c027c8403929a88759686d25391e43a2 (diff) | |
Merge "Fixed bugs in PagedTileLayout, QSAnimator using RTL" into qt-dev
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java | 17 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java | 6 |
2 files changed, 20 insertions, 3 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java b/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java index bb159a9ba2e8..ebc3a6adaeee 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java +++ b/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java @@ -91,6 +91,7 @@ public class PagedTileLayout extends ViewPager implements QSTileLayout { if (mLayoutOrientation != newConfig.orientation) { mLayoutOrientation = newConfig.orientation; setCurrentItem(0, false); + mPageToRestore = 0; } } @@ -101,6 +102,7 @@ public class PagedTileLayout extends ViewPager implements QSTileLayout { mLayoutDirection = layoutDirection; setAdapter(mAdapter); setCurrentItem(0, false); + mPageToRestore = 0; } } @@ -112,6 +114,17 @@ public class PagedTileLayout extends ViewPager implements QSTileLayout { super.setCurrentItem(item, smoothScroll); } + /** + * Obtains the current page number respecting RTL + */ + private int getCurrentPageNumber() { + int page = getCurrentItem(); + if (mLayoutDirection == LAYOUT_DIRECTION_RTL) { + page = mPages.size() - 1 - page; + } + return page; + } + @Override public void setListening(boolean listening) { if (mListening == listening) return; @@ -199,7 +212,7 @@ public class PagedTileLayout extends ViewPager implements QSTileLayout { // marquee. This will ensure that accessibility doesn't announce the TYPE_VIEW_SELECTED // event on any of the children. setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS); - int currentItem = isLayoutRtl() ? mPages.size() - 1 - getCurrentItem() : getCurrentItem(); + int currentItem = getCurrentPageNumber(); for (int i = 0; i < mPages.size(); i++) { mPages.get(i).setSelected(i == currentItem ? selected : false); } @@ -328,7 +341,7 @@ public class PagedTileLayout extends ViewPager implements QSTileLayout { public int getNumVisibleTiles() { if (mPages.size() == 0) return 0; - TilePage currentPage = mPages.get(getCurrentItem()); + TilePage currentPage = mPages.get(getCurrentPageNumber()); return currentPage.mRecords.size(); } diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java b/packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java index 8e77851acc8a..ec2feba8291b 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java @@ -213,7 +213,11 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha } else { // These tiles disappear when expanding firstPageBuilder.addFloat(quickTileView, "alpha", 1, 0); translationYBuilder.addFloat(quickTileView, "translationY", 0, yDiff); - translationXBuilder.addFloat(quickTileView, "translationX", 0, xDiff + width); + + // xDiff is negative here and this makes it "more" negative + final int translationX = mQsPanel.isLayoutRtl() ? xDiff - width : xDiff + width; + translationXBuilder.addFloat(quickTileView, "translationX", 0, + translationX); } mQuickQsViews.add(tileView.getIconWithBackground()); |