Setup: Don't hang if setup checks take longer, show a loading state instead :) #1119
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Previously setup modules could only emit their state or nothing. In some cases this lead to the dashboard hanging, because SD Maid was endlessly waiting for the state from the ShizukuSetupModule. Now every setup module can emit a
Loading
state and then later aCurrent
state (does not have to be final). This allows us to show "loading states" for each module.The dashboard will now load faster because we are not waiting for any setup states. Should loading any setup state take longer than 3 seconds, then we will show a setup card with a loading indicator. If there are loading states, but also incomplete setup steps, then the setup card will directly be shown. If you enter the setup screen incomplete items will be shown with loading cards in the list.
Closes #1116