-
Notifications
You must be signed in to change notification settings - Fork 60
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
Add Geowidget module #1548
Merged
Merged
Add Geowidget module #1548
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Integrate into Quest - Add Geowidget debug build variant that enables running quest with Geowidget - Implement displaying families with locations on Quest - Implement family registration with location from geowidget
- Turf is used for measurements and calculations but a runtime dependency on Mapbox SDK
- Remove hardcoded Geowidget menu - Remove geowidget module from FHIR Core engine - Move kujaku dependency to deps.gradle file - Update naming in fhircore_style.json - Add GEOWIDGET_ENABLED BuildConfig to disable the maps menu - Fix maps English translation for configurable menu - Code cleanup
- Add family-id to feature JSON - Cleanup code in GeowidgetActivity - Comment out hardcoded questionnaire and structure-map
- Enable parsing feature from the Location Boundary GeoJSON extension - Refactor code in GeowidgetActivity - Code reformat - Move strings to strings.xml
- Add jacoco report generation to the Geowidget module - Add licenses to the Geowidget module files - Fix wildcard imports in Geowidget tests
5e36d4f
to
d4baa92
Compare
d4baa92
to
4bdd9cf
Compare
Codecov Report
@@ Coverage Diff @@
## main #1548 +/- ##
============================================
- Coverage 52.29% 50.69% -1.60%
- Complexity 661 666 +5
============================================
Files 196 205 +9
Lines 6959 7196 +237
Branches 1250 1363 +113
============================================
+ Hits 3639 3648 +9
- Misses 2709 2882 +173
- Partials 611 666 +55
Flags with carried forward coverage won't be shown. Click here to find out more.
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
- Rename KujakuConversionInterface to KujakuFhirCoreConverter - Code cleanup
- This fixes the build failure
- Fix codacy reported issues
Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
Refactor the implementation for navigating to maps UI to use the Navigation configs. Also fix sync location by organization. Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
Introduce GeoWidgetConfiguration which will be used to configure the map. Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
f-odhiambo
reviewed
Aug 29, 2022
...id/geowidget/src/main/java/org/smartregister/fhircore/geowidget/screens/GeoWidgetActivity.kt
Outdated
Show resolved
Hide resolved
In order to honor the single Activtivity architecture, the GeoWidgetActivity has been converted to a Fragment and all the composable screens are now wrapped in a Fragment. Using a Fragment allows for a more hybrid approach that will also take care of other custom views that are still using XML layout at the same time be able to render composable views. Instead of using Composable (MainScreen) as the NavigationHost, we now use the AppMainActivity as the Host, with NavHostFragment as the container for the fragments. UserProfileScreen has also been renamed to UserSettingScreen and it is now rendered in the UserSettingFragment. The application side menu (drawer navigation) has been moved to RegisterFragement setContent method. It makes sense to be able to access the drawer via the registers. MainScreen is therefore no longer needed so it has been deleted. GeoWidgetViewModel is now instantiated in the GeoWidgetFragement with the activityViewModels extension function. This is to allow the activity to access the geoWidgetEventLiveData to react to the events created via the GeoWidgetFragment. Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
5 tasks
Indicate tests that are passing, skipped or failed Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com>
ndegwamartin
approved these changes
Sep 7, 2022
@ellykits before merge please create an issue to track the drop in code coverage |
qiarie
pushed a commit
that referenced
this pull request
Jan 15, 2025
* Add Geowidget module - Integrate into Quest - Add Geowidget debug build variant that enables running quest with Geowidget - Implement displaying families with locations on Quest - Implement family registration with location from geowidget * Zoom to registered families & remove register family btn * Fix Kujaku version and add turf dependency - Turf is used for measurements and calculations but a runtime dependency on Mapbox SDK * Connect maps menu to Geowidget - Remove hardcoded Geowidget menu - Remove geowidget module from FHIR Core engine - Move kujaku dependency to deps.gradle file - Update naming in fhircore_style.json - Add GEOWIDGET_ENABLED BuildConfig to disable the maps menu - Fix maps English translation for configurable menu - Code cleanup * Disable maps menu when geowidgetEnabled config is false * Update eCBIS geowidget questionnaire to work with non-geowidget versions * Add empty action when family is clicked - Add family-id to feature JSON - Cleanup code in GeowidgetActivity - Comment out hardcoded questionnaire and structure-map * Enable syncing of Locations in quest * Enable saving new points into Location boundary extension - Enable parsing feature from the Location Boundary GeoJSON extension - Refactor code in GeowidgetActivity - Code reformat - Move strings to strings.xml * Add Geowidget module tests & spotless checks to CI - Add jacoco report generation to the Geowidget module - Add licenses to the Geowidget module files - Fix wildcard imports in Geowidget tests * Move data from AppMainActivity * Add KujakuFhirCoreConverterTest - Rename KujakuConversionInterface to KujakuFhirCoreConverter - Code cleanup * Add GeowidgetViewModel tests * GeowidgetActivity tests * Re-enable removed sync configs * Fix quest sync config failing test * Exclude META-INF/sun-jaxb.episode from packing in Geowidget module - This fixes the build failure * Exclude META-INF files causing build failure in geowidget - Fix codacy reported issues * Set application flavor for geowidget Refactor the implementation for navigating to maps UI to use the Navigation configs. Also fix sync location by organization. Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com> * Navigate to profile from geowidget Introduce GeoWidgetConfiguration which will be used to configure the map. Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com> * Refactor GeoWidgetActivity to a Fragement In order to honor the single Activtivity architecture, the GeoWidgetActivity has been converted to a Fragment and all the composable screens are now wrapped in a Fragment. Using a Fragment allows for a more hybrid approach that will also take care of other custom views that are still using XML layout at the same time be able to render composable views. Instead of using Composable (MainScreen) as the NavigationHost, we now use the AppMainActivity as the Host, with NavHostFragment as the container for the fragments. UserProfileScreen has also been renamed to UserSettingScreen and it is now rendered in the UserSettingFragment. The application side menu (drawer navigation) has been moved to RegisterFragement setContent method. It makes sense to be able to access the drawer via the registers. MainScreen is therefore no longer needed so it has been deleted. GeoWidgetViewModel is now instantiated in the GeoWidgetFragement with the activityViewModels extension function. This is to allow the activity to access the geoWidgetEventLiveData to react to the events created via the GeoWidgetFragment. Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com> * Setup toolbar on map view Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com> * Remove P2P menu for Geowidget NavMenu * Delete irrelevant test Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com> * Fix failing tests across modules Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com> * Fix GeoWidgeViewModelTest Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com> * Fix permissions request from GeoWidgetFragment Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com> * Set test logs Indicate tests that are passing, skipped or failed Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com> Signed-off-by: Elly Kitoto <junkmailstoelly@gmail.com> Co-authored-by: Elly Kitoto <junkmailstoelly@gmail.com> Co-authored-by: Francis Odhiambo Otieno <4540684+f-odhiambo@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
IMPORTANT: Where possible all PRs must be linked to a Github issue
Fixes #1558
Checklist
strings.xml
file./gradlew spotlessApply
and./gradlew spotlessCheck
to check my code follows the project's style guideTo-do
testFeatureGeneration
inP2PReceiverTransferDaoTest
quest/src/main/assets/configs/app/sync_config.json
AppMainActivity#launchFamilyProfile
with navigation to the family profileNotes
app\debug
as the app-id to use the local default configurations with Location syncing enabled