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 dependency modules #6191

Merged
merged 6 commits into from
Jun 13, 2024
Merged

Fixed dependency modules #6191

merged 6 commits into from
Jun 13, 2024

Conversation

grzesiek2010
Copy link
Member

@grzesiek2010 grzesiek2010 commented Jun 13, 2024

Closes #6177

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

The problem turned out to be a broader one. The way we passed dependencies to modules made many of them singletons where they shouldn't be. The only exception was CollectDrawDependencyModule which was implemented correctly. In all the other cases we passed objects to modules directly that then were kept as singletons. The example that caused #6177 was DirectoryReferenceLayerRepository that was created in
AppDependencyModule and then passed to the module https://github.com/getodk/collect/pull/6191/files#diff-a2f0be8cb9ce6618f33c478f6ae0c69fc5e6eefa5807833ffc3f1f324369c5b3L308 when it was created once it contained the project layers path from the project it was created for. After switching projects the object was not recreated.

I've fixed passing dependencies to all the modules to avoid similar bugs.

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?

This should just fix the issue and not have any side effects.

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 added the high priority Should be looked at before other PRs/issues label Jun 13, 2024
@grzesiek2010 grzesiek2010 marked this pull request as ready for review June 13, 2024 16:21
@grzesiek2010 grzesiek2010 requested a review from seadowg June 13, 2024 16:21
Copy link
Member

@seadowg seadowg left a comment

Choose a reason for hiding this comment

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

Nice catch!

@seadowg seadowg merged commit 42e5b67 into getodk:master Jun 13, 2024
6 checks passed
@srujner
Copy link

srujner commented Jun 17, 2024

Tested with Success!

Verified on device with Android 13

Verified cases:

  • Issue is no longer reproducing;
  • Regression check on Maps;
  • Offline Layers tested in General;
  • Different Map sources;

@WKobus
Copy link

WKobus commented Jun 17, 2024

Tested with Success!

Verified on device with Android 14

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
behavior verified high priority Should be looked at before other PRs/issues
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Adding layer with Current project only setting adds layer to all projects
4 participants