diff options
author | Kunhung Li <kunhungli@google.com> | 2022-03-17 14:26:47 +0800 |
---|---|---|
committer | Kunhung Li <kunhungli@google.com> | 2022-03-24 05:14:46 +0000 |
commit | 57c1504214b2ec88a525d7c15ffecf1ce6056c3d (patch) | |
tree | c0263d5a69bf4e28e9e5fc18a69585327bbdd64b /src/com/android | |
parent | 896011b225e18c12559bd5d41cc9712bd8b480a2 (diff) | |
download | ThemePicker-57c1504214b2ec88a525d7c15ffecf1ce6056c3d.tar.gz |
Fix dynamic color page indicator not adapt RTL
- Assign page indicator index based on current layout is RTL or not.
- Video:
https://drive.google.com/file/d/1Cs911iJfCD_deVfOO_OhHrbS7ZzvZ_Yn/
Bug: 220267389
Test: manual
Change-Id: I1f33f11d4cbc733173a4ed68cfda3b26ad7d241c
Diffstat (limited to 'src/com/android')
-rw-r--r-- | src/com/android/customization/model/color/ColorSectionController.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/com/android/customization/model/color/ColorSectionController.java b/src/com/android/customization/model/color/ColorSectionController.java index c1d28ab9..c9e062e2 100644 --- a/src/com/android/customization/model/color/ColorSectionController.java +++ b/src/com/android/customization/model/color/ColorSectionController.java @@ -256,14 +256,19 @@ public class ColorSectionController implements CustomizationSectionController<Co @Override public void onPageSelected(int position) { super.onPageSelected(position); - pageIndicator.setLocation(position); + pageIndicator.setLocation(getPagePosition(pageIndicator, position)); } @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { super.onPageScrolled(position, positionOffset, positionOffsetPixels); - pageIndicator.setLocation(position); + pageIndicator.setLocation(getPagePosition(pageIndicator, position)); + } + + private int getPagePosition(PageIndicator pageIndicator, int position) { + return pageIndicator.isLayoutRtl() ? pageIndicator.getChildCount() - 1 - position + : position; } }); } |