fix: Fix for slow counting of org units for search results. #3798
+1
−1
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.
Description
A performance issue within the
SearchTEActivity
:The underlying cause: in
SearchRepositoryImpl
, while a TEI is loaded, visibility of its Org Unit is computed non-optimally: Org Units are retrieved from thed2
data layer and then counted, but can be counted ind2
directly and then the number retrieved instead.The affected code was intruduced as part of the ANDROAPP-5724 UX improvement feature, the exact line of code in the corresponding PR is here.
About Jira issue: I am an external contributor and do not have access to create one. Will happily specify one if instructed to.
Solution description
Org Units were retrieved from the
d2
data layer and then counted, but can be counted ind2
directly and then the number retrieved instead. This solves long load times for programs with large number of TEIs and Org Units.Covered unit test cases
The modified class does not appear to have unit test coverage. No new tests added.
Where did you test this issue?
Which Android versions did you test this issue?
Checklist