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

Introduce predicate caching as an opt-in setting #5546

Merged
merged 4 commits into from
Apr 19, 2023

Conversation

seadowg
Copy link
Member

@seadowg seadowg commented Apr 7, 2023

Work towards #5410
Blocked by getodk/javarosa#713

For the moment, predicate caching is off by default and can be enabled from "Experimental" settings.

What has been done to verify that this works as intended?

Verified manually.

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

Not a lot to discuss here. I introduced a new FormEntryControllerFactory component to allow us to isolate building/configuring a FormEntryController. I expect we'll end up with even more configuration down the line as part of this work, so that should hopefully become an important foundation.

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?

The only change in behaviour we should see is that switching between screens during form entry should now be faster for forms like the example in getodk/javarosa#689. We'll want to discuss some strategies for trying to break the caching introduced here, but for now our plan is to merge without QA to get as many people testing it as possible. As the feature is a beta only opt-in the risk is very limited and we shouldn't see this breaking anything for real projects.

Before submitting this PR, please make sure you have:

  • run ./gradlew checkAll and confirmed all checks still pass OR confirm CircleCI build passes and run ./gradlew connectedDebugAndroidTest locally.
  • 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

@seadowg seadowg added the blocked label Apr 7, 2023
@seadowg seadowg changed the title Introduce predicate caching as opt-in option Introduce predicate caching as an opt-in setting Apr 7, 2023
@seadowg seadowg force-pushed the predicate-caching branch from a2fed0e to 30eb278 Compare April 13, 2023 07:31
@seadowg seadowg removed the blocked label Apr 13, 2023
@seadowg seadowg marked this pull request as ready for review April 13, 2023 07:39
@seadowg seadowg requested a review from grzesiek2010 April 13, 2023 07:39
@grzesiek2010 grzesiek2010 merged commit 8ecbb96 into getodk:master Apr 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants