I noticed that when I enable Battery Saver on Android 8.1, the indeterminate ProgressBars in the app are not properly shown. This is a known problem in Android API level <28, see e.g. this StackOverflow question. Battery Saver disables animations, also on progress bars on these versions. This is quite confusing because the loading state is not properly represented. It is fixed in later Android versions, where progress bars do appear and animate.
Looking at the code, indeterminate progress bars are created here:
To fix this issue, one can check ValueAnimator.areAnimatorsEnabled() and provide a different UI element, such as a text label, when animations are disabled.
I also recorded a video, showing the issue in practice:
Dear developer,
I noticed that when I enable Battery Saver on Android 8.1, the indeterminate
ProgressBar
s in the app are not properly shown. This is a known problem in Android API level <28, see e.g. this StackOverflow question. Battery Saver disables animations, also on progress bars on these versions. This is quite confusing because the loading state is not properly represented. It is fixed in later Android versions, where progress bars do appear and animate.Looking at the code, indeterminate progress bars are created here:
To fix this issue, one can check ValueAnimator.areAnimatorsEnabled() and provide a different UI element, such as a text label, when animations are disabled.
I also recorded a video, showing the issue in practice:
https://github.com/fvasco/pinpoi/assets/165037835/5b01e66a-e718-4d0a-9d38-5aa50a40073b