QuantumBadger / QuantumBadger/RedReader

Confusing loading state in Battery Saver

Open
#1,189 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
2.7k
Forks
527
Avg merge
20d 10h
Merged PRs (30d)
3

Description

Dear developer,

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:

className='org.quantumbadger.redreader.settings.SettingsFragment$$ExternalSyntheticLambda6', lineNumber=112
className='org.quantumbadger.redreader.activities.AlbumListingActivity', lineNumber=43

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

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by inspecting the indeterminate ProgressBar creation at SettingsFragment$$ExternalSyntheticLambda6 line 112 and AlbumListingActivity line 43. Check ValueAnimator.areAnimatorsEnabled() on Android API levels below 28, then verify that Battery Saver presents a visible alternative loading state where progress bars are hidden; test the affected screens on Android 8.1.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, java
Domain
mobile
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.