summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Fabian Kozynski <kozynski@google.com> 2019-04-12 19:22:33 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2019-04-12 19:22:33 +0000
commit55fdf6d94d15ee6155a6a82f34b24bd737f8ccac (patch)
tree4b187d11657b3dc32dde5f2058abd565fefbcee4
parent44ad3ea220c5873f6b9efd93087644975bcd38ba (diff)
parentd9e8aa35c027c8403929a88759686d25391e43a2 (diff)
Merge "Fixed bugs in PagedTileLayout, QSAnimator using RTL" into qt-dev
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java17
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java6
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());