Fixed
Status Update
Comments
vi...@google.com <vi...@google.com>
vi...@google.com <vi...@google.com> #2
Hi Ed, Thank you so much for these suggestions. I've been reviewing them and merging them in. Hopefully it should be live. I've included a thank you note too in the article.
he...@gmail.com <he...@gmail.com> #3
Great! Thanks a lot, I'll look for the live updates soon!
vi...@google.com <vi...@google.com> #4
Please provide sample project or apk to reproduce the issue. Also mention the steps to be followed for reproducing the issue with the given sample project or apk.
he...@gmail.com <he...@gmail.com> #5
1. Import attached project
2. Install and run on Android 4.4 (KitKat) or older
3. See the AppCompatRatingBar not rendering properly
2. Install and run on Android 4.4 (KitKat) or older
3. See the AppCompatRatingBar not rendering properly
vi...@google.com <vi...@google.com> #6
Please check the attached project as we couldn't extract the files from it.
he...@gmail.com <he...@gmail.com> #7
It's a RAR archive, there's no issue with it.
However you have problems extracting such, here's the same content as a ZIP archive.
However you have problems extracting such, here's the same content as a ZIP archive.
ki...@google.com <ki...@google.com>
al...@google.com <al...@google.com> #9
The AppCompat implementation is missing a platform fix that was added in early 2015.
al...@google.com <al...@google.com> #10
... and there are no tests.
ap...@google.com <ap...@google.com> #11
Project: platform/frameworks/support
Branch: androidx-main
commit 15526d18462248f73d41272073badf3a18ebe733
Author: Alan Viverette <alanv@google.com>
Date: Wed Sep 01 17:55:40 2021
Parity between platform and AppCompat handling of tileify
Relnote: "Fixed AppCompatProgressBar handling of layer-list progress bars"
Fixes: 142004509
Test: AppCompatProgressBarHelperTest
Change-Id: I6ece3fa57734308b3fbd8c8d704eaf5c79c5d5de
A appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatProgressBarHelperTest.kt
M appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatProgressBarHelper.java
https://android-review.googlesource.com/1817101
Branch: androidx-main
commit 15526d18462248f73d41272073badf3a18ebe733
Author: Alan Viverette <alanv@google.com>
Date: Wed Sep 01 17:55:40 2021
Parity between platform and AppCompat handling of tileify
Relnote: "Fixed AppCompatProgressBar handling of layer-list progress bars"
Fixes: 142004509
Test: AppCompatProgressBarHelperTest
Change-Id: I6ece3fa57734308b3fbd8c8d704eaf5c79c5d5de
A appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatProgressBarHelperTest.kt
M appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatProgressBarHelper.java
he...@gmail.com <he...@gmail.com> #12
Still doesn't work on Android 5.1 and lower.
Looking at the AppCompatProgressBarHelper.java
commit it seems the SDK_INT >= 23 condition is inverted.
Description
androidx.appcompat:appcompat:1.1.0
Version used:
1.1.0
Theme used:
Irrelevant, but Theme.MaterialComponents.DayNight
Devices/Android versions reproduced on:
Android 5.1 and older
AppCompatRatingBar doesn't render <layer-list> drawables correctly when using android:left/android:right to position child <item> layers, see attached screenshots. The bug is likely caused by the tilefy() method in AppCompatProgressBarHelper:
Setting the drawable in code setProgressDrawable(), instead of android:progressDrawable thus bypassing the AppCompatProgressBarHelper "tiling", works as expected, even on Android 5.1. Using the same drawable in an AppCompatImageView also works without issue.