Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed displaying progress indicator while loading layers #6235

Merged
merged 4 commits into from
Jul 1, 2024

Conversation

grzesiek2010
Copy link
Member

@grzesiek2010 grzesiek2010 commented Jun 27, 2024

Closes #6221

Why is this the best possible solution? Were any other approaches considered?

I wasn't able to reproduce the issue (probably everything worked to fast on my emulators) but I agree with what is said in the issue:

It looks like this is because we use one LiveData to represent "loading" for OfflineMapLayersViewModel and when the Activity is recreated loadExistingLayers finishes quickly and sets isLoading to false. We can either split out two progress states, or use TrackableWorker and modify it to count work in progress rather just being on/off.

That's what I did to solve the problem.

How does this change affect users? Describe intentional changes to behavior and behavior that could have accidentally been affected by code changes. In other words, what are the regression risks?

It reworks the way we handle showing/hiding progress indicators while loading a list of layers (the existing ones or those to import). TrackableWorker has been updated to be aware of the number of active background jobs and that's the class we use to display progress indicators in other places in the app but I believe that if it works well in offline layers it will work well in the whole app as well.

Do we need any specific form for testing your changes? If so, please attach one.

No.

Does this change require updates to documentation? If so, please file an issue here and include the link below.

No.

Before submitting this PR, please make sure you have:

  • added or modified tests for any new or changed behavior
  • run ./gradlew connectedAndroidTest (or ./gradlew testLab) and confirmed all checks still pass
  • added a comment above any new strings describing it for translators
  • added any new strings with date formatting to DateFormatsTest
  • verified that any code or assets from external sources are properly credited in comments and/or in the about file.
  • verified that any new UI elements use theme colors. UI Components Style guidelines

@grzesiek2010 grzesiek2010 requested a review from seadowg June 27, 2024 08:30
@grzesiek2010 grzesiek2010 marked this pull request as ready for review June 27, 2024 08:30
Copy link
Member

@lognaturel lognaturel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I’m not familiar with the alternatives for this kind of work so my review is strictly confirming that the code does what the description said it would. I think that’s enough for this.

@seadowg seadowg merged commit aea1106 into getodk:master Jul 1, 2024
6 checks passed
@dbemke
Copy link

dbemke commented Jul 5, 2024

Tested with Success!

Verified on a device with Android 10

Verified Cases:

@WKobus
Copy link

WKobus commented Jul 5, 2024

Tested with Success!

Verified on a device with Android 14

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Missing progress indicator while adding offline layers with "don't keep activities"
5 participants