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

Remove deep copy for answers in question view item. #2576

Merged
merged 8 commits into from
Jun 27, 2024

Conversation

santosh-pingle
Copy link
Collaborator

@santosh-pingle santosh-pingle commented Jun 20, 2024

IMPORTANT: All PRs must be linked to an issue (except for extremely trivial and straightforward changes).

Fixes #2593

Description
Earlier, the answers property was initialized by performing a deep copy of the answers from the questionnaire response component. Because of this, when the questionnaire response answers were modified later, the answers property was not synchronized with the modified answers. As a result, the old answers were referred to, which were not synced with the modified answers of the response item.

Now, the issue is fixed by not performing the deep copy operation on the response item answers when the answers property is initialized.

Alternative(s) considered
Other fix was just use responseItemComponent.answer instead of answers in removeAnswerAt(index) function,

Type
Choose one: (Bug fix)

Screenshots (if applicable)

Checklist

  • I have read and acknowledged the Code of conduct.
  • I have read the Contributing page.
  • I have signed the Google Individual CLA, or I am covered by my company's Corporate CLA.
  • I have discussed my proposed solution with code owners in the linked issue(s) and we have agreed upon the general approach.
  • I have run ./gradlew spotlessApply and ./gradlew spotlessCheck to check my code follows the style guide of this project.
  • I have run ./gradlew check and ./gradlew connectedCheck to test my changes locally.
  • I have built and run the demo app(s) to verify my change fixes the issue and/or does not break the demo app(s).

@santosh-pingle santosh-pingle marked this pull request as ready for review June 20, 2024 10:12
@santosh-pingle santosh-pingle changed the title Delete operation on updated answers. Remove deep copy for answers in question view item. Jun 27, 2024
Copy link
Collaborator

@jingtang10 jingtang10 left a comment

Choose a reason for hiding this comment

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

Looks good thanks. Can you create an issue with the video and add a link to the issue in the test case (after @Test)

@santosh-pingle
Copy link
Collaborator Author

Looks good thanks. Can you create an issue with the video and add a link to the issue in the test case (after @Test)

done.
spotless apply moved the comment for issue link before @test

@santosh-pingle santosh-pingle merged commit 4c1d702 into google:master Jun 27, 2024
4 checks passed
santosh-pingle added a commit to santosh-pingle/android-fhir that referenced this pull request Jul 8, 2024
* delete operation on updated answers.

* Remove deep copy for answers.

* unit test.

* unit test.

* link the issue to added test.

---------

Co-authored-by: Santosh Pingle <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Complete
Development

Successfully merging this pull request may close these issues.

Upon deleting a repeatedGroup answer, the other repeatedGroup answers are also reset.
3 participants