ooni / probe

OONI Probe network measurement tool for detecting internet censorship
https://ooni.org/install
BSD 3-Clause "New" or "Revised" License
765 stars 142 forks source link

Confusing loading state in Battery Saver #2726

Open graciouselectric opened 6 months ago

graciouselectric commented 6 months ago

Describe the bug

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 and on a slow network it is unclear what is happening. It is fixed in later Android versions, where progress bars do appear and animate.

Looking at the code, indeterminate progress bars are created here:

className='org.openobservatory.ooniprobe.fragment.ProgressFragment', lineNumber=93
className='org.openobservatory.ooniprobe.activity.RunningActivity', lineNumber=162

To fix this issue, one can check ValueAnimator.areAnimatorsEnabled() and provide a different UI element, such as a text label, when animations are disabled.

To Reproduce

Expected behavior

Screenshots

org openobservatory ooniprobe

System information (please complete the following information):

jbonisteel commented 2 months ago

We can revisit this after the multiplatform project