├── .codacy.yml ├── .github └── workflows │ ├── ci.yml │ └── release.yml ├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── assets ├── licenses │ ├── GLYPHICONS_LICENCE │ ├── LICENCES │ ├── README │ └── SQLCipher │ │ ├── LICENSE │ │ └── SQLCIPHER_LICENSE └── security │ ├── debug.keystore │ └── dristhi.keystore ├── build.gradle ├── gradle-app.setting ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── jacoco.exec ├── maven.gradle ├── opensrp-core ├── AndroidManifest.xml ├── assets │ ├── fonts │ │ ├── FontAwesome.otf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.svg │ │ ├── fontawesome-webfont.ttf │ │ ├── fontawesome-webfont.woff │ │ ├── material-icon-font.ttf │ │ └── roboto │ │ │ ├── Roboto-Bold.ttf │ │ │ ├── Roboto-Medium.ttf │ │ │ └── Roboto-Regular.ttf │ └── roboto_v1.2 │ │ ├── Roboto-Black.ttf │ │ ├── Roboto-Bold.ttf │ │ ├── Roboto-Light.ttf │ │ ├── Roboto-Medium.ttf │ │ ├── Roboto-Regular.ttf │ │ └── Roboto-Thin.ttf ├── build.gradle ├── default.properties ├── gen-external-apklibs │ └── com.github.johnkil.print_print_1.2.3 │ │ ├── AndroidManifest.xml │ │ ├── R.txt │ │ ├── annotations.zip │ │ ├── classes.jar │ │ └── res │ │ └── values │ │ └── values.xml ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── libs │ ├── drishti-interface-0.1-SNAPSHOT.jar │ └── opensrp-api-0.1-SNAPSHOT.jar ├── profile-pig.png ├── proguard-rules.pro ├── res │ ├── color │ │ └── fp_modal_text_color.xml │ ├── drawable-hdpi │ │ ├── baseline_keyboard_arrow_right.png │ │ ├── ic_action_menu.png │ │ ├── ic_action_search.png │ │ ├── ic_checked.png │ │ ├── ic_done.png │ │ ├── ic_dristhi_logo.png │ │ ├── ic_due_filter_off.png │ │ ├── ic_due_filter_on.png │ │ ├── ic_icon_filter.png │ │ ├── ic_icon_location.png │ │ ├── ic_icon_logout.png │ │ ├── ic_icon_nav_clients.png │ │ ├── ic_icon_nav_new.png │ │ ├── ic_icon_open_book.png │ │ ├── ic_icon_qr_code.png │ │ ├── ic_icon_search.png │ │ ├── ic_icon_settings.png │ │ ├── ic_icon_synchronize.png │ │ ├── ic_opensrp_logo.png │ │ ├── logo_opensrp_200.png │ │ ├── logo_opensrp_220.png │ │ ├── logo_opensrp_256.png │ │ ├── logo_opensrp_512.png │ │ └── opensrp_logo.png │ ├── drawable-ldpi │ │ ├── ic_dristhi_logo.png │ │ └── opensrp_logo.png │ ├── drawable-mdpi │ │ ├── badge.png │ │ ├── baseline_keyboard_arrow_right.png │ │ ├── bg_texture.jpg │ │ ├── child_boy_infant.png │ │ ├── child_girl_infant.png │ │ ├── flag_bpl.png │ │ ├── flag_hp.png │ │ ├── flag_hr.png │ │ ├── flag_hrp.png │ │ ├── flag_sc.png │ │ ├── flag_st.png │ │ ├── homestacks.png │ │ ├── ic_action_menu.png │ │ ├── ic_action_search.png │ │ ├── ic_checked.png │ │ ├── ic_chevron_right.png │ │ ├── ic_cross.png │ │ ├── ic_done.png │ │ ├── ic_down.png │ │ ├── ic_dristhi_logo.png │ │ ├── ic_dropper.png │ │ ├── ic_due_filter_off.png │ │ ├── ic_due_filter_on.png │ │ ├── ic_icon_filter.png │ │ ├── ic_icon_location.png │ │ ├── ic_icon_logout.png │ │ ├── ic_icon_nav_clients.png │ │ ├── ic_icon_nav_new.png │ │ ├── ic_icon_open_book.png │ │ ├── ic_icon_qr_code.png │ │ ├── ic_icon_search.png │ │ ├── ic_icon_settings.png │ │ ├── ic_icon_synchronize.png │ │ ├── ic_menu_edit.png │ │ ├── ic_needle.png │ │ ├── ic_no.png │ │ ├── ic_opensrp_logo.png │ │ ├── ic_pencil.png │ │ ├── ic_plus.png │ │ ├── ic_remove.png │ │ ├── ic_reporting.png │ │ ├── ic_sort.png │ │ ├── ic_tv.png │ │ ├── ic_village_filter.png │ │ ├── ic_who_logo.png │ │ ├── ic_yes_large.png │ │ ├── ic_yes_small.png │ │ ├── icon_fp_video.png │ │ ├── icon_plus_add_fp.png │ │ ├── icon_referral_warning.png │ │ ├── icon_search.png │ │ ├── login_logo.png │ │ ├── logo.png │ │ ├── register_anc.png │ │ ├── register_child.png │ │ ├── register_ec.png │ │ ├── register_fp.png │ │ ├── register_pnc.png │ │ └── woman_placeholder.png │ ├── drawable-xhdpi │ │ ├── baseline_keyboard_arrow_right.png │ │ ├── ic_action_menu.png │ │ ├── ic_action_search.png │ │ ├── ic_checked.png │ │ ├── ic_done.png │ │ ├── ic_due_filter_off.png │ │ ├── ic_due_filter_on.png │ │ ├── ic_icon_filter.png │ │ ├── ic_icon_location.png │ │ ├── ic_icon_logout.png │ │ ├── ic_icon_nav_clients.png │ │ ├── ic_icon_nav_new.png │ │ ├── ic_icon_open_book.png │ │ ├── ic_icon_qr_code.png │ │ ├── ic_icon_search.png │ │ ├── ic_icon_settings.png │ │ ├── ic_icon_synchronize.png │ │ ├── ic_opensrp_logo.png │ │ ├── refresh.png │ │ └── transparent_white_button.xml │ ├── drawable-xxhdpi │ │ ├── baseline_keyboard_arrow_right.png │ │ ├── ic_action_menu.png │ │ ├── ic_action_search.png │ │ ├── ic_checked.png │ │ ├── ic_done.png │ │ ├── ic_due_filter_off.png │ │ ├── ic_due_filter_on.png │ │ ├── ic_icon_filter.png │ │ ├── ic_icon_location.png │ │ ├── ic_icon_logout.png │ │ ├── ic_icon_nav_clients.png │ │ ├── ic_icon_nav_new.png │ │ ├── ic_icon_open_book.png │ │ ├── ic_icon_qr_code.png │ │ ├── ic_icon_search.png │ │ ├── ic_icon_settings.png │ │ ├── ic_icon_synchronize.png │ │ └── ic_opensrp_logo.png │ ├── drawable-xxxhdpi │ │ ├── baseline_keyboard_arrow_right.png │ │ ├── ic_action_menu.png │ │ ├── ic_action_search.png │ │ ├── ic_checked.png │ │ ├── ic_done.png │ │ ├── ic_due_filter_off.png │ │ ├── ic_due_filter_on.png │ │ ├── ic_icon_filter.png │ │ ├── ic_icon_location.png │ │ ├── ic_icon_logout.png │ │ ├── ic_icon_nav_clients.png │ │ ├── ic_icon_nav_new.png │ │ ├── ic_icon_open_book.png │ │ ├── ic_icon_qr_code.png │ │ ├── ic_icon_search.png │ │ ├── ic_icon_settings.png │ │ ├── ic_icon_synchronize.png │ │ └── ic_opensrp_logo.png │ ├── drawable │ │ ├── bottom_bar_initials_background.xml │ │ ├── bottom_navigation_selector.xml │ │ ├── dialog_shape.xml │ │ ├── edit_button_background.xml │ │ ├── fp_modal_button_background.xml │ │ ├── grey_edit_text_shape.xml │ │ ├── home_button_background.xml │ │ ├── listview_background_rounded.xml │ │ ├── login_background.xml │ │ ├── login_button.xml │ │ ├── me_page_initials_background.xml │ │ ├── round_white_background.xml │ │ ├── rounded_corner_edit_text.xml │ │ ├── rounded_corner_edittext.xml │ │ ├── rounded_edit_text_normal.xml │ │ ├── separator.gif │ │ ├── snackbar_view_background.xml │ │ ├── transparent_blue_background.xml │ │ ├── transparent_gray_background.xml │ │ ├── white_checkbox_bg.xml │ │ └── white_checkbox_bg_selector.xml │ ├── layout-land │ │ ├── detail_nav_bar.xml │ │ └── login.xml │ ├── layout-w600dp │ │ └── view_processing_in_progress.xml │ ├── layout │ │ ├── activity_base_profile.xml │ │ ├── activity_base_register.xml │ │ ├── activity_change_password.xml │ │ ├── activity_login.xml │ │ ├── activity_main.xml │ │ ├── activity_scan_barcode.xml │ │ ├── activity_stats.xml │ │ ├── anc_register_anc_visits_service_mode_views.xml │ │ ├── anc_register_delivery_plan_mode_views.xml │ │ ├── anc_register_hb_ifa_service_mode_views.xml │ │ ├── anc_register_overview_service_mode_views.xml │ │ ├── anc_register_tt_service_mode_views.xml │ │ ├── anc_smart_register_id_details.xml │ │ ├── anc_smart_register_status.xml │ │ ├── base_register_search_bar.xml │ │ ├── base_register_sort_filter_bar.xml │ │ ├── child_register_client_last_service.xml │ │ ├── child_register_client_sick_status.xml │ │ ├── child_register_immunization0to9_service_mode_views.xml │ │ ├── child_register_immunization9plus_service_mode_views.xml │ │ ├── child_register_overview_service_mode_views.xml │ │ ├── child_smart_register_id_details.xml │ │ ├── content_base_profile.xml │ │ ├── dialog_reset_progress.xml │ │ ├── form_layout.xml │ │ ├── fp_register_fp_method_service_mode_views.xml │ │ ├── fp_register_fp_prioritization_service_mode_views.xml │ │ ├── fp_smart_register_dialog_view.xml │ │ ├── fragment_base_register.xml │ │ ├── fragment_library.xml │ │ ├── fragment_me.xml │ │ ├── fragment_stats.xml │ │ ├── html.xml │ │ ├── layout_selectable_item.xml │ │ ├── location_picker_dialog.xml │ │ ├── location_picker_dropdown_item.xml │ │ ├── login.xml │ │ ├── micro_form_html.xml │ │ ├── pnc_overview_service_mode_views.xml │ │ ├── pnc_visits_service_mode_views.xml │ │ ├── progress.xml │ │ ├── progress_dialog.xml │ │ ├── smart_register_activity.xml │ │ ├── smart_register_anc_client.xml │ │ ├── smart_register_anc_hb_details_layout.xml │ │ ├── smart_register_anc_ifa_details_layout.xml │ │ ├── smart_register_child_client.xml │ │ ├── smart_register_client_children_layout.xml │ │ ├── smart_register_client_delivery_info.xml │ │ ├── smart_register_client_fp_method_layout.xml │ │ ├── smart_register_client_gplsa_layout.xml │ │ ├── smart_register_client_pnc_pp_fp_method_layout.xml │ │ ├── smart_register_client_profile.xml │ │ ├── smart_register_client_side_effects_layout.xml │ │ ├── smart_register_client_status_anc.xml │ │ ├── smart_register_client_status_ec_and_fp.xml │ │ ├── smart_register_client_status_layout.xml │ │ ├── smart_register_client_status_pnc.xml │ │ ├── smart_register_client_status_pnc_and_fp.xml │ │ ├── smart_register_dialog_list_item.xml │ │ ├── smart_register_dialog_view.xml │ │ ├── smart_register_ec_client.xml │ │ ├── smart_register_fp_client.xml │ │ ├── smart_register_fp_client_gplsa_child_layout.xml │ │ ├── smart_register_location_select_dialog_view.xml │ │ ├── smart_register_nav_bar.xml │ │ ├── smart_register_pagination.xml │ │ ├── smart_register_pnc_child_layout.xml │ │ ├── smart_register_pnc_client.xml │ │ ├── smart_register_pnc_recent_visits_layout.xml │ │ ├── smart_register_rv_activity.xml │ │ ├── smart_register_status_bar.xml │ │ ├── smart_registers_home.xml │ │ ├── snackbar_processing_in_progress.xml │ │ ├── test_html.xml │ │ ├── toolbar_barcode_scan.xml │ │ ├── toolbar_base_register.xml │ │ ├── top_base_register_bar.xml │ │ └── view_processing_in_progress.xml │ ├── menu │ │ ├── bottom_navigation_menu.xml │ │ └── main_menu.xml │ ├── raw │ │ └── opensrp_truststore.bks │ ├── values-ar │ │ └── strings.xml │ ├── values-fr │ │ └── strings.xml │ ├── values-id │ │ └── strings.xml │ ├── values-kn │ │ └── strings.xml │ ├── values-sw │ │ └── strings.xml │ ├── values-th │ │ └── strings.xml │ ├── values │ │ ├── attrs.xml │ │ ├── colors.xml │ │ ├── constants.xml │ │ ├── dimens.xml │ │ ├── ids.xml │ │ ├── integer.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── xml │ │ ├── authenticator.xml │ │ └── preferences.xml ├── src │ ├── androidTest │ │ ├── java │ │ │ └── org │ │ │ │ └── smartregister │ │ │ │ ├── repository │ │ │ │ ├── AlertRepositoryTest.java │ │ │ │ ├── ChildRepositoryTest.java │ │ │ │ ├── EligibleCoupleRepositoryTest.java │ │ │ │ ├── FormDataRepositoryTest.java │ │ │ │ ├── FormsVersionRepositoryTest.java │ │ │ │ ├── MotherRepositoryTest.java │ │ │ │ ├── ReportRepositoryTest.java │ │ │ │ ├── RepositoryTest.java │ │ │ │ ├── ServiceProvidedRepositoryTest.java │ │ │ │ ├── SettingsRepositoryTest.java │ │ │ │ └── TimelineEventRepositoryTest.java │ │ │ │ └── util │ │ │ │ ├── FakeContext.java │ │ │ │ ├── FakeDrishtiService.java │ │ │ │ ├── FakeUserService.java │ │ │ │ └── Wait.java │ │ └── res │ │ │ ├── drawable-hdpi │ │ │ └── icon.png │ │ │ ├── drawable-ldpi │ │ │ └── icon.png │ │ │ ├── drawable-mdpi │ │ │ └── icon.png │ │ │ ├── layout │ │ │ └── main.xml │ │ │ └── values │ │ │ └── strings.xml │ ├── main │ │ ├── java │ │ │ ├── atv │ │ │ │ ├── holder │ │ │ │ │ ├── SelectableItemHolder.java │ │ │ │ │ └── SimpleViewHolder.java │ │ │ │ ├── model │ │ │ │ │ └── TreeNode.java │ │ │ │ └── view │ │ │ │ │ ├── AndroidTreeView.java │ │ │ │ │ └── TreeNodeWrapperView.java │ │ │ └── org │ │ │ │ └── smartregister │ │ │ │ ├── AllConstants.java │ │ │ │ ├── Context.java │ │ │ │ ├── CoreLibrary.java │ │ │ │ ├── DristhiConfiguration.java │ │ │ │ ├── EnvironmentManager.java │ │ │ │ ├── NativeFormFieldProcessor.java │ │ │ │ ├── P2POptions.java │ │ │ │ ├── PropertiesSyncConfiguration.java │ │ │ │ ├── SyncConfiguration.java │ │ │ │ ├── SyncFilter.java │ │ │ │ ├── account │ │ │ │ ├── AccountAuthenticator.java │ │ │ │ ├── AccountAuthenticatorXml.java │ │ │ │ ├── AccountConfiguration.java │ │ │ │ ├── AccountError.java │ │ │ │ ├── AccountHelper.java │ │ │ │ ├── AccountResponse.java │ │ │ │ ├── AccountService.java │ │ │ │ └── AccountUserInfo.java │ │ │ │ ├── adapter │ │ │ │ ├── PagerAdapter.java │ │ │ │ ├── ServiceLocationsAdapter.java │ │ │ │ └── SmartRegisterPaginatedAdapter.java │ │ │ │ ├── authorizer │ │ │ │ └── P2PSyncAuthorizationService.java │ │ │ │ ├── barcode │ │ │ │ └── CameraSourcePreview.java │ │ │ │ ├── broadcastreceivers │ │ │ │ └── OpenSRPClientBroadCastReceiver.java │ │ │ │ ├── clientandeventmodel │ │ │ │ ├── Address.java │ │ │ │ ├── AddressField.java │ │ │ │ ├── BaseDataObject.java │ │ │ │ ├── BaseEntity.java │ │ │ │ ├── Client.java │ │ │ │ ├── ContactPoint.java │ │ │ │ ├── DateUtil.java │ │ │ │ ├── Event.java │ │ │ │ ├── FormAttributeParser.java │ │ │ │ ├── FormData.java │ │ │ │ ├── FormEntityConstants.java │ │ │ │ ├── FormEntityConverter.java │ │ │ │ ├── FormField.java │ │ │ │ ├── FormFieldMap.java │ │ │ │ ├── FormInstance.java │ │ │ │ ├── FormSubmission.java │ │ │ │ ├── FormSubmissionMap.java │ │ │ │ ├── Gender.java │ │ │ │ ├── MotechBaseDataObject.java │ │ │ │ ├── Obs.java │ │ │ │ ├── Photo.java │ │ │ │ ├── SubFormData.java │ │ │ │ ├── SubformMap.java │ │ │ │ ├── User.java │ │ │ │ ├── populateform │ │ │ │ │ ├── Model.java │ │ │ │ │ ├── ModelXMLHandler.java │ │ │ │ │ ├── PopulateEnketoFormUtils.java │ │ │ │ │ └── SAXTerminationException.java │ │ │ │ └── processor │ │ │ │ │ └── model │ │ │ │ │ ├── Client.java │ │ │ │ │ └── Event.java │ │ │ │ ├── commonregistry │ │ │ │ ├── AllCommonsRepository.java │ │ │ │ ├── CommonFtsObject.java │ │ │ │ ├── CommonObjectDateSort.java │ │ │ │ ├── CommonObjectFilterOption.java │ │ │ │ ├── CommonObjectSearchFilterOption.java │ │ │ │ ├── CommonObjectSort.java │ │ │ │ ├── CommonPersonObject.java │ │ │ │ ├── CommonPersonObjectClient.java │ │ │ │ ├── CommonPersonObjectClients.java │ │ │ │ ├── CommonPersonObjectController.java │ │ │ │ ├── CommonRepository.java │ │ │ │ ├── CommonRepositoryInformationHolder.java │ │ │ │ └── ControllerFilterMap.java │ │ │ │ ├── compression │ │ │ │ ├── GZIPCompression.java │ │ │ │ └── ICompression.java │ │ │ │ ├── convertor │ │ │ │ └── FormSubmissionConvertor.java │ │ │ │ ├── cryptography │ │ │ │ ├── AndroidLegacyCryptography.java │ │ │ │ ├── AndroidMCryptography.java │ │ │ │ ├── BaseCryptography.java │ │ │ │ ├── CryptographicHelper.java │ │ │ │ └── ICryptography.java │ │ │ │ ├── cursoradapter │ │ │ │ ├── CursorCommonObjectFilterOption.java │ │ │ │ ├── CursorCommonObjectSort.java │ │ │ │ ├── CursorFilterOption.java │ │ │ │ ├── CursorSortOption.java │ │ │ │ ├── RecyclerViewCursorAdapter.java │ │ │ │ ├── RecyclerViewFragment.java │ │ │ │ ├── RecyclerViewPaginatedAdapter.java │ │ │ │ ├── RecyclerViewProvider.java │ │ │ │ ├── SecuredNativeSmartRegisterCursorAdapterFragment.java │ │ │ │ ├── SmartRegisterCLientsProviderForCursorAdapter.java │ │ │ │ ├── SmartRegisterPaginatedCursorAdapter.java │ │ │ │ └── SmartRegisterQueryBuilder.java │ │ │ │ ├── dao │ │ │ │ ├── AbstractDao.java │ │ │ │ └── LocationsDao.java │ │ │ │ ├── domain │ │ │ │ ├── ANCServiceType.java │ │ │ │ ├── ANM.java │ │ │ │ ├── Alert.java │ │ │ │ ├── AlertActionRoute.java │ │ │ │ ├── AlertStatus.java │ │ │ │ ├── Campaign.java │ │ │ │ ├── Child.java │ │ │ │ ├── ChildServiceType.java │ │ │ │ ├── ClientForm.java │ │ │ │ ├── ClientRelationship.java │ │ │ │ ├── ColumnDetails.java │ │ │ │ ├── Displayable.java │ │ │ │ ├── DownloadStatus.java │ │ │ │ ├── DuplicateZeirIdStatus.java │ │ │ │ ├── EligibleCouple.java │ │ │ │ ├── Environment.java │ │ │ │ ├── FPMethod.java │ │ │ │ ├── FetchStatus.java │ │ │ │ ├── FormDefinitionVersion.java │ │ │ │ ├── Immunizations.java │ │ │ │ ├── Location.java │ │ │ │ ├── LoginResponse.java │ │ │ │ ├── Manifest.java │ │ │ │ ├── Mother.java │ │ │ │ ├── MotherActionRoute.java │ │ │ │ ├── Observation.java │ │ │ │ ├── PlanDefinitionSearch.java │ │ │ │ ├── ProfileImage.java │ │ │ │ ├── Report.java │ │ │ │ ├── ReportIndicator.java │ │ │ │ ├── ReportMonth.java │ │ │ │ ├── ReportsCategory.java │ │ │ │ ├── Response.java │ │ │ │ ├── ResponseErrorStatus.java │ │ │ │ ├── ResponseStatus.java │ │ │ │ ├── ServerSetting.java │ │ │ │ ├── ServiceProvided.java │ │ │ │ ├── Setting.java │ │ │ │ ├── SyncEntity.java │ │ │ │ ├── SyncProgress.java │ │ │ │ ├── SyncStatus.java │ │ │ │ ├── TaskUpdate.java │ │ │ │ ├── TimeStatus.java │ │ │ │ ├── TimelineEvent.java │ │ │ │ ├── UniqueId.java │ │ │ │ ├── db │ │ │ │ │ ├── Column.java │ │ │ │ │ ├── ColumnAttribute.java │ │ │ │ │ ├── EventClient.java │ │ │ │ │ ├── FilterType.java │ │ │ │ │ └── Query.java │ │ │ │ ├── form │ │ │ │ │ ├── FieldOverrides.java │ │ │ │ │ ├── FormData.java │ │ │ │ │ ├── FormField.java │ │ │ │ │ ├── FormInstance.java │ │ │ │ │ ├── FormLocation.java │ │ │ │ │ ├── FormSubmission.java │ │ │ │ │ └── SubForm.java │ │ │ │ ├── jsonmapping │ │ │ │ │ ├── ClassificationRule.java │ │ │ │ │ ├── ClientClassification.java │ │ │ │ │ ├── ClientField.java │ │ │ │ │ ├── Column.java │ │ │ │ │ ├── ColumnType.java │ │ │ │ │ ├── Field.java │ │ │ │ │ ├── JsonMapping.java │ │ │ │ │ ├── Location.java │ │ │ │ │ ├── LoginResponseData.java │ │ │ │ │ ├── Rule.java │ │ │ │ │ ├── Table.java │ │ │ │ │ ├── Time.java │ │ │ │ │ ├── User.java │ │ │ │ │ └── util │ │ │ │ │ │ ├── LocationTree.java │ │ │ │ │ │ ├── Team.java │ │ │ │ │ │ ├── TeamLocation.java │ │ │ │ │ │ ├── TeamMember.java │ │ │ │ │ │ ├── Tree.java │ │ │ │ │ │ └── TreeNode.java │ │ │ │ ├── mapper │ │ │ │ │ └── TTMapper.java │ │ │ │ └── tag │ │ │ │ │ └── FormTag.java │ │ │ │ ├── dto │ │ │ │ ├── ClientFormDTO.java │ │ │ │ ├── ClientFormMetadataDTO.java │ │ │ │ ├── ClientFormResponse.java │ │ │ │ ├── ManifestDTO.java │ │ │ │ └── UserAssignmentDTO.java │ │ │ │ ├── event │ │ │ │ ├── CapturedPhotoInformation.java │ │ │ │ ├── Event.java │ │ │ │ └── Listener.java │ │ │ │ ├── exception │ │ │ │ ├── AppResetException.java │ │ │ │ ├── DatabaseMigrationException.java │ │ │ │ ├── JsonFormMissingStepCountException.java │ │ │ │ ├── NoHttpResponseException.java │ │ │ │ └── PreResetAppOperationException.java │ │ │ │ ├── helper │ │ │ │ ├── BottomNavigationHelper.java │ │ │ │ └── ImageRenderHelper.java │ │ │ │ ├── job │ │ │ │ ├── BaseJob.java │ │ │ │ ├── CampaignServiceJob.java │ │ │ │ ├── DocumentConfigurationServiceJob.java │ │ │ │ ├── DuplicateCleanerWorker.java │ │ │ │ ├── ExtendedSyncServiceJob.java │ │ │ │ ├── ImageUploadServiceJob.java │ │ │ │ ├── LocationStructureServiceJob.java │ │ │ │ ├── P2pServiceJob.java │ │ │ │ ├── PlanIntentServiceJob.java │ │ │ │ ├── PlanPeriodicEvaluationJob.java │ │ │ │ ├── PullUniqueIdsServiceJob.java │ │ │ │ ├── SyncAllLocationsServiceJob.java │ │ │ │ ├── SyncLocationsByLevelAndTagsServiceJob.java │ │ │ │ ├── SyncLocationsByTeamIdsJob.java │ │ │ │ ├── SyncServiceJob.java │ │ │ │ ├── SyncSettingsServiceJob.java │ │ │ │ ├── SyncTaskServiceJob.java │ │ │ │ └── ValidateSyncDataServiceJob.java │ │ │ │ ├── listener │ │ │ │ ├── BottomNavigationListener.java │ │ │ │ └── OnCompleteClearDataCallback.java │ │ │ │ ├── location │ │ │ │ └── helper │ │ │ │ │ └── LocationHelper.java │ │ │ │ ├── login │ │ │ │ ├── helper │ │ │ │ │ └── LoginHelper.java │ │ │ │ ├── interactor │ │ │ │ │ └── BaseLoginInteractor.java │ │ │ │ ├── model │ │ │ │ │ └── BaseLoginModel.java │ │ │ │ ├── presenter │ │ │ │ │ └── BaseLoginPresenter.java │ │ │ │ └── task │ │ │ │ │ ├── LocalLoginTask.java │ │ │ │ │ └── RemoteLoginTask.java │ │ │ │ ├── multitenant │ │ │ │ ├── ResetAppHelper.java │ │ │ │ ├── ResetAppViewContract.java │ │ │ │ └── check │ │ │ │ │ ├── EventClientSync.java │ │ │ │ │ ├── EventClientSyncedCheck.java │ │ │ │ │ ├── PreResetAppCheck.java │ │ │ │ │ ├── SettingsSyncedCheck.java │ │ │ │ │ ├── StructureSyncedCheck.java │ │ │ │ │ └── TaskSyncedCheck.java │ │ │ │ ├── provider │ │ │ │ ├── ECSmartRegisterClientsProvider.java │ │ │ │ └── SmartRegisterClientsProvider.java │ │ │ │ ├── receiver │ │ │ │ ├── P2pProcessingStatusBroadcastReceiver.java │ │ │ │ ├── SyncProgressBroadcastReceiver.java │ │ │ │ ├── SyncStatusBroadcastReceiver.java │ │ │ │ └── ValidateAssignmentReceiver.java │ │ │ │ ├── repository │ │ │ │ ├── AlertRepository.java │ │ │ │ ├── AllAlerts.java │ │ │ │ ├── AllBeneficiaries.java │ │ │ │ ├── AllEligibleCouples.java │ │ │ │ ├── AllReports.java │ │ │ │ ├── AllServicesProvided.java │ │ │ │ ├── AllSettings.java │ │ │ │ ├── AllSharedPreferences.java │ │ │ │ ├── AllTimelineEvents.java │ │ │ │ ├── BaseP2PTransferDao.java │ │ │ │ ├── BaseRepository.java │ │ │ │ ├── CampaignRepository.java │ │ │ │ ├── ChildRepository.java │ │ │ │ ├── ClientFormRepository.java │ │ │ │ ├── ClientRelationshipRepository.java │ │ │ │ ├── ClientRepository.java │ │ │ │ ├── DetailsRepository.java │ │ │ │ ├── DrishtiRepository.java │ │ │ │ ├── EligibleCoupleRepository.java │ │ │ │ ├── EventClientRepository.java │ │ │ │ ├── EventRepository.java │ │ │ │ ├── FormDataRepository.java │ │ │ │ ├── FormsVersionRepository.java │ │ │ │ ├── Hia2ReportRepository.java │ │ │ │ ├── ImageRepository.java │ │ │ │ ├── LocationRepository.java │ │ │ │ ├── LocationTagRepository.java │ │ │ │ ├── ManifestRepository.java │ │ │ │ ├── MotherRepository.java │ │ │ │ ├── P2PReceiverTransferDao.java │ │ │ │ ├── P2PSenderTransferDao.java │ │ │ │ ├── PlanDefinitionRepository.java │ │ │ │ ├── PlanDefinitionSearchRepository.java │ │ │ │ ├── ReportRepository.java │ │ │ │ ├── Repository.java │ │ │ │ ├── ServiceProvidedRepository.java │ │ │ │ ├── SettingsRepository.java │ │ │ │ ├── StructureRepository.java │ │ │ │ ├── TaskNotesRepository.java │ │ │ │ ├── TaskRepository.java │ │ │ │ ├── TimelineEventRepository.java │ │ │ │ ├── UniqueIdRepository.java │ │ │ │ ├── ZeirIdCleanupRepository.java │ │ │ │ ├── dao │ │ │ │ │ ├── ClientDaoImpl.java │ │ │ │ │ ├── EventDaoImpl.java │ │ │ │ │ ├── LocationDaoImpl.java │ │ │ │ │ └── TaskDaoImpl.java │ │ │ │ └── helper │ │ │ │ │ ├── MappingHelper.java │ │ │ │ │ └── OpenSRPDatabaseErrorHandler.java │ │ │ │ ├── router │ │ │ │ └── ActionRouter.java │ │ │ │ ├── security │ │ │ │ ├── PasswordHash.java │ │ │ │ └── SecurityHelper.java │ │ │ │ ├── service │ │ │ │ ├── ANMService.java │ │ │ │ ├── ActionService.java │ │ │ │ ├── AlertService.java │ │ │ │ ├── AllFormVersionSyncService.java │ │ │ │ ├── BeneficiaryService.java │ │ │ │ ├── ChildService.java │ │ │ │ ├── DocumentConfigurationService.java │ │ │ │ ├── DrishtiService.java │ │ │ │ ├── EligibleCoupleService.java │ │ │ │ ├── FormPathService.java │ │ │ │ ├── FormSubmissionService.java │ │ │ │ ├── FormSubmissionSyncService.java │ │ │ │ ├── HTTPAgent.java │ │ │ │ ├── ImageUploadSyncService.java │ │ │ │ ├── MotherService.java │ │ │ │ ├── PendingFormSubmissionService.java │ │ │ │ ├── ServiceProvidedService.java │ │ │ │ ├── UserService.java │ │ │ │ ├── ZiggyFileLoader.java │ │ │ │ ├── ZiggyService.java │ │ │ │ ├── formsubmissionhandler │ │ │ │ │ ├── ANCCloseHandler.java │ │ │ │ │ ├── ANCInvestigationsHandler.java │ │ │ │ │ ├── ANCRegistrationHandler.java │ │ │ │ │ ├── ANCRegistrationOAHandler.java │ │ │ │ │ ├── ANCVisitHandler.java │ │ │ │ │ ├── ChildCloseHandler.java │ │ │ │ │ ├── ChildIllnessHandler.java │ │ │ │ │ ├── ChildImmunizationsHandler.java │ │ │ │ │ ├── ChildRegistrationECHandler.java │ │ │ │ │ ├── ChildRegistrationOAHandler.java │ │ │ │ │ ├── DeliveryOutcomeHandler.java │ │ │ │ │ ├── DeliveryPlanHandler.java │ │ │ │ │ ├── ECCloseHandler.java │ │ │ │ │ ├── ECEditHandler.java │ │ │ │ │ ├── ECRegistrationHandler.java │ │ │ │ │ ├── FPChangeHandler.java │ │ │ │ │ ├── FPComplicationsHandler.java │ │ │ │ │ ├── FormSubmissionHandler.java │ │ │ │ │ ├── FormSubmissionRouter.java │ │ │ │ │ ├── HBTestHandler.java │ │ │ │ │ ├── IFAHandler.java │ │ │ │ │ ├── PNCCloseHandler.java │ │ │ │ │ ├── PNCRegistrationOAHandler.java │ │ │ │ │ ├── PNCVisitHandler.java │ │ │ │ │ ├── RenewFPProductHandler.java │ │ │ │ │ ├── TTHandler.java │ │ │ │ │ └── VitaminAHandler.java │ │ │ │ └── intentservices │ │ │ │ │ └── ReplicationIntentService.java │ │ │ │ ├── ssl │ │ │ │ └── OpensrpSSLHelper.java │ │ │ │ ├── sync │ │ │ │ ├── AdditionalSyncService.java │ │ │ │ ├── AfterFetchListener.java │ │ │ │ ├── ClientProcessorForJava.java │ │ │ │ ├── DrishtiSyncScheduler.java │ │ │ │ ├── MiniClientProcessorForJava.java │ │ │ │ ├── P2PClassifier.java │ │ │ │ ├── P2PSyncFinishCallback.java │ │ │ │ ├── SaveANMLocationTask.java │ │ │ │ ├── SaveANMTeamTask.java │ │ │ │ ├── SaveUserInfoTask.java │ │ │ │ ├── SyncAfterFetchListener.java │ │ │ │ ├── SyncProgressIndicator.java │ │ │ │ ├── UpdateActionsTask.java │ │ │ │ ├── helper │ │ │ │ │ ├── BaseHelper.java │ │ │ │ │ ├── ECSyncHelper.java │ │ │ │ │ ├── LocationServiceHelper.java │ │ │ │ │ ├── PeriodicTriggerEvaluationHelper.java │ │ │ │ │ ├── PlanIntentServiceHelper.java │ │ │ │ │ ├── ServerSettingsHelper.java │ │ │ │ │ ├── SyncSettingsServiceHelper.java │ │ │ │ │ ├── SyncableJSONObject.java │ │ │ │ │ ├── TaskServiceHelper.java │ │ │ │ │ ├── TaskServiceProcessor.java │ │ │ │ │ └── ValidateAssignmentHelper.java │ │ │ │ └── intent │ │ │ │ │ ├── BaseSyncIntentService.java │ │ │ │ │ ├── CampaignIntentService.java │ │ │ │ │ ├── DocumentConfigurationIntentService.java │ │ │ │ │ ├── ExtendedSyncIntentService.java │ │ │ │ │ ├── LocationIntentService.java │ │ │ │ │ ├── P2pProcessRecordsService.java │ │ │ │ │ ├── PlanIntentService.java │ │ │ │ │ ├── PlanPeriodicPlanEvaluationService.java │ │ │ │ │ ├── PullUniqueIdsIntentService.java │ │ │ │ │ ├── SettingsSyncIntentService.java │ │ │ │ │ ├── SyncAllLocationsIntentService.java │ │ │ │ │ ├── SyncIntentService.java │ │ │ │ │ ├── SyncLocationsByLevelAndTagsIntentService.java │ │ │ │ │ ├── SyncLocationsByTeamIdsIntentService.java │ │ │ │ │ ├── SyncTaskIntentService.java │ │ │ │ │ └── ValidateIntentService.java │ │ │ │ ├── task │ │ │ │ └── SaveTeamLocationsTask.java │ │ │ │ ├── util │ │ │ │ ├── AppExecutorService.java │ │ │ │ ├── AppExecutors.java │ │ │ │ ├── AppHealthUtils.java │ │ │ │ ├── AppProperties.java │ │ │ │ ├── AssetHandler.java │ │ │ │ ├── Cache.java │ │ │ │ ├── CacheableData.java │ │ │ │ ├── CallableInteractor.java │ │ │ │ ├── CallableInteractorCallBack.java │ │ │ │ ├── CrashLyticsTree.java │ │ │ │ ├── CredentialsHelper.java │ │ │ │ ├── DatabaseMigrationUtils.java │ │ │ │ ├── DatePickerUtils.java │ │ │ │ ├── DateTimeTypeConverter.java │ │ │ │ ├── DateTypeConverter.java │ │ │ │ ├── DateUtil.java │ │ │ │ ├── DisplayUtils.java │ │ │ │ ├── EasyMap.java │ │ │ │ ├── FileUtilities.java │ │ │ │ ├── FloatUtil.java │ │ │ │ ├── FormSubmissionBuilder.java │ │ │ │ ├── FormUtils.java │ │ │ │ ├── GenericInteractor.java │ │ │ │ ├── HttpResponseUtil.java │ │ │ │ ├── ImageUtils.java │ │ │ │ ├── IntegerUtil.java │ │ │ │ ├── JsonFormUtils.java │ │ │ │ ├── LangUtils.java │ │ │ │ ├── Log.java │ │ │ │ ├── NativeFormProcessor.java │ │ │ │ ├── NativeFormProcessorFieldSource.java │ │ │ │ ├── NetworkUtils.java │ │ │ │ ├── OpenSRPGlideModule.kt │ │ │ │ ├── OpenSRPImageListener.java │ │ │ │ ├── OpenSRPImageLoader.java │ │ │ │ ├── P2PUtil.java │ │ │ │ ├── PaginationHolder.java │ │ │ │ ├── PerformanceMonitoringUtils.java │ │ │ │ ├── PermissionUtils.java │ │ │ │ ├── PropertiesConverter.java │ │ │ │ ├── QueryComposer.java │ │ │ │ ├── RecreateECUtil.java │ │ │ │ ├── Session.java │ │ │ │ ├── StatsUtils.java │ │ │ │ ├── StringUtil.java │ │ │ │ ├── SyncUtils.java │ │ │ │ ├── TimelineEventComparator.java │ │ │ │ ├── UrlUtil.java │ │ │ │ ├── Utils.java │ │ │ │ ├── ViewHelper.java │ │ │ │ └── ZipUtil.java │ │ │ │ └── view │ │ │ │ ├── BackgroundAction.java │ │ │ │ ├── InternationalizationContext.java │ │ │ │ ├── ListContract.java │ │ │ │ ├── LocationPickerView.java │ │ │ │ ├── LockingBackgroundTask.java │ │ │ │ ├── ProgressIndicator.java │ │ │ │ ├── activity │ │ │ │ ├── BarcodeScanActivity.java │ │ │ │ ├── BaseLoginActivity.java │ │ │ │ ├── BaseProfileActivity.java │ │ │ │ ├── BaseRegisterActivity.java │ │ │ │ ├── CameraLaunchActivity.java │ │ │ │ ├── ChangePasswordActivity.kt │ │ │ │ ├── DrishtiApplication.java │ │ │ │ ├── EligibleCoupleDetailActivity.java │ │ │ │ ├── FormActivity.java │ │ │ │ ├── FormWebInterface.java │ │ │ │ ├── MicroFormActivity.java │ │ │ │ ├── MultiLanguageActivity.java │ │ │ │ ├── NativeECSmartRegisterActivity.java │ │ │ │ ├── NativeHomeActivity.java │ │ │ │ ├── ReportIndicatorCaseListActivity.java │ │ │ │ ├── ReportIndicatorDetailActivity.java │ │ │ │ ├── ReportIndicatorListViewActivity.java │ │ │ │ ├── ReportsActivity.java │ │ │ │ ├── SecuredActivity.java │ │ │ │ ├── SecuredFormActivity.java │ │ │ │ ├── SecuredNativeSmartRegisterActivity.java │ │ │ │ ├── SecuredWebActivity.java │ │ │ │ ├── SettingsActivity.java │ │ │ │ ├── StatsActivity.java │ │ │ │ └── VideosActivity.java │ │ │ │ ├── adapter │ │ │ │ └── ListableAdapter.java │ │ │ │ ├── contract │ │ │ │ ├── ANCClient.java │ │ │ │ ├── ANCClients.java │ │ │ │ ├── ANCDetail.java │ │ │ │ ├── ANCSmartRegisterClient.java │ │ │ │ ├── ANMLocation.java │ │ │ │ ├── AlertDTO.java │ │ │ │ ├── AlertStatus.java │ │ │ │ ├── BaseFPSmartRegisterClient.java │ │ │ │ ├── BaseLoginContract.java │ │ │ │ ├── BaseProfileContract.java │ │ │ │ ├── BaseRegisterContract.java │ │ │ │ ├── BaseRegisterFragmentContract.java │ │ │ │ ├── Beneficiary.java │ │ │ │ ├── BirthDetails.java │ │ │ │ ├── CategoryReports.java │ │ │ │ ├── Child.java │ │ │ │ ├── ChildClient.java │ │ │ │ ├── ChildDetail.java │ │ │ │ ├── ChildSmartRegisterClient.java │ │ │ │ ├── CoupleDetails.java │ │ │ │ ├── ECChildClient.java │ │ │ │ ├── ECClient.java │ │ │ │ ├── ECClients.java │ │ │ │ ├── ECDetail.java │ │ │ │ ├── ECSmartRegisterBaseClient.java │ │ │ │ ├── ECSmartRegisterClient.java │ │ │ │ ├── FPAlertStatus.java │ │ │ │ ├── FPAlertType.java │ │ │ │ ├── FPClient.java │ │ │ │ ├── FPClients.java │ │ │ │ ├── FPPrioritizationServiceModes.java │ │ │ │ ├── FPSmartRegisterClient.java │ │ │ │ ├── Filter.java │ │ │ │ ├── HomeContext.java │ │ │ │ ├── IndicatorReport.java │ │ │ │ ├── IndicatorReportCases.java │ │ │ │ ├── IndicatorReportDetail.java │ │ │ │ ├── LibraryContract.java │ │ │ │ ├── LocationDetails.java │ │ │ │ ├── MeContract.java │ │ │ │ ├── PregnancyDetails.java │ │ │ │ ├── PregnancyOutcomeDetails.java │ │ │ │ ├── RefillFollowUps.java │ │ │ │ ├── ServiceProvidedDTO.java │ │ │ │ ├── SmartRegisterClient.java │ │ │ │ ├── SmartRegisterClients.java │ │ │ │ ├── StatsContract.java │ │ │ │ ├── StatsFragmentContract.java │ │ │ │ ├── TimelineEvent.java │ │ │ │ ├── Village.java │ │ │ │ ├── Villages.java │ │ │ │ ├── Visits.java │ │ │ │ └── pnc │ │ │ │ │ ├── PNCCircleDatum.java │ │ │ │ │ ├── PNCClient.java │ │ │ │ │ ├── PNCClients.java │ │ │ │ │ ├── PNCDetail.java │ │ │ │ │ ├── PNCFirstSevenDaysVisits.java │ │ │ │ │ ├── PNCLineDatum.java │ │ │ │ │ ├── PNCSmartRegisterClient.java │ │ │ │ │ ├── PNCStatusColor.java │ │ │ │ │ ├── PNCStatusDatum.java │ │ │ │ │ ├── PNCTickDatum.java │ │ │ │ │ ├── PNCVisitDaysDatum.java │ │ │ │ │ ├── PNCVisitStatus.java │ │ │ │ │ └── PNCVisitType.java │ │ │ │ ├── controller │ │ │ │ ├── ANCDetailController.java │ │ │ │ ├── ANCSmartRegisterController.java │ │ │ │ ├── ANMController.java │ │ │ │ ├── ANMLocationController.java │ │ │ │ ├── AfterANMDetailsFetchListener.java │ │ │ │ ├── ChildDetailController.java │ │ │ │ ├── ChildSmartRegisterController.java │ │ │ │ ├── ECSmartRegisterController.java │ │ │ │ ├── EligibleCoupleDetailController.java │ │ │ │ ├── FPSmartRegisterController.java │ │ │ │ ├── FormController.java │ │ │ │ ├── NativeAfterANMDetailsFetchListener.java │ │ │ │ ├── NativeUpdateANMDetailsTask.java │ │ │ │ ├── NavigationController.java │ │ │ │ ├── PNCDetailController.java │ │ │ │ ├── PNCSmartRegisterController.java │ │ │ │ ├── ProfileNavigationController.java │ │ │ │ ├── ReportIndicatorCaseListViewController.java │ │ │ │ ├── ReportIndicatorDetailViewController.java │ │ │ │ ├── ReportIndicatorListViewController.java │ │ │ │ ├── ReportsController.java │ │ │ │ ├── UpdateANMDetailsTask.java │ │ │ │ ├── UpdateController.java │ │ │ │ ├── VideosController.java │ │ │ │ └── VillageController.java │ │ │ │ ├── customcontrols │ │ │ │ ├── ANCClientIdDetailsView.java │ │ │ │ ├── ANCStatusView.java │ │ │ │ ├── ClientChildrenView.java │ │ │ │ ├── ClientFpMethodView.java │ │ │ │ ├── ClientGplsaChildView.java │ │ │ │ ├── ClientGplsaView.java │ │ │ │ ├── ClientIdDetailsView.java │ │ │ │ ├── ClientPNCPpFpMethodView.java │ │ │ │ ├── ClientProfileView.java │ │ │ │ ├── ClientSideEffectsView.java │ │ │ │ ├── ClientStatusView.java │ │ │ │ ├── CustomFontRadioButton.java │ │ │ │ ├── CustomFontTextView.java │ │ │ │ ├── DeliveryInfoView.java │ │ │ │ ├── FontVariant.java │ │ │ │ ├── PNCWebViewClient.java │ │ │ │ ├── ProcessingInProgressSnackbar.java │ │ │ │ └── ProcessingInProgressView.java │ │ │ │ ├── dialog │ │ │ │ ├── AllClientsFilter.java │ │ │ │ ├── AllEligibleCoupleServiceMode.java │ │ │ │ ├── BPLSort.java │ │ │ │ ├── DialogOption.java │ │ │ │ ├── DialogOptionMapper.java │ │ │ │ ├── DialogOptionModel.java │ │ │ │ ├── ECNumberSort.java │ │ │ │ ├── ECSearchOption.java │ │ │ │ ├── EditOption.java │ │ │ │ ├── FPAllMethodsServiceMode.java │ │ │ │ ├── FPMethodFilter.java │ │ │ │ ├── FilterClause.java │ │ │ │ ├── FilterOption.java │ │ │ │ ├── HighPrioritySort.java │ │ │ │ ├── LocationSelectorDialogFragment.java │ │ │ │ ├── NameSort.java │ │ │ │ ├── OpenFormOption.java │ │ │ │ ├── OutOfAreaFilter.java │ │ │ │ ├── ResetAppDialog.java │ │ │ │ ├── SCSort.java │ │ │ │ ├── STSort.java │ │ │ │ ├── ServiceModeOption.java │ │ │ │ ├── SmartRegisterDialogFragment.java │ │ │ │ ├── SortOption.java │ │ │ │ └── VillageFilter.java │ │ │ │ ├── fragment │ │ │ │ ├── BaseListFragment.java │ │ │ │ ├── BaseProfileFragment.java │ │ │ │ ├── BaseRegisterFragment.java │ │ │ │ ├── LibraryFragment.java │ │ │ │ ├── MeFragment.java │ │ │ │ ├── SecuredFragment.java │ │ │ │ ├── SecuredNativeSmartRegisterFragment.java │ │ │ │ └── StatsFragment.java │ │ │ │ ├── interactor │ │ │ │ ├── ListInteractor.java │ │ │ │ └── StatsFragmentInteractor.java │ │ │ │ ├── preProcessor │ │ │ │ └── PNCClientPreProcessor.java │ │ │ │ ├── presenter │ │ │ │ ├── ListPresenter.java │ │ │ │ └── StatsFragmentPresenter.java │ │ │ │ ├── receiver │ │ │ │ ├── ConnectivityChangeReceiver.java │ │ │ │ ├── SyncBroadcastReceiver.java │ │ │ │ └── TimeChangedBroadcastReceiver.java │ │ │ │ ├── viewholder │ │ │ │ ├── ChildRegisterProfilePhotoLoader.java │ │ │ │ ├── ECProfilePhotoLoader.java │ │ │ │ ├── ListableViewHolder.java │ │ │ │ ├── NativeECSmartRegisterViewHolder.java │ │ │ │ ├── NativeFPSmartRegisterViewHolder.java │ │ │ │ ├── OnClickFormLauncher.java │ │ │ │ ├── ProfilePhotoLoader.java │ │ │ │ └── ViewStubInflater.java │ │ │ │ └── viewpager │ │ │ │ └── OpenSRPViewPager.java │ │ └── resources │ │ │ └── org │ │ │ └── ocpsoft │ │ │ └── pretty │ │ │ └── time │ │ │ └── i18n │ │ │ └── Resources_short.properties │ └── test │ │ ├── angular_e2e │ │ ├── anc_controller_e2e_spec.js │ │ ├── conf │ │ │ └── karma.conf.js │ │ └── fp_controller_e2e_spec.js │ │ ├── assets │ │ ├── app.properties │ │ ├── compression_test_file.txt │ │ ├── ec_client_fields.json │ │ ├── json.form │ │ │ └── test_basic_form.json │ │ └── test_file.txt │ │ ├── java │ │ ├── com │ │ │ └── evernote │ │ │ │ └── android │ │ │ │ └── job │ │ │ │ └── ShadowJobManager.java │ │ └── org │ │ │ └── smartregister │ │ │ ├── BaseRobolectricUnitTest.java │ │ │ ├── BaseUnitTest.java │ │ │ ├── ContextRobolectricTest.java │ │ │ ├── ContextTest.java │ │ │ ├── CoreLibraryTest.java │ │ │ ├── EnvironmentManagerTest.java │ │ │ ├── PropertiesSyncConfigurationTest.java │ │ │ ├── TestApplication.java │ │ │ ├── TestP2pApplication.java │ │ │ ├── TestSyncConfiguration.java │ │ │ ├── TestUtils.java │ │ │ ├── account │ │ │ ├── AccountAuthenticatorTest.java │ │ │ └── AccountHelperTest.java │ │ │ ├── adapter │ │ │ ├── ServiceLocationsAdapterTest.java │ │ │ ├── SmartRegisterPaginatedAdapterTest.java │ │ │ └── SmartRegisterQueryBuilderTest.java │ │ │ ├── authorizer │ │ │ └── P2PSyncAuthorizationServiceTest.java │ │ │ ├── broadcastreceivers │ │ │ └── OpenSRPClientBroadCastReceiverTest.java │ │ │ ├── clientandeventmodel │ │ │ ├── AddressTest.java │ │ │ ├── BaseDataObjectTest.java │ │ │ ├── BaseEntityTest.java │ │ │ ├── ClientTest.java │ │ │ ├── DateUtilTest.java │ │ │ ├── EventTest.java │ │ │ ├── FormAttributeParserTest.java │ │ │ ├── FormEntityConverterTest.java │ │ │ ├── FormSubmissionTest.java │ │ │ ├── ObsTest.java │ │ │ ├── UserTest.java │ │ │ ├── mock │ │ │ │ ├── AddressMock.java │ │ │ │ ├── BaseDataObjectMock.java │ │ │ │ ├── BaseEntityMock.java │ │ │ │ ├── ClientMock.java │ │ │ │ ├── EventMock.java │ │ │ │ ├── FormSubmissionMock.java │ │ │ │ ├── NodeListMock.java │ │ │ │ ├── NodeMock.java │ │ │ │ ├── ObsMock.java │ │ │ │ └── UserMock.java │ │ │ └── populateform │ │ │ │ └── ModelTest.java │ │ │ ├── commonregistry │ │ │ ├── AllCommonsRepositoryTest.java │ │ │ ├── CommonFtsObjectTest.java │ │ │ ├── CommonObjectFilterOptionTest.java │ │ │ ├── CommonPersonObjectClientTest.java │ │ │ ├── CommonPersonObjectControllerTest.java │ │ │ ├── CommonPersonObjectDateSortTest.java │ │ │ ├── CommonPersonObjectFilterOptionTest.java │ │ │ ├── CommonPersonObjectSearchFilterTest.java │ │ │ ├── CommonPersonObjectSortTest.java │ │ │ ├── CommonRepositoryTest.java │ │ │ ├── mockactivities │ │ │ │ ├── HouseHoldSmartClientsProvider.java │ │ │ │ ├── HouseHoldSmartRegisterActivity.java │ │ │ │ ├── HouseHoldSmartRegisterFragment.java │ │ │ │ └── pageradapter │ │ │ │ │ └── BaseRegisterActivityPagerAdapter.java │ │ │ └── shared │ │ │ │ └── FakeRepository.java │ │ │ ├── compression │ │ │ └── GZIPCompressionTest.java │ │ │ ├── convertor │ │ │ └── FormSubmissionConvertorTest.java │ │ │ ├── cryptography │ │ │ ├── AndroidLegacyCryptographyTest.java │ │ │ ├── AndroidMCryptographyTest.java │ │ │ └── CryptographicHelperTest.java │ │ │ ├── cursoradapter │ │ │ ├── CursorAdapterFragmentTest.java │ │ │ ├── RecyclerViewCursorAdapterTest.java │ │ │ ├── RecyclerViewFragmentMock.java │ │ │ ├── RecyclerViewFragmentTest.java │ │ │ ├── RecyclerViewPaginatedAdapterTest.java │ │ │ └── mock │ │ │ │ └── RecyclerViewCursorAdapterMock.java │ │ │ ├── customshadows │ │ │ ├── AndroidTreeViewShadow.java │ │ │ ├── FontTextViewShadow.java │ │ │ ├── ShadowLocalBroadcastManager.java │ │ │ └── ShadowOpenSRPImageLoader.java │ │ │ ├── dao │ │ │ ├── AbstractDaoTest.java │ │ │ ├── LocationsDaoTest.java │ │ │ └── SampleAbstractDaoImp.java │ │ │ ├── domain │ │ │ ├── ANCServiceTypeTest.java │ │ │ ├── CampaignTest.java │ │ │ ├── FPMethodTest.java │ │ │ ├── FormSubmissionTest.java │ │ │ ├── LocationTest.java │ │ │ ├── PlanDefinitionTest.java │ │ │ ├── ReportIndicatorTest.java │ │ │ ├── TaskTest.java │ │ │ ├── TimelineEventTest.java │ │ │ ├── db │ │ │ │ ├── AddressTest.java │ │ │ │ ├── BaseDataObjectTest.java │ │ │ │ ├── BaseEntityTest.java │ │ │ │ ├── ClientTest.java │ │ │ │ ├── EventTest.java │ │ │ │ ├── ObsTest.java │ │ │ │ └── mock │ │ │ │ │ ├── AddressMock.java │ │ │ │ │ ├── BaseDataObjectMock.java │ │ │ │ │ ├── BaseEntityMock.java │ │ │ │ │ ├── ClientMock.java │ │ │ │ │ ├── EventMock.java │ │ │ │ │ └── ObsMock.java │ │ │ └── jsonmapping │ │ │ │ └── util │ │ │ │ └── TreeNodeTest.java │ │ │ ├── dto │ │ │ └── ClientFormResponseTest.java │ │ │ ├── helper │ │ │ └── BottomNavigationHelperTest.java │ │ │ ├── job │ │ │ ├── BaseJobTest.java │ │ │ ├── CampaignServiceJobTest.java │ │ │ ├── DocumentConfigurationServiceJobTest.java │ │ │ ├── ExtendedSyncServiceJobTest.java │ │ │ ├── ImageUploadServiceJobTest.java │ │ │ ├── LocationServiceJobTest.java │ │ │ ├── P2pServiceJobTest.java │ │ │ ├── PlanIntentServiceJobTest.java │ │ │ ├── PlanPeriodicEvaluationJobTest.java │ │ │ ├── PullUniqueIdsServiceJobTest.java │ │ │ ├── ServiceJobTest.java │ │ │ ├── SyncAllLocationsServiceJobTest.java │ │ │ ├── SyncLocationsByLevelAndTagsServiceJobTest.java │ │ │ ├── SyncLocationsByTeamIdsJobTest.java │ │ │ ├── SyncServiceJobTest.java │ │ │ ├── SyncSettingsServiceJobTest.java │ │ │ ├── SyncTaskServiceJobTest.java │ │ │ └── ValidateSyncDataServiceJobTest.java │ │ │ ├── location │ │ │ └── helper │ │ │ │ └── LocationHelperTest.java │ │ │ ├── login │ │ │ ├── LoginHelperTest.java │ │ │ ├── interactor │ │ │ │ ├── BaseLoginInteractorTest.java │ │ │ │ └── TestExecutorService.java │ │ │ ├── model │ │ │ │ └── BaseLoginModelTest.java │ │ │ └── presenter │ │ │ │ └── BaseLoginPresenterTest.java │ │ │ ├── multitenant │ │ │ ├── ResetAppHelperTest.java │ │ │ └── check │ │ │ │ ├── EventClientSyncTest.java │ │ │ │ ├── EventClientSyncedCheckTest.java │ │ │ │ ├── SettingsSyncedCheckTest.java │ │ │ │ ├── StructureSyncedCheckTest.java │ │ │ │ └── TaskSyncedCheckTest.java │ │ │ ├── presenter │ │ │ ├── BaseLoginPresenterTest.java │ │ │ ├── ListPresenterTest.java │ │ │ ├── StatsFragmentPresenterTest.java │ │ │ └── TestLoginPresenter.java │ │ │ ├── receiver │ │ │ ├── P2pProcessingStatusBroadcastReceiverTest.java │ │ │ ├── SyncProgressBroadcastReceiverTest.java │ │ │ ├── SyncStatusBroadcastReceiverTest.java │ │ │ └── ValidateAssignmentReceiverTest.java │ │ │ ├── repository │ │ │ ├── AlertRepositoryTest.java │ │ │ ├── AllBeneficiariesTest.java │ │ │ ├── AllEligibleCouplesTest.java │ │ │ ├── AllReportsTest.java │ │ │ ├── AllSettingsTest.java │ │ │ ├── AllSharedPreferencesTest.java │ │ │ ├── CampaignRepositoryTest.java │ │ │ ├── ChildRepositoryTest.java │ │ │ ├── ClientFormRepositoryTest.java │ │ │ ├── ClientRelationshipRepositoryTest.java │ │ │ ├── ClientRepositoryTest.java │ │ │ ├── DetailsRepositoryTest.java │ │ │ ├── EligibleCoupleRepositoryTest.java │ │ │ ├── EventClientRepositoryTest.java │ │ │ ├── EventRepositoryTest.java │ │ │ ├── FormDataRepositoryTest.java │ │ │ ├── FormsVersionRepositoryTest.java │ │ │ ├── Hia2ReportRepositoryTest.java │ │ │ ├── ImageRepositoryTest.java │ │ │ ├── LocationRepositoryTest.java │ │ │ ├── LocationTagRepositoryTest.java │ │ │ ├── ManifestRepositoryTest.java │ │ │ ├── MotherRepositoryTest.java │ │ │ ├── P2PReceiverTransferDaoTest.java │ │ │ ├── P2PSenderTransferDaoTest.java │ │ │ ├── PlanDefinitionRepositorySearchTest.java │ │ │ ├── PlanDefinitionRepositoryTest.java │ │ │ ├── PlanDefinitionSearchRepositoryTest.java │ │ │ ├── ReportRepositoryTest.java │ │ │ ├── RepositoryRobolectricTest.java │ │ │ ├── RepositoryTest.java │ │ │ ├── ServiceProvidedRepositoryTest.java │ │ │ ├── SettingsRepositoryTest.java │ │ │ ├── StructureRepositoryTest.java │ │ │ ├── TaskNotesRepositoryTest.java │ │ │ ├── TaskRepositoryTest.java │ │ │ ├── TimelineEventRepositoryTest.java │ │ │ ├── UniqueIdRepositoryTest.java │ │ │ ├── ZeirIdCleanupRepositoryTest.java │ │ │ ├── dao │ │ │ │ ├── ClientDaoImplTest.java │ │ │ │ ├── EventDaoImplTest.java │ │ │ │ └── TaskDaoImplTest.java │ │ │ └── mock │ │ │ │ ├── ContextMock.java │ │ │ │ ├── CursorFactoryMock.java │ │ │ │ ├── DrishtiRepositoryMock.java │ │ │ │ ├── RepositoryMock.java │ │ │ │ └── SQLiteDatabaseMock.java │ │ │ ├── router │ │ │ └── ActionRouterTest.java │ │ │ ├── security │ │ │ └── SecurityHelperTest.java │ │ │ ├── service │ │ │ ├── ActionServiceTest.java │ │ │ ├── AlertServiceTest.java │ │ │ ├── AllFormVersionSyncServiceTest.java │ │ │ ├── ChildServiceTest.java │ │ │ ├── DocumentConfigurationServiceTest.java │ │ │ ├── DrishtiServiceTest.java │ │ │ ├── EligibleCoupleServiceTest.java │ │ │ ├── FormSubmissionServiceTest.java │ │ │ ├── FormSubmissionSyncServiceTest.java │ │ │ ├── HTTPAgentTest.java │ │ │ ├── ImageUploadSyncServiceTest.java │ │ │ ├── MotherServiceTest.java │ │ │ ├── PendingFormSubmissionServiceTest.java │ │ │ ├── ServiceProvidedServiceTest.java │ │ │ ├── UserServiceTest.java │ │ │ ├── formsubmissionhandler │ │ │ │ ├── ANCRegistrationHandlerTest.java │ │ │ │ ├── ANCRegistrationOAHandlerTest.java │ │ │ │ ├── ANCVisitHandlerTest.java │ │ │ │ ├── DeliveryOutcomeHandlerTest.java │ │ │ │ ├── DeliveryPlanHandlerTest.java │ │ │ │ ├── ECRegistrationHandlerTest.java │ │ │ │ ├── FPChangeHandlerTest.java │ │ │ │ ├── FPComplicationsHandlerTest.java │ │ │ │ ├── FormSubmissionRouterTest.java │ │ │ │ ├── HBTestHandlerTest.java │ │ │ │ ├── PNCCloseHandlerTest.java │ │ │ │ ├── PNCRegistrationOAHandlerTest.java │ │ │ │ ├── RenewFPProductHandlerTest.java │ │ │ │ └── TTHandlerTest.java │ │ │ └── intentservices │ │ │ │ └── ReplicationIntentServiceTest.java │ │ │ ├── setup │ │ │ ├── DrishtiTestRunner.java │ │ │ └── DrishtiTestSetup.java │ │ │ ├── shadows │ │ │ ├── AlarmManagerShadow.java │ │ │ ├── BaseJobShadow.java │ │ │ ├── LoginInteractorShadow.java │ │ │ ├── MockCounter.java │ │ │ ├── PendingIntentShadow.java │ │ │ ├── SecuredActivityShadow.java │ │ │ ├── ShadowAppDatabase.java │ │ │ ├── ShadowAssetHandler.java │ │ │ ├── ShadowContext.java │ │ │ ├── ShadowContextCompat.java │ │ │ ├── ShadowDrawableResourcesImpl.java │ │ │ ├── ShadowLocationServiceHelper.java │ │ │ ├── ShadowNetworkUtils.java │ │ │ ├── ShadowPreferenceManager.java │ │ │ ├── ShadowSQLiteDatabase.java │ │ │ ├── ShadowSnackBar.java │ │ │ ├── ShadowSyncSettingsServiceHelper.java │ │ │ └── ShadowUtils.java │ │ │ ├── sync │ │ │ ├── ClientData.java │ │ │ ├── ClientProcessorForJavaTest.java │ │ │ ├── helper │ │ │ │ ├── BaseHelperTest.java │ │ │ │ ├── ECSyncHelperTest.java │ │ │ │ ├── LocationServiceHelperTest.java │ │ │ │ ├── PeriodicTriggerEvaluationHelperTest.java │ │ │ │ ├── PlanIntentServiceHelperTest.java │ │ │ │ ├── SyncSettingsServiceHelperTest.java │ │ │ │ ├── SyncableJSONObjectTest.java │ │ │ │ ├── TaskServiceHelperTest.java │ │ │ │ ├── TaskServiceProcessorTest.java │ │ │ │ └── ValidateAssignmentHelperTest.java │ │ │ ├── intent │ │ │ │ ├── CampaignIntentServiceTest.java │ │ │ │ ├── DocumentConfigurationIntentServiceTest.java │ │ │ │ ├── ExtendedSyncIntentServiceTest.java │ │ │ │ ├── LocationIntentServiceTest.java │ │ │ │ ├── P2pProcessRecordsServiceTest.java │ │ │ │ ├── PlanIntentServiceTest.java │ │ │ │ ├── PullUniqueIdsIntentServiceTest.java │ │ │ │ ├── SettingsSyncIntentServiceTest.java │ │ │ │ ├── SyncAllLocationsIntentServiceTest.java │ │ │ │ ├── SyncIntentServiceTest.java │ │ │ │ ├── SyncLocationsByLevelAndTagsIntentServiceTest.java │ │ │ │ ├── SyncLocationsByTeamIdsIntentServiceTest.java │ │ │ │ ├── SyncTaskIntentServiceTest.java │ │ │ │ └── ValidateIntentServiceTest.java │ │ │ └── mock │ │ │ │ ├── MockActivity.java │ │ │ │ └── MockEditor.java │ │ │ ├── task │ │ │ └── SaveTeamLocationsTaskTest.java │ │ │ ├── util │ │ │ ├── ActionBuilder.java │ │ │ ├── AppHealthUtilsTest.java │ │ │ ├── AppPropertiesTest.java │ │ │ ├── AssetData.java │ │ │ ├── AssetHandlerTest.java │ │ │ ├── CacheTest.java │ │ │ ├── CredentialsHelperTest.java │ │ │ ├── DatePickerUtilsTest.java │ │ │ ├── DateUtilTest.java │ │ │ ├── DisplayUtilsTest.java │ │ │ ├── FileUtilitiesRobolectricTest.java │ │ │ ├── FileUtilitiesTest.java │ │ │ ├── FloatUtilTest.java │ │ │ ├── FormProcessorFactoryHelper.java │ │ │ ├── FormUtilsTest.java │ │ │ ├── GenericInteractorTest.java │ │ │ ├── HttpResponseUtilTest.java │ │ │ ├── ImageUtilsTest.java │ │ │ ├── IntegerUtilTest.java │ │ │ ├── IntergerUtilTest.java │ │ │ ├── JsonFormUtilsTest.java │ │ │ ├── LocationTreeTest.java │ │ │ ├── LoginResponseTestData.java │ │ │ ├── OpenSRPImageListenerTest.java │ │ │ ├── OpenSRPImageLoaderTest.java │ │ │ ├── P2PUtilTest.java │ │ │ ├── PermissionUtilsTest.java │ │ │ ├── QueryComposerTest.java │ │ │ ├── RecreateECUtilTest.java │ │ │ ├── StatsUtilsTest.java │ │ │ ├── StringUtilTest.java │ │ │ ├── SyncUtilsRobolectricTest.java │ │ │ ├── SyncUtilsTest.java │ │ │ ├── TimelineEventComparatorTest.java │ │ │ ├── UrlUtilTest.java │ │ │ ├── UserInfoTest.java │ │ │ ├── UtilsStaticTest.java │ │ │ ├── UtilsTest.java │ │ │ ├── ViewHelperTest.java │ │ │ └── mock │ │ │ │ ├── MockContext.java │ │ │ │ ├── MockService.java │ │ │ │ ├── OpenSRPImageLoaderTestActivity.java │ │ │ │ └── XmlSerializerMock.java │ │ │ └── view │ │ │ ├── LocationPickerViewTest.java │ │ │ ├── UnitTest.java │ │ │ ├── UpdateActionsTaskTest.java │ │ │ ├── ViewAttributes.java │ │ │ ├── activity │ │ │ ├── BarcodeScanActivityTest.java │ │ │ ├── BaseLoginActivityTest.java │ │ │ ├── BaseProfileActivityTest.java │ │ │ ├── BaseRegisterActivityTest.java │ │ │ ├── CameraLaunchActivityTest.java │ │ │ ├── ChangePasswordActivityTest.kt │ │ │ ├── DrishtiApplicationTest.java │ │ │ ├── EligibleDetailActivityTest.java │ │ │ ├── FormActivityTest.java │ │ │ ├── NativeECSmartRegisterActivityTest.java │ │ │ ├── NativeHomeActivityTest.java │ │ │ ├── ReportsActivityTest.java │ │ │ ├── SecuredActivityTest.java │ │ │ ├── SettingsActivityTest.java │ │ │ ├── StatsActivityTest.java │ │ │ ├── TestProfileActivity.java │ │ │ ├── VideosActivityTest.java │ │ │ └── mock │ │ │ │ ├── BarcodeScanActivityMock.java │ │ │ │ ├── BaseRegisterActivityMock.java │ │ │ │ ├── CameraActivityMock.java │ │ │ │ ├── EligibleCoupleDetailActivityMock.java │ │ │ │ ├── FormActivityMock.java │ │ │ │ ├── MenuItemTestVersion.java │ │ │ │ ├── NativeECSmartRegisterActivityMock.java │ │ │ │ ├── NativeHomeActivityMock.java │ │ │ │ ├── ReportsActivityMock.java │ │ │ │ └── VideoActivityMock.java │ │ │ ├── contract │ │ │ ├── ANCClientTest.java │ │ │ ├── ECChildClientTest.java │ │ │ ├── ECClientTest.java │ │ │ ├── ECDetailTest.java │ │ │ ├── FPClientTest.java │ │ │ ├── PNCClientTest.java │ │ │ ├── PregnancyDetailsTest.java │ │ │ ├── SmartRegisterClientsTest.java │ │ │ └── mapper │ │ │ │ └── BeneficiaryServiceTest.java │ │ │ ├── controller │ │ │ ├── ANCDetailControllerTest.java │ │ │ ├── ANCSmartRegisterControllerTest.java │ │ │ ├── ChildDetailControllerTest.java │ │ │ ├── ChildSmartRegisterControllerTest.java │ │ │ ├── ECSmartRegisterControllerTest.java │ │ │ ├── EligibleCoupleDetailControllerTest.java │ │ │ ├── FPSmartRegisterControllerTest.java │ │ │ ├── NativeUpdateANMDetailsTaskTest.java │ │ │ ├── PNCDetailControllerTest.java │ │ │ ├── PNCSmartRegisterControllerTest.java │ │ │ ├── ProfileNavigationControllerTest.java │ │ │ ├── ReportIndicatorDetailViewControllerTest.java │ │ │ ├── ReportIndicatorListViewControllerTest.java │ │ │ ├── UpdateANMDetailsTaskTest.java │ │ │ └── VillageControllerTest.java │ │ │ ├── customcontrols │ │ │ ├── CustomFontRadioButtonTest.java │ │ │ └── CustomFontTextViewTest.java │ │ │ ├── dialog │ │ │ ├── DialogOptionMapperTest.java │ │ │ ├── LocationSelectorDialogFragmentTest.java │ │ │ └── mock │ │ │ │ ├── DialogOptionModalMock.java │ │ │ │ └── LocationSelectorDialogFragmentTestActivity.java │ │ │ ├── fragment │ │ │ ├── BaseListFragmentTest.java │ │ │ ├── BaseProfileFragmentTest.java │ │ │ ├── BaseRegisterFragmentTest.java │ │ │ ├── LibraryFragmentTest.java │ │ │ ├── MeFragmentTest.java │ │ │ ├── SecuredFragmentTest.java │ │ │ ├── SecuredNativeSmartRegisterFragmentTest.java │ │ │ ├── StatsFragmentTest.java │ │ │ └── mock │ │ │ │ └── MockFragment.java │ │ │ ├── interactor │ │ │ └── ListInteractorTest.java │ │ │ ├── preProcessor │ │ │ └── PNCClientPreProcessorTest.java │ │ │ ├── receiver │ │ │ ├── ConnectivityChangeReceiverTest.java │ │ │ └── TimeChangedBroadcastReceiverTest.java │ │ │ ├── viewholder │ │ │ ├── ChildRegisterProfilePhotoLoaderTest.java │ │ │ ├── OnClickFormLauncherTest.java │ │ │ └── ViewStubInflaterTest.java │ │ │ └── viewpager │ │ │ └── OpenSRPViewPagerTest.java │ │ ├── js │ │ ├── conf │ │ │ └── karma.conf.js │ │ ├── lib │ │ │ └── angular-mocks.js │ │ └── smart_registry │ │ │ ├── anc_register_controller_spec.js │ │ │ ├── anc_service_spec.js │ │ │ ├── fp_register_controller_spec.js │ │ │ ├── fp_service_spec.js │ │ │ ├── list_view_controller_spec.js │ │ │ ├── pnc_register_controller_spec.js │ │ │ ├── pnc_service_spec.js │ │ │ ├── smart_filters_spec.js │ │ │ └── smart_helper_service_spec.js │ │ └── resources │ │ ├── alerts.json │ │ ├── org.robolectric.Config.properties │ │ └── www │ │ └── form │ │ ├── birthnotificationpregnancystatusfollowup │ │ ├── form.json │ │ ├── form.xml │ │ ├── form_definition.json │ │ └── model.xml │ │ ├── child_enrollment │ │ ├── form.json │ │ ├── form.xml │ │ ├── form_definition.json │ │ ├── form_multi.json │ │ └── model.xml │ │ ├── child_followup │ │ ├── form.json │ │ ├── form.xml │ │ ├── form_definition.json │ │ └── model.xml │ │ ├── entity_relationship.json │ │ ├── form_submission │ │ ├── form_submission_json.json │ │ └── form_submission_xml.xml │ │ ├── offsite_child_followup │ │ ├── form.json │ │ ├── form.xml │ │ ├── form_definition.json │ │ └── model.xml │ │ ├── offsite_woman_followup │ │ ├── form.json │ │ ├── form.xml │ │ ├── form_definition.json │ │ └── model.xml │ │ ├── vaccine_stock_position │ │ ├── form.json │ │ ├── form.xml │ │ ├── form_definition.json │ │ └── model.xml │ │ ├── woman_enrollment │ │ ├── form.json │ │ ├── form.xml │ │ ├── form_definition.json │ │ └── model.xml │ │ └── woman_followup │ │ ├── form.json │ │ ├── form.xml │ │ ├── form_definition.json │ │ └── model.xml └── user-profile.png ├── sample ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── org │ │ └── smartregister │ │ └── sample │ │ └── ApplicationTest.java │ ├── main │ ├── AndroidManifest.xml │ ├── assets │ │ └── app.properties │ ├── java │ │ └── org │ │ │ └── smartregister │ │ │ └── sample │ │ │ ├── BasicActivity.java │ │ │ ├── MainActivity.java │ │ │ ├── SampleLoginActivity.java │ │ │ ├── adapter │ │ │ └── ReportsFragmentAdapter.java │ │ │ ├── application │ │ │ ├── SampleApplication.java │ │ │ └── SampleSyncConfiguration.java │ │ │ ├── callable │ │ │ └── LoadReports.java │ │ │ ├── domain │ │ │ ├── FakeApiPayload.java │ │ │ └── Report.java │ │ │ ├── fragment │ │ │ └── ReportFragment.java │ │ │ ├── interactor │ │ │ └── LoginInteractor.java │ │ │ ├── presenter │ │ │ └── LoginPresenter.java │ │ │ ├── tools │ │ │ └── RetrofitClientInstance.java │ │ │ └── webservice │ │ │ └── ReportsWebservice.java │ └── res │ │ ├── layout-v17 │ │ ├── content_main.xml │ │ └── reports_fragment_item.xml │ │ ├── layout │ │ ├── activity_main.xml │ │ ├── basic_activity.xml │ │ ├── content_main.xml │ │ ├── fragment_report.xml │ │ └── reports_fragment_item.xml │ │ ├── menu │ │ └── menu_main.xml │ │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ └── ic_launcher.png │ │ ├── values-ar │ │ └── strings.xml │ │ ├── values-fr │ │ └── strings.xml │ │ ├── values-v21 │ │ └── styles.xml │ │ ├── values-w820dp │ │ └── dimens.xml │ │ ├── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml │ │ └── xml │ │ ├── authenticator.xml │ │ └── preferences.xml │ └── test │ └── java │ └── org │ └── smartregister │ └── sample │ └── ExampleUnitTest.java └── settings.gradle /.codacy.yml: -------------------------------------------------------------------------------- 1 | engines: 2 | duplication: 3 | exclude_paths: 4 | - '**/test/**' 5 | - '**/androidTest/**' 6 | 7 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | *.ipr 3 | *.iws 4 | .idea/ 5 | .classpath 6 | .project 7 | bin/ 8 | gen/ 9 | out/ 10 | target/ 11 | local.properties 12 | drishti-app/tmp/ 13 | classes/ 14 | tmp/ 15 | project.properties 16 | .DS_Store 17 | .settings 18 | build/ 19 | .gradle 20 | *.log 21 | !opensrp-core/assets/web/build/ 22 | !opensrp-core/assets/web/lib/enketo-core/build/ 23 | opensrp-path/fabric.properties 24 | opensrp-path/reports/ 25 | opensrp-core/reports/ 26 | opensrp-core/jacoco.exec 27 | -------------------------------------------------------------------------------- /assets/licenses/LICENCES: -------------------------------------------------------------------------------- 1 | Image used: http://www.flickr.com/photos/xclockwise/2275876696/ 2 | -------------------------------------------------------------------------------- /assets/licenses/README: -------------------------------------------------------------------------------- 1 | This has all the licenses (where necessary) for software used in this project. 2 | -------------------------------------------------------------------------------- /assets/security/debug.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/assets/security/debug.keystore -------------------------------------------------------------------------------- /assets/security/dristhi.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/assets/security/dristhi.keystore -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon May 30 16:27:42 EAT 2022 2 | distributionBase=GRADLE_USER_HOME 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip 4 | distributionPath=wrapper/dists 5 | zipStorePath=wrapper/dists 6 | org.gradle.daemon=true 7 | org.gradle.parallel=true 8 | zipStoreBase=GRADLE_USER_HOME 9 | org.gradle.configureondemand=true 10 | org.gradle.jvmargs=-Xmx2048m 11 | -------------------------------------------------------------------------------- /jacoco.exec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/jacoco.exec -------------------------------------------------------------------------------- /opensrp-core/assets/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/assets/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /opensrp-core/assets/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/assets/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /opensrp-core/assets/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/assets/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /opensrp-core/assets/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/assets/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /opensrp-core/assets/fonts/material-icon-font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/assets/fonts/material-icon-font.ttf -------------------------------------------------------------------------------- /opensrp-core/assets/fonts/roboto/Roboto-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/assets/fonts/roboto/Roboto-Bold.ttf -------------------------------------------------------------------------------- /opensrp-core/assets/fonts/roboto/Roboto-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/assets/fonts/roboto/Roboto-Medium.ttf -------------------------------------------------------------------------------- /opensrp-core/assets/fonts/roboto/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/assets/fonts/roboto/Roboto-Regular.ttf -------------------------------------------------------------------------------- /opensrp-core/assets/roboto_v1.2/Roboto-Black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/assets/roboto_v1.2/Roboto-Black.ttf -------------------------------------------------------------------------------- /opensrp-core/assets/roboto_v1.2/Roboto-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/assets/roboto_v1.2/Roboto-Bold.ttf -------------------------------------------------------------------------------- /opensrp-core/assets/roboto_v1.2/Roboto-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/assets/roboto_v1.2/Roboto-Light.ttf -------------------------------------------------------------------------------- /opensrp-core/assets/roboto_v1.2/Roboto-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/assets/roboto_v1.2/Roboto-Medium.ttf -------------------------------------------------------------------------------- /opensrp-core/assets/roboto_v1.2/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/assets/roboto_v1.2/Roboto-Regular.ttf -------------------------------------------------------------------------------- /opensrp-core/assets/roboto_v1.2/Roboto-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/assets/roboto_v1.2/Roboto-Thin.ttf -------------------------------------------------------------------------------- /opensrp-core/default.properties: -------------------------------------------------------------------------------- 1 | # Project target. 2 | target=android-16 -------------------------------------------------------------------------------- /opensrp-core/gen-external-apklibs/com.github.johnkil.print_print_1.2.3/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /opensrp-core/gen-external-apklibs/com.github.johnkil.print_print_1.2.3/R.txt: -------------------------------------------------------------------------------- 1 | int attr iconColor 0x7f010001 2 | int attr iconFont 0x7f010003 3 | int attr iconSize 0x7f010002 4 | int attr iconText 0x7f010000 5 | int[] styleable PrintView { 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003 } 6 | int styleable PrintView_iconColor 1 7 | int styleable PrintView_iconFont 3 8 | int styleable PrintView_iconSize 2 9 | int styleable PrintView_iconText 0 10 | -------------------------------------------------------------------------------- /opensrp-core/gen-external-apklibs/com.github.johnkil.print_print_1.2.3/annotations.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/gen-external-apklibs/com.github.johnkil.print_print_1.2.3/annotations.zip -------------------------------------------------------------------------------- /opensrp-core/gen-external-apklibs/com.github.johnkil.print_print_1.2.3/classes.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/gen-external-apklibs/com.github.johnkil.print_print_1.2.3/classes.jar -------------------------------------------------------------------------------- /opensrp-core/gen-external-apklibs/com.github.johnkil.print_print_1.2.3/res/values/values.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /opensrp-core/gradle.properties: -------------------------------------------------------------------------------- 1 | POM_SETTING_NAME=OpenSRP Client Core 2 | POM_SETTING_ARTIFACT_ID=opensrp-client-core 3 | POM_SETTING_PACKAGING=aar 4 | 5 | android.useAndroidX=true 6 | android.enableJetifier=true 7 | android.jetifier.ignorelist=shadows -------------------------------------------------------------------------------- /opensrp-core/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /opensrp-core/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Sep 19 17:59:04 EAT 2018 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip 7 | -------------------------------------------------------------------------------- /opensrp-core/libs/drishti-interface-0.1-SNAPSHOT.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/libs/drishti-interface-0.1-SNAPSHOT.jar -------------------------------------------------------------------------------- /opensrp-core/libs/opensrp-api-0.1-SNAPSHOT.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/libs/opensrp-api-0.1-SNAPSHOT.jar -------------------------------------------------------------------------------- /opensrp-core/profile-pig.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/profile-pig.png -------------------------------------------------------------------------------- /opensrp-core/res/color/fp_modal_text_color.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /opensrp-core/res/drawable-hdpi/baseline_keyboard_arrow_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-hdpi/baseline_keyboard_arrow_right.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-hdpi/ic_action_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-hdpi/ic_action_menu.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-hdpi/ic_action_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-hdpi/ic_action_search.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-hdpi/ic_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-hdpi/ic_checked.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-hdpi/ic_done.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-hdpi/ic_done.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-hdpi/ic_dristhi_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-hdpi/ic_dristhi_logo.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-hdpi/ic_due_filter_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-hdpi/ic_due_filter_off.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-hdpi/ic_due_filter_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-hdpi/ic_due_filter_on.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-hdpi/ic_icon_filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-hdpi/ic_icon_filter.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-hdpi/ic_icon_location.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-hdpi/ic_icon_location.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-hdpi/ic_icon_logout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-hdpi/ic_icon_logout.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-hdpi/ic_icon_nav_clients.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-hdpi/ic_icon_nav_clients.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-hdpi/ic_icon_nav_new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-hdpi/ic_icon_nav_new.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-hdpi/ic_icon_open_book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-hdpi/ic_icon_open_book.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-hdpi/ic_icon_qr_code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-hdpi/ic_icon_qr_code.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-hdpi/ic_icon_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-hdpi/ic_icon_search.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-hdpi/ic_icon_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-hdpi/ic_icon_settings.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-hdpi/ic_icon_synchronize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-hdpi/ic_icon_synchronize.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-hdpi/ic_opensrp_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-hdpi/ic_opensrp_logo.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-hdpi/logo_opensrp_200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-hdpi/logo_opensrp_200.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-hdpi/logo_opensrp_220.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-hdpi/logo_opensrp_220.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-hdpi/logo_opensrp_256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-hdpi/logo_opensrp_256.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-hdpi/logo_opensrp_512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-hdpi/logo_opensrp_512.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-hdpi/opensrp_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-hdpi/opensrp_logo.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-ldpi/ic_dristhi_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-ldpi/ic_dristhi_logo.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-ldpi/opensrp_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-ldpi/opensrp_logo.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/badge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/badge.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/baseline_keyboard_arrow_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/baseline_keyboard_arrow_right.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/bg_texture.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/bg_texture.jpg -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/child_boy_infant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/child_boy_infant.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/child_girl_infant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/child_girl_infant.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/flag_bpl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/flag_bpl.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/flag_hp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/flag_hp.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/flag_hr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/flag_hr.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/flag_hrp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/flag_hrp.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/flag_sc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/flag_sc.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/flag_st.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/flag_st.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/homestacks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/homestacks.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_action_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_action_menu.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_action_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_action_search.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_checked.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_chevron_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_chevron_right.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_cross.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_cross.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_done.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_done.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_down.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_dristhi_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_dristhi_logo.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_dropper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_dropper.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_due_filter_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_due_filter_off.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_due_filter_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_due_filter_on.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_icon_filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_icon_filter.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_icon_location.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_icon_location.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_icon_logout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_icon_logout.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_icon_nav_clients.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_icon_nav_clients.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_icon_nav_new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_icon_nav_new.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_icon_open_book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_icon_open_book.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_icon_qr_code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_icon_qr_code.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_icon_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_icon_search.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_icon_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_icon_settings.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_icon_synchronize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_icon_synchronize.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_menu_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_menu_edit.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_needle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_needle.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_no.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_opensrp_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_opensrp_logo.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_pencil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_pencil.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_plus.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_remove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_remove.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_reporting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_reporting.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_sort.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_sort.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_tv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_tv.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_village_filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_village_filter.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_who_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_who_logo.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_yes_large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_yes_large.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/ic_yes_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/ic_yes_small.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/icon_fp_video.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/icon_fp_video.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/icon_plus_add_fp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/icon_plus_add_fp.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/icon_referral_warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/icon_referral_warning.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/icon_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/icon_search.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/login_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/login_logo.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/logo.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/register_anc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/register_anc.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/register_child.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/register_child.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/register_ec.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/register_ec.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/register_fp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/register_fp.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/register_pnc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/register_pnc.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-mdpi/woman_placeholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-mdpi/woman_placeholder.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xhdpi/baseline_keyboard_arrow_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xhdpi/baseline_keyboard_arrow_right.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xhdpi/ic_action_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xhdpi/ic_action_menu.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xhdpi/ic_action_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xhdpi/ic_action_search.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xhdpi/ic_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xhdpi/ic_checked.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xhdpi/ic_done.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xhdpi/ic_done.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xhdpi/ic_due_filter_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xhdpi/ic_due_filter_off.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xhdpi/ic_due_filter_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xhdpi/ic_due_filter_on.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xhdpi/ic_icon_filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xhdpi/ic_icon_filter.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xhdpi/ic_icon_location.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xhdpi/ic_icon_location.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xhdpi/ic_icon_logout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xhdpi/ic_icon_logout.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xhdpi/ic_icon_nav_clients.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xhdpi/ic_icon_nav_clients.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xhdpi/ic_icon_nav_new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xhdpi/ic_icon_nav_new.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xhdpi/ic_icon_open_book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xhdpi/ic_icon_open_book.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xhdpi/ic_icon_qr_code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xhdpi/ic_icon_qr_code.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xhdpi/ic_icon_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xhdpi/ic_icon_search.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xhdpi/ic_icon_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xhdpi/ic_icon_settings.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xhdpi/ic_icon_synchronize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xhdpi/ic_icon_synchronize.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xhdpi/ic_opensrp_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xhdpi/ic_opensrp_logo.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xhdpi/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xhdpi/refresh.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xhdpi/transparent_white_button.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxhdpi/baseline_keyboard_arrow_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxhdpi/baseline_keyboard_arrow_right.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxhdpi/ic_action_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxhdpi/ic_action_menu.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxhdpi/ic_action_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxhdpi/ic_action_search.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxhdpi/ic_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxhdpi/ic_checked.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxhdpi/ic_done.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxhdpi/ic_done.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxhdpi/ic_due_filter_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxhdpi/ic_due_filter_off.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxhdpi/ic_due_filter_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxhdpi/ic_due_filter_on.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxhdpi/ic_icon_filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxhdpi/ic_icon_filter.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxhdpi/ic_icon_location.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxhdpi/ic_icon_location.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxhdpi/ic_icon_logout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxhdpi/ic_icon_logout.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxhdpi/ic_icon_nav_clients.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxhdpi/ic_icon_nav_clients.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxhdpi/ic_icon_nav_new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxhdpi/ic_icon_nav_new.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxhdpi/ic_icon_open_book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxhdpi/ic_icon_open_book.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxhdpi/ic_icon_qr_code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxhdpi/ic_icon_qr_code.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxhdpi/ic_icon_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxhdpi/ic_icon_search.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxhdpi/ic_icon_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxhdpi/ic_icon_settings.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxhdpi/ic_icon_synchronize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxhdpi/ic_icon_synchronize.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxhdpi/ic_opensrp_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxhdpi/ic_opensrp_logo.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxxhdpi/baseline_keyboard_arrow_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxxhdpi/baseline_keyboard_arrow_right.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxxhdpi/ic_action_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxxhdpi/ic_action_menu.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxxhdpi/ic_action_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxxhdpi/ic_action_search.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxxhdpi/ic_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxxhdpi/ic_checked.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxxhdpi/ic_done.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxxhdpi/ic_done.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxxhdpi/ic_due_filter_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxxhdpi/ic_due_filter_off.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxxhdpi/ic_due_filter_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxxhdpi/ic_due_filter_on.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxxhdpi/ic_icon_filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxxhdpi/ic_icon_filter.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxxhdpi/ic_icon_location.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxxhdpi/ic_icon_location.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxxhdpi/ic_icon_logout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxxhdpi/ic_icon_logout.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxxhdpi/ic_icon_nav_clients.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxxhdpi/ic_icon_nav_clients.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxxhdpi/ic_icon_nav_new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxxhdpi/ic_icon_nav_new.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxxhdpi/ic_icon_open_book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxxhdpi/ic_icon_open_book.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxxhdpi/ic_icon_qr_code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxxhdpi/ic_icon_qr_code.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxxhdpi/ic_icon_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxxhdpi/ic_icon_search.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxxhdpi/ic_icon_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxxhdpi/ic_icon_settings.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxxhdpi/ic_icon_synchronize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxxhdpi/ic_icon_synchronize.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable-xxxhdpi/ic_opensrp_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable-xxxhdpi/ic_opensrp_logo.png -------------------------------------------------------------------------------- /opensrp-core/res/drawable/bottom_bar_initials_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /opensrp-core/res/drawable/bottom_navigation_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /opensrp-core/res/drawable/dialog_shape.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 9 | -------------------------------------------------------------------------------- /opensrp-core/res/drawable/edit_button_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /opensrp-core/res/drawable/fp_modal_button_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /opensrp-core/res/drawable/grey_edit_text_shape.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 10 | -------------------------------------------------------------------------------- /opensrp-core/res/drawable/listview_background_rounded.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 11 | -------------------------------------------------------------------------------- /opensrp-core/res/drawable/login_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /opensrp-core/res/drawable/me_page_initials_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /opensrp-core/res/drawable/round_white_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 8 | -------------------------------------------------------------------------------- /opensrp-core/res/drawable/rounded_edit_text_normal.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 11 | -------------------------------------------------------------------------------- /opensrp-core/res/drawable/separator.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/drawable/separator.gif -------------------------------------------------------------------------------- /opensrp-core/res/drawable/snackbar_view_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 7 | 8 | 10 | -------------------------------------------------------------------------------- /opensrp-core/res/drawable/transparent_blue_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /opensrp-core/res/drawable/transparent_gray_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /opensrp-core/res/drawable/white_checkbox_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 9 | -------------------------------------------------------------------------------- /opensrp-core/res/drawable/white_checkbox_bg_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /opensrp-core/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /opensrp-core/res/layout/activity_scan_barcode.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /opensrp-core/res/layout/form_layout.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 12 | 13 | -------------------------------------------------------------------------------- /opensrp-core/res/layout/html.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 11 | 12 | -------------------------------------------------------------------------------- /opensrp-core/res/layout/micro_form_html.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 11 | 12 | -------------------------------------------------------------------------------- /opensrp-core/res/layout/progress.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /opensrp-core/res/layout/progress_dialog.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /opensrp-core/res/layout/smart_register_dialog_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | 14 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /opensrp-core/res/layout/smart_register_location_select_dialog_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | 14 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /opensrp-core/res/layout/snackbar_processing_in_progress.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /opensrp-core/res/menu/main_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 9 | 15 | 19 | 20 | -------------------------------------------------------------------------------- /opensrp-core/res/raw/opensrp_truststore.bks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/res/raw/opensrp_truststore.bks -------------------------------------------------------------------------------- /opensrp-core/res/values/attrs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /opensrp-core/res/values/constants.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | opensrp_devtest 6 | http://46.101.51.199 7 | 5984 8 | opensrp_clients_events 9 | 10 | 11 | -------------------------------------------------------------------------------- /opensrp-core/res/values/ids.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /opensrp-core/res/xml/authenticator.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /opensrp-core/res/xml/preferences.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /opensrp-core/src/androidTest/res/drawable-hdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/src/androidTest/res/drawable-hdpi/icon.png -------------------------------------------------------------------------------- /opensrp-core/src/androidTest/res/drawable-ldpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/src/androidTest/res/drawable-ldpi/icon.png -------------------------------------------------------------------------------- /opensrp-core/src/androidTest/res/drawable-mdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/src/androidTest/res/drawable-mdpi/icon.png -------------------------------------------------------------------------------- /opensrp-core/src/androidTest/res/layout/main.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 7 | 8 | -------------------------------------------------------------------------------- /opensrp-core/src/androidTest/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Hello drishti-app-it! 4 | drishti-it - tests 5 | 6 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/atv/holder/SimpleViewHolder.java: -------------------------------------------------------------------------------- 1 | package atv.holder; 2 | 3 | import android.content.Context; 4 | import android.view.View; 5 | import android.widget.TextView; 6 | 7 | import atv.model.TreeNode; 8 | 9 | /** 10 | * Created by Bogdan Melnychuk on 2/11/15. 11 | */ 12 | public class SimpleViewHolder extends TreeNode.BaseNodeViewHolder { 13 | 14 | public SimpleViewHolder(Context context) { 15 | super(context); 16 | } 17 | 18 | @Override 19 | public View createNodeView(TreeNode node, Object value) { 20 | final TextView tv = new TextView(context); 21 | tv.setText(String.valueOf(value)); 22 | return tv; 23 | } 24 | 25 | @Override 26 | public void toggle(boolean active) { 27 | 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/NativeFormFieldProcessor.java: -------------------------------------------------------------------------------- 1 | package org.smartregister; 2 | 3 | import org.json.JSONObject; 4 | import org.smartregister.clientandeventmodel.Event; 5 | 6 | /*** 7 | * This interface provides a common entry point for processing obs values during client prcessing. 8 | * 9 | * Native forms custom fields can implement and use this interface to overide default behaviour 10 | * when saving the event 11 | */ 12 | public interface NativeFormFieldProcessor { 13 | 14 | /*** 15 | * 16 | * @param event The event object being composed during client processing 17 | * @param jsonObject Native forms field object to be processed 18 | * 19 | */ 20 | void processJsonField(Event event, JSONObject jsonObject); 21 | } 22 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/SyncFilter.java: -------------------------------------------------------------------------------- 1 | package org.smartregister; 2 | 3 | public enum SyncFilter { 4 | PROVIDER("providerId"), LOCATION("locationId"), LOCATION_ID("locationId"), TEAM("team"), TEAM_ID("teamId"); 5 | 6 | private String value; 7 | 8 | SyncFilter(String value) { 9 | this.value = value; 10 | } 11 | 12 | public static SyncFilter from(String filter) { 13 | return valueOf(filter); 14 | } 15 | 16 | public String value() { 17 | return this.value; 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/account/AccountService.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.account; 2 | 3 | import android.app.Service; 4 | import android.content.Intent; 5 | import android.os.IBinder; 6 | 7 | /** 8 | * Created by ndegwamartin on 2020-04-27. 9 | */ 10 | public class AccountService extends Service { 11 | 12 | private AccountAuthenticator authenticator; 13 | 14 | @Override 15 | public void onCreate() { 16 | authenticator = new AccountAuthenticator(this); 17 | } 18 | 19 | @Override 20 | public IBinder onBind(Intent intent) { 21 | return authenticator.getIBinder(); 22 | 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/clientandeventmodel/AddressField.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.clientandeventmodel; 2 | 3 | public enum AddressField { 4 | HOUSE_NUMBER, STREET, REGION, LOCALITY, SECTOR, AREA, MUNICIPALITY, VILLAGE, TOWN, 5 | SUB_DISTRICT, COUNTY, DISTRICT, CITY, GEOPOINT 6 | } 7 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/clientandeventmodel/Gender.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.clientandeventmodel; 2 | 3 | /** 4 | * Gender or Sex 5 | */ 6 | public enum Gender { 7 | MALE, FEMALE, /** 8 | * Male-to-Female 9 | */ 10 | MTF, /** 11 | * Female-to-Male 12 | */ 13 | FTM, /** 14 | * Unknown or Unspecified Gender 15 | */ 16 | UNKNOWN 17 | } 18 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/clientandeventmodel/MotechBaseDataObject.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.clientandeventmodel; 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty; 4 | 5 | public abstract class MotechBaseDataObject { 6 | 7 | private static final long serialVersionUID = 1L; 8 | @JsonProperty 9 | protected String type; 10 | 11 | protected MotechBaseDataObject() { 12 | this.type = this.getClass().getSimpleName(); 13 | } 14 | 15 | protected MotechBaseDataObject(String type) { 16 | this.type = type; 17 | } 18 | 19 | public void setType(String type) { 20 | this.type = type; 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/clientandeventmodel/populateform/SAXTerminationException.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.clientandeventmodel.populateform; 2 | 3 | 4 | import org.xml.sax.SAXException; 5 | 6 | /** 7 | * Created by samuelgithengi on 1/23/18. 8 | */ 9 | 10 | public class SAXTerminationException extends SAXException { 11 | public SAXTerminationException(String s) { 12 | super(s); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/commonregistry/CommonPersonObjectClients.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.commonregistry; 2 | 3 | import org.smartregister.view.contract.SmartRegisterClients; 4 | 5 | /** 6 | * Created by Raihan Ahmed on 2/12/15. 7 | */ 8 | public class CommonPersonObjectClients extends SmartRegisterClients { 9 | } 10 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/commonregistry/ControllerFilterMap.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.commonregistry; 2 | 3 | /** 4 | * Created by raihan on 2/8/16. 5 | */ 6 | public abstract class ControllerFilterMap { 7 | 8 | public abstract boolean filtermapLogic(CommonPersonObject commonPersonObject); 9 | } -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/compression/ICompression.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.compression; 2 | 3 | /** 4 | * Created by ndegwamartin on 28/04/2019. 5 | */ 6 | public interface ICompression { 7 | 8 | byte[] compress(String rawString); 9 | 10 | String decompress(byte[] compressedBytes); 11 | 12 | void compress(String inputFilePath, String compressedOutputFilepath); 13 | 14 | void decompress(String compressedInputFilePath, String decompressedOutputFilePath); 15 | } 16 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/cryptography/ICryptography.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.cryptography; 2 | 3 | import java.security.Key; 4 | 5 | /** 6 | * Created by ndegwamartin on 26/04/2019. 7 | */ 8 | public interface ICryptography { 9 | 10 | byte[] encrypt(byte[] input, String keyAlias); 11 | 12 | byte[] decrypt(byte[] encrypted, String keyAlias); 13 | 14 | Key getKey(String keyAlias); 15 | 16 | void generateKey(String keyAlias); 17 | } 18 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/cursoradapter/CursorFilterOption.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.cursoradapter; 2 | 3 | import org.smartregister.view.dialog.FilterOption; 4 | 5 | public interface CursorFilterOption extends FilterOption { 6 | String filter(); 7 | } 8 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/cursoradapter/CursorSortOption.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.cursoradapter; 2 | 3 | import org.smartregister.view.dialog.SortOption; 4 | 5 | public interface CursorSortOption extends SortOption { 6 | String sort(); 7 | } 8 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/domain/AlertStatus.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.domain; 2 | 3 | /** 4 | * Created by keyman on 07/04/2017. 5 | */ 6 | public enum AlertStatus { 7 | upcoming("upcoming"), normal("normal"), urgent("urgent"), inProcess("inProcess"), complete( 8 | "complete"), expired("expired"); 9 | 10 | private String value; 11 | 12 | AlertStatus(String value) { 13 | this.value = value; 14 | } 15 | 16 | public static AlertStatus from(String alertStatus) { 17 | return valueOf(alertStatus); 18 | } 19 | 20 | public String value() { 21 | return this.value; 22 | } 23 | } 24 | 25 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/domain/ClientRelationship.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.domain; 2 | 3 | 4 | import androidx.annotation.NonNull; 5 | 6 | import lombok.Builder; 7 | import lombok.Getter; 8 | import lombok.Setter; 9 | 10 | /** 11 | * Created by samuelgithengi on 7/9/20. 12 | */ 13 | @Getter 14 | @Setter 15 | @Builder 16 | public class ClientRelationship { 17 | 18 | @NonNull 19 | private String baseEntityId; 20 | 21 | @NonNull 22 | private String relationship; 23 | 24 | @NonNull 25 | private String relationalId; 26 | 27 | } 28 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/domain/ColumnDetails.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.domain; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | @Data 9 | @NoArgsConstructor 10 | @AllArgsConstructor 11 | @Builder(toBuilder = true) 12 | public class ColumnDetails { 13 | private String name; 14 | private String dataType; 15 | private String length; 16 | private String defaultValue; 17 | } 18 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/domain/Displayable.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.domain; 2 | 3 | public interface Displayable { 4 | String displayValue(); 5 | } 6 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/domain/DownloadStatus.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.domain; 2 | 3 | /** 4 | * Created by Dimas Ciputra on 3/23/15. 5 | */ 6 | public enum DownloadStatus implements Displayable { 7 | downloaded("Download successful"), nothingDownloaded("Nothing downloaded."), failedDownloaded( 8 | "Download failed."); 9 | 10 | private String displayValue; 11 | 12 | DownloadStatus(String displayValue) { 13 | this.displayValue = displayValue; 14 | } 15 | 16 | @Override 17 | public String displayValue() { 18 | return displayValue; 19 | } 20 | } -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/domain/DuplicateZeirIdStatus.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.domain; 2 | 3 | public enum DuplicateZeirIdStatus { 4 | CLEANED("CLEANED"), PENDING("PENDING"); 5 | private String value; 6 | 7 | DuplicateZeirIdStatus(String value) { 8 | this.value = value; 9 | } 10 | 11 | public String value() { 12 | return value; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/domain/Location.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.domain; 2 | 3 | /** 4 | * Created by samuelgithengi on 11/22/18. 5 | */ 6 | public class Location extends PhysicalLocation { 7 | 8 | private String syncStatus; 9 | 10 | private Long rowid; 11 | 12 | public String getSyncStatus() { 13 | return syncStatus; 14 | } 15 | 16 | public void setSyncStatus(String syncStatus) { 17 | this.syncStatus = syncStatus; 18 | } 19 | 20 | public Long getRowid() { 21 | return rowid; 22 | } 23 | 24 | public void setRowid(Long rowid) { 25 | this.rowid = rowid; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/domain/ResponseErrorStatus.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.domain; 2 | 3 | public enum ResponseErrorStatus { 4 | malformed_url("Malformed Url"), 5 | not_found("Url Not Found"), 6 | timeout("Connection Timeout"); 7 | 8 | private String displayValue; 9 | ResponseErrorStatus(String s) { 10 | displayValue = s; 11 | } 12 | 13 | public String getDisplayValue() { 14 | return displayValue; 15 | } 16 | 17 | public void setDisplayValue(String displayValue) { 18 | this.displayValue = displayValue; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/domain/ResponseStatus.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.domain; 2 | 3 | public enum ResponseStatus { 4 | failure("failure"), 5 | success("success"); 6 | 7 | private String displayValue; 8 | 9 | ResponseStatus(String displayValue) { 10 | this.displayValue = displayValue; 11 | } 12 | 13 | public String displayValue() { 14 | return displayValue; 15 | } 16 | 17 | public void setDisplayValue(String displayValue) { 18 | this.displayValue = displayValue; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/domain/SyncEntity.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.domain; 2 | 3 | /** 4 | * Created by Richard Kareko on 6/4/20. 5 | */ 6 | public enum SyncEntity { 7 | TASKS("Tasks"), EVENTS("Events"), LOCATIONS("Locations"), 8 | STRUCTURES("structures"), PLANS("Plans"); 9 | private String value; 10 | 11 | SyncEntity(String value) { 12 | this.value = value; 13 | } 14 | 15 | public String value() { 16 | return value; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/domain/SyncStatus.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.domain; 2 | 3 | public enum SyncStatus { 4 | SYNCED("SYNCED"), PENDING("PENDING"); 5 | private String value; 6 | 7 | SyncStatus(String value) { 8 | this.value = value; 9 | } 10 | 11 | public String value() { 12 | return value; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/domain/TimeStatus.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.domain; 2 | 3 | import org.smartregister.R; 4 | 5 | /** 6 | * Created by Jason Rogena - jrogena@ona.io on 18/05/2017. 7 | */ 8 | 9 | public enum TimeStatus { 10 | OK(R.string.device_time_ok), TIMEZONE_MISMATCH(R.string.timezone_mismatch), TIME_MISMATCH( 11 | R.string.time_mismatch), ERROR(R.string.time_error); 12 | 13 | private final int message; 14 | 15 | TimeStatus(int message) { 16 | this.message = message; 17 | } 18 | 19 | public int getMessage() { 20 | return this.message; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/domain/db/Column.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.domain.db; 2 | 3 | public interface Column { 4 | 5 | ColumnAttribute column(); 6 | 7 | String name(); 8 | } 9 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/domain/db/ColumnAttribute.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.domain.db; 2 | 3 | public class ColumnAttribute { 4 | public enum Type { 5 | text, bool, date, list, map, longnum 6 | } 7 | 8 | public ColumnAttribute(Type type, boolean pk, boolean index) { 9 | this.type = type; 10 | this.pk = pk; 11 | this.index = index; 12 | } 13 | 14 | private Type type; 15 | private boolean pk; 16 | private boolean index; 17 | 18 | public boolean index() { 19 | return index; 20 | } 21 | 22 | public boolean pk() { 23 | return pk; 24 | } 25 | 26 | public Type type() { 27 | return type; 28 | } 29 | } -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/domain/db/FilterType.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.domain.db; 2 | 3 | public enum FilterType { 4 | AND, OR 5 | } 6 | 7 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/domain/form/FieldOverrides.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.domain.form; 2 | 3 | import com.google.gson.Gson; 4 | 5 | public class FieldOverrides { 6 | public String fieldOverrides; 7 | 8 | public FieldOverrides(String fieldOverrides) { 9 | this.fieldOverrides = fieldOverrides; 10 | } 11 | 12 | public String getJSONString() { 13 | return new Gson().toJson(this); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/domain/form/FormLocation.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.domain.form; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * Created by keyman on 3/1/2018. 7 | */ 8 | 9 | public class FormLocation { 10 | public String name; 11 | public String key; 12 | public String level; 13 | public List nodes; 14 | } 15 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/domain/jsonmapping/ClassificationRule.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.domain.jsonmapping; 2 | 3 | /** 4 | * Created by keyman on 2/21/2018. 5 | */ 6 | 7 | public class ClassificationRule { 8 | public String comment; 9 | public Rule rule; 10 | } 11 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/domain/jsonmapping/ClientClassification.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.domain.jsonmapping; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * Created by keyman on 2/21/2018. 7 | */ 8 | 9 | public class ClientClassification { 10 | public List case_classification_rules; 11 | } 12 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/domain/jsonmapping/ClientField.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.domain.jsonmapping; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * Created by keyman on 2/21/2018. 7 | */ 8 | 9 | public class ClientField { 10 | public List bindobjects; 11 | } 12 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/domain/jsonmapping/Column.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.domain.jsonmapping; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | /** 6 | * Created by keyman on 2/21/2018. 7 | */ 8 | 9 | public class Column { 10 | public String column_name; 11 | public String type; 12 | @SerializedName("data_type") 13 | public String dataType; 14 | @SerializedName("source_format") 15 | public String sourceFormat; 16 | @SerializedName("save_format") 17 | public String saveFormat; 18 | public JsonMapping json_mapping; 19 | } 20 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/domain/jsonmapping/ColumnType.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.domain.jsonmapping; 2 | 3 | public interface ColumnType { 4 | String Date = "date"; 5 | String String = "string"; 6 | } 7 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/domain/jsonmapping/Field.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.domain.jsonmapping; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * Created by keyman on 2/21/2018. 7 | */ 8 | 9 | public class Field { 10 | public String field; 11 | public String concept; 12 | public String field_value; 13 | public Listvalues; 14 | public List creates_case; 15 | public List closes_case; 16 | } 17 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/domain/jsonmapping/JsonMapping.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.domain.jsonmapping; 2 | 3 | /** 4 | * Created by keyman on 2/21/2018. 5 | */ 6 | 7 | public class JsonMapping { 8 | public String field; 9 | public String concept; 10 | public String formSubmissionField; 11 | public String value_field; 12 | public String event_type; 13 | } 14 | 15 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/domain/jsonmapping/LoginResponseData.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.domain.jsonmapping; 2 | 3 | import org.smartregister.domain.jsonmapping.util.LocationTree; 4 | import org.smartregister.domain.jsonmapping.util.TeamMember; 5 | 6 | import java.util.List; 7 | import java.util.Set; 8 | 9 | /** 10 | * Created by keyman on 2/28/2018. 11 | */ 12 | 13 | public class LoginResponseData { 14 | public User user; 15 | public Time time; 16 | public LocationTree locations; 17 | public TeamMember team; 18 | public List jurisdictions; 19 | public Set jurisdictionIds; 20 | } 21 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/domain/jsonmapping/Rule.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.domain.jsonmapping; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * Created by keyman on 2/21/2018. 7 | */ 8 | 9 | public class Rule { 10 | public String type; 11 | public List fields; 12 | } 13 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/domain/jsonmapping/Table.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.domain.jsonmapping; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * Created by keyman on 2/21/2018. 7 | */ 8 | 9 | public class Table { 10 | public String name; 11 | public List columns; 12 | } 13 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/domain/jsonmapping/util/Team.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.domain.jsonmapping.util; 2 | 3 | import java.util.List; 4 | 5 | public class Team { 6 | 7 | public String teamName; 8 | 9 | public String display; 10 | 11 | public TeamLocation location; 12 | 13 | public String teamIdentifier; 14 | 15 | public String uuid; 16 | 17 | public List organizationIds; 18 | } -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/domain/jsonmapping/util/TeamLocation.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.domain.jsonmapping.util; 2 | 3 | public class TeamLocation { 4 | 5 | public String uuid; 6 | 7 | public String name; 8 | 9 | public String display; 10 | } 11 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/domain/jsonmapping/util/TeamMember.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | package org.smartregister.domain.jsonmapping.util; 5 | 6 | import java.util.HashSet; 7 | import java.util.Set; 8 | 9 | public class TeamMember { 10 | 11 | public String identifier; 12 | 13 | public String teamMemberId; 14 | 15 | public Set locations = new HashSet<>(); 16 | 17 | public Team team; 18 | 19 | public String uuid; 20 | 21 | } 22 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/domain/mapper/TTMapper.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.domain.mapper; 2 | 3 | import static org.smartregister.domain.ServiceProvided.TT_1_SERVICE_PROVIDED_NAME; 4 | import static org.smartregister.domain.ServiceProvided.TT_2_SERVICE_PROVIDED_NAME; 5 | import static org.smartregister.domain.ServiceProvided.TT_BOOSTER_SERVICE_PROVIDED_NAME; 6 | 7 | public enum TTMapper { 8 | ttbooster(TT_BOOSTER_SERVICE_PROVIDED_NAME), tt1(TT_1_SERVICE_PROVIDED_NAME), tt2( 9 | TT_2_SERVICE_PROVIDED_NAME); 10 | 11 | private String value; 12 | 13 | TTMapper(String value) { 14 | this.value = value; 15 | } 16 | 17 | public String value() { 18 | return value; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/domain/tag/FormTag.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.domain.tag; 2 | 3 | 4 | import lombok.AllArgsConstructor; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | import lombok.NoArgsConstructor; 8 | 9 | /** 10 | * Created by keyman on 05/07/2018. 11 | */ 12 | 13 | @Data 14 | @NoArgsConstructor 15 | @AllArgsConstructor 16 | @Builder(toBuilder = true) 17 | public class FormTag { 18 | 19 | public String providerId; 20 | public String locationId; 21 | public String childLocationId; 22 | public String team; 23 | public String teamId; 24 | public Integer appVersion; 25 | public Integer databaseVersion; 26 | public String formSubmissionId; 27 | public String appVersionName; 28 | 29 | } 30 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/dto/ClientFormDTO.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.dto; 2 | 3 | public class ClientFormDTO { 4 | private int id; 5 | private String json; 6 | 7 | public int getId() { 8 | return id; 9 | } 10 | 11 | public void setId(int id) { 12 | this.id = id; 13 | } 14 | 15 | public String getJson() { 16 | return json; 17 | } 18 | 19 | public void setJson(String json) { 20 | this.json = json; 21 | } 22 | } -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/dto/UserAssignmentDTO.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.dto; 2 | 3 | import java.io.Serializable; 4 | import java.util.Set; 5 | 6 | import lombok.AllArgsConstructor; 7 | import lombok.Builder; 8 | import lombok.Data; 9 | import lombok.NoArgsConstructor; 10 | 11 | /** 12 | * Created by samuelgithengi on 9/16/20. 13 | */ 14 | @Data 15 | @NoArgsConstructor 16 | @AllArgsConstructor 17 | @Builder(toBuilder = true) 18 | public class UserAssignmentDTO implements Serializable { 19 | 20 | private Set organizationIds; 21 | 22 | private Set jurisdictions; 23 | 24 | private Set plans; 25 | 26 | private boolean isRemoved; 27 | } 28 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/event/CapturedPhotoInformation.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.event; 2 | 3 | public class CapturedPhotoInformation { 4 | private final String entityId; 5 | private final String photoPath; 6 | 7 | public CapturedPhotoInformation(String entityId, String photoPath) { 8 | this.entityId = entityId; 9 | this.photoPath = photoPath; 10 | } 11 | 12 | public String entityId() { 13 | return entityId; 14 | } 15 | 16 | public String photoPath() { 17 | return photoPath; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/event/Listener.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.event; 2 | 3 | public interface Listener { 4 | void onEvent(T data); 5 | } 6 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/exception/AppResetException.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.exception; 2 | 3 | /** 4 | * Created by Ephraim Kigamba - nek.eam@gmail.com on 09-04-2020. 5 | */ 6 | public class AppResetException extends Exception { 7 | 8 | public AppResetException() { 9 | } 10 | 11 | public AppResetException(String message) { 12 | super(message); 13 | } 14 | 15 | public AppResetException(String message, Throwable cause) { 16 | super(message, cause); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/exception/DatabaseMigrationException.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.exception; 2 | 3 | /** 4 | * Created by Ephraim Kigamba - ekigamba@ona.io on 14/05/2019 5 | */ 6 | 7 | public class DatabaseMigrationException extends RuntimeException { 8 | 9 | public DatabaseMigrationException(String message) { 10 | super(message); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/exception/JsonFormMissingStepCountException.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.exception; 2 | 3 | /** 4 | * Created by ndegwamartin on 2019-11-27. 5 | *

6 | * This class is Deprecated and was only reinstalled to prevent build breaks for anyone upgrading to the latter versions of the core lib 7 | */ 8 | public class JsonFormMissingStepCountException extends Exception { 9 | 10 | public JsonFormMissingStepCountException(String errorMessage) { 11 | super(errorMessage); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/exception/NoHttpResponseException.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.exception; 2 | 3 | import java.io.IOException; 4 | 5 | /** 6 | * Created by samuelgithengi on 5/20/19. 7 | */ 8 | public class NoHttpResponseException extends IOException { 9 | 10 | public NoHttpResponseException(String message) { 11 | super(message); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/exception/PreResetAppOperationException.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.exception; 2 | 3 | /** 4 | * Created by Ephraim Kigamba - nek.eam@gmail.com on 09-04-2020. 5 | */ 6 | public class PreResetAppOperationException extends Exception { 7 | 8 | public PreResetAppOperationException() { 9 | super(); 10 | } 11 | 12 | public PreResetAppOperationException(String message) { 13 | super(message); 14 | } 15 | 16 | public PreResetAppOperationException(String message, Throwable cause) { 17 | super(message, cause); 18 | } 19 | 20 | public PreResetAppOperationException(Throwable cause) { 21 | super(cause); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/job/CampaignServiceJob.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.job; 2 | 3 | import android.content.Intent; 4 | 5 | import androidx.annotation.NonNull; 6 | 7 | import org.smartregister.AllConstants; 8 | import org.smartregister.sync.intent.CampaignIntentService; 9 | 10 | public class CampaignServiceJob extends BaseJob { 11 | 12 | public static final String TAG = "CampaignServiceJob"; 13 | 14 | @NonNull 15 | @Override 16 | protected Result onRunJob(@NonNull Params params) { 17 | Intent intent = new Intent(getApplicationContext(), CampaignIntentService.class); 18 | startIntentService(intent); 19 | return params != null && params.getExtras().getBoolean(AllConstants.INTENT_KEY.TO_RESCHEDULE, false) ? Result.RESCHEDULE : Result.SUCCESS; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/job/LocationStructureServiceJob.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.job; 2 | 3 | import android.content.Intent; 4 | import androidx.annotation.NonNull; 5 | 6 | import org.smartregister.AllConstants; 7 | import org.smartregister.sync.intent.LocationIntentService; 8 | 9 | public class LocationStructureServiceJob extends BaseJob { 10 | 11 | public static final String TAG = "LocationStructureServiceJob"; 12 | 13 | @NonNull 14 | @Override 15 | protected Result onRunJob(@NonNull Params params) { 16 | Intent intent = new Intent(getApplicationContext(), LocationIntentService.class); 17 | startIntentService(intent); 18 | return params != null && params.getExtras().getBoolean(AllConstants.INTENT_KEY.TO_RESCHEDULE, false) ? Result.RESCHEDULE : Result.SUCCESS; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/listener/OnCompleteClearDataCallback.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.listener; 2 | 3 | /** 4 | * Created by Ephraim Kigamba - nek.eam@gmail.com on 29-04-2020. 5 | */ 6 | public interface OnCompleteClearDataCallback { 7 | 8 | void onComplete(); 9 | } 10 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/multitenant/ResetAppViewContract.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.multitenant; 2 | 3 | /** 4 | * Created by Ephraim Kigamba - nek.eam@gmail.com on 09-04-2020. 5 | */ 6 | public interface ResetAppViewContract { 7 | 8 | interface View { 9 | 10 | 11 | } 12 | 13 | interface Model { 14 | 15 | } 16 | 17 | interface Presenter { 18 | 19 | } 20 | 21 | 22 | } 23 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/multitenant/check/PreResetAppCheck.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.multitenant.check; 2 | 3 | import androidx.annotation.NonNull; 4 | import androidx.annotation.WorkerThread; 5 | 6 | import org.smartregister.exception.PreResetAppOperationException; 7 | import org.smartregister.view.activity.DrishtiApplication; 8 | 9 | /** 10 | * Created by Ephraim Kigamba - nek.eam@gmail.com on 09-04-2020. 11 | */ 12 | public interface PreResetAppCheck { 13 | 14 | @WorkerThread 15 | boolean isCheckOk(@NonNull DrishtiApplication drishtiApplication); 16 | 17 | @WorkerThread 18 | void performPreResetAppOperations(@NonNull DrishtiApplication drishtiApplication) throws PreResetAppOperationException; 19 | 20 | @NonNull 21 | String getUniqueName(); 22 | } 23 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/repository/AllAlerts.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.repository; 2 | 3 | public class AllAlerts { 4 | private AlertRepository repository; 5 | 6 | public AllAlerts(AlertRepository repository) { 7 | this.repository = repository; 8 | } 9 | 10 | public void changeAlertStatusToInProcess(String entityId, String alertName) { 11 | repository.changeAlertStatusToInProcess(entityId, alertName); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/repository/AllServicesProvided.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.repository; 2 | 3 | import org.smartregister.domain.ServiceProvided; 4 | 5 | import java.util.List; 6 | 7 | public class AllServicesProvided { 8 | private ServiceProvidedRepository repository; 9 | 10 | public AllServicesProvided(ServiceProvidedRepository repository) { 11 | this.repository = repository; 12 | } 13 | 14 | public List findByEntityIdAndServiceNames(String entityId, String... names) { 15 | return repository.findByEntityIdAndServiceNames(entityId, names); 16 | } 17 | 18 | public void add(ServiceProvided serviceProvided) { 19 | repository.add(serviceProvided); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/repository/AllTimelineEvents.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.repository; 2 | 3 | import org.smartregister.domain.TimelineEvent; 4 | 5 | import java.util.List; 6 | 7 | public class AllTimelineEvents { 8 | private TimelineEventRepository repository; 9 | 10 | public AllTimelineEvents(TimelineEventRepository repository) { 11 | this.repository = repository; 12 | } 13 | 14 | public List forCase(String caseId) { 15 | return repository.allFor(caseId); 16 | } 17 | 18 | public void add(TimelineEvent timelineEvent) { 19 | repository.add(timelineEvent); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/repository/DrishtiRepository.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.repository; 2 | 3 | import net.sqlcipher.database.SQLiteDatabase; 4 | 5 | import org.smartregister.view.activity.DrishtiApplication; 6 | 7 | public abstract class DrishtiRepository { 8 | private Repository masterRepository; 9 | 10 | public void updateMasterRepository(Repository repository) { 11 | this.masterRepository = repository; 12 | } 13 | 14 | protected Repository masterRepository(){ 15 | if(masterRepository == null){ 16 | masterRepository = DrishtiApplication.getInstance().getRepository(); 17 | } 18 | 19 | return masterRepository; 20 | } 21 | 22 | 23 | abstract protected void onCreate(SQLiteDatabase database); 24 | 25 | } 26 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/repository/helper/MappingHelper.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.repository.helper; 2 | 3 | import android.location.Location; 4 | import androidx.annotation.NonNull; 5 | 6 | import org.smartregister.domain.Geometry; 7 | 8 | /** 9 | * Created by samuelgithengi on 3/19/19. 10 | */ 11 | public interface MappingHelper { 12 | 13 | /** 14 | * Generates the center from the {@link Geometry} of MultiPolygon, Polygon and @MultiPoint 15 | * 16 | * @param featureGeometry the geometry of structure 17 | * @return Location of the center 18 | */ 19 | Location getCenter(@NonNull String featureGeometry); 20 | } 21 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/security/PasswordHash.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.security; 2 | 3 | /** 4 | * Created by ndegwamartin on 13/06/2020. 5 | */ 6 | public class PasswordHash { 7 | 8 | private byte[] salt; 9 | private byte[] password; 10 | 11 | PasswordHash(byte[] salt, byte[] password) { 12 | this.salt = salt; 13 | this.password = password; 14 | } 15 | 16 | public byte[] getSalt() { 17 | return salt; 18 | } 19 | 20 | public byte[] getPassword() { 21 | return password; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/service/PendingFormSubmissionService.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.service; 2 | 3 | import org.smartregister.repository.FormDataRepository; 4 | 5 | public class PendingFormSubmissionService { 6 | 7 | private FormDataRepository formDataRepository; 8 | 9 | public PendingFormSubmissionService(FormDataRepository formDataRepository) { 10 | this.formDataRepository = formDataRepository; 11 | } 12 | 13 | public long pendingFormSubmissionCount() { 14 | return formDataRepository.getPendingFormSubmissionsCount(); 15 | } 16 | } -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/service/formsubmissionhandler/ANCCloseHandler.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.service.formsubmissionhandler; 2 | 3 | import org.smartregister.domain.form.FormSubmission; 4 | import org.smartregister.service.MotherService; 5 | 6 | public class ANCCloseHandler implements FormSubmissionHandler { 7 | private final MotherService motherService; 8 | 9 | public ANCCloseHandler(MotherService motherService) { 10 | this.motherService = motherService; 11 | } 12 | 13 | @Override 14 | public void handle(FormSubmission submission) { 15 | motherService.close(submission); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/service/formsubmissionhandler/ANCInvestigationsHandler.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.service.formsubmissionhandler; 2 | 3 | import org.smartregister.domain.form.FormSubmission; 4 | 5 | public class ANCInvestigationsHandler implements FormSubmissionHandler { 6 | 7 | @Override 8 | public void handle(FormSubmission submission) { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/service/formsubmissionhandler/ANCRegistrationHandler.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.service.formsubmissionhandler; 2 | 3 | import org.smartregister.domain.form.FormSubmission; 4 | import org.smartregister.service.MotherService; 5 | 6 | public class ANCRegistrationHandler implements FormSubmissionHandler { 7 | private MotherService motherService; 8 | 9 | public ANCRegistrationHandler(MotherService motherService) { 10 | this.motherService = motherService; 11 | } 12 | 13 | @Override 14 | public void handle(FormSubmission submission) { 15 | motherService.registerANC(submission); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/service/formsubmissionhandler/ANCRegistrationOAHandler.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.service.formsubmissionhandler; 2 | 3 | import org.smartregister.domain.form.FormSubmission; 4 | import org.smartregister.service.MotherService; 5 | 6 | public class ANCRegistrationOAHandler implements FormSubmissionHandler { 7 | private MotherService motherService; 8 | 9 | public ANCRegistrationOAHandler(MotherService motherService) { 10 | this.motherService = motherService; 11 | } 12 | 13 | @Override 14 | public void handle(FormSubmission submission) { 15 | motherService.registerOutOfAreaANC(submission); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/service/formsubmissionhandler/ANCVisitHandler.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.service.formsubmissionhandler; 2 | 3 | import org.smartregister.domain.form.FormSubmission; 4 | import org.smartregister.service.MotherService; 5 | 6 | public class ANCVisitHandler implements FormSubmissionHandler { 7 | private MotherService motherService; 8 | 9 | public ANCVisitHandler(MotherService motherService) { 10 | this.motherService = motherService; 11 | } 12 | 13 | @Override 14 | public void handle(FormSubmission submission) { 15 | motherService.ancVisit(submission); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/service/formsubmissionhandler/ChildCloseHandler.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.service.formsubmissionhandler; 2 | 3 | import org.smartregister.domain.form.FormSubmission; 4 | import org.smartregister.service.ChildService; 5 | 6 | public class ChildCloseHandler implements FormSubmissionHandler { 7 | private final ChildService childService; 8 | 9 | public ChildCloseHandler(ChildService childService) { 10 | this.childService = childService; 11 | } 12 | 13 | @Override 14 | public void handle(FormSubmission submission) { 15 | childService.close(submission); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/service/formsubmissionhandler/ChildIllnessHandler.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.service.formsubmissionhandler; 2 | 3 | import org.smartregister.domain.form.FormSubmission; 4 | import org.smartregister.service.ChildService; 5 | 6 | public class ChildIllnessHandler implements FormSubmissionHandler { 7 | private ChildService childService; 8 | 9 | public ChildIllnessHandler(ChildService childService) { 10 | this.childService = childService; 11 | } 12 | 13 | @Override 14 | public void handle(FormSubmission submission) { 15 | childService.updateIllnessStatus(submission); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/service/formsubmissionhandler/ChildImmunizationsHandler.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.service.formsubmissionhandler; 2 | 3 | import org.smartregister.domain.form.FormSubmission; 4 | import org.smartregister.service.ChildService; 5 | 6 | public class ChildImmunizationsHandler implements FormSubmissionHandler { 7 | private ChildService childService; 8 | 9 | public ChildImmunizationsHandler(ChildService childService) { 10 | this.childService = childService; 11 | } 12 | 13 | @Override 14 | public void handle(FormSubmission submission) { 15 | childService.updateImmunizations(submission); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/service/formsubmissionhandler/ChildRegistrationECHandler.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.service.formsubmissionhandler; 2 | 3 | import org.smartregister.domain.form.FormSubmission; 4 | import org.smartregister.service.ChildService; 5 | 6 | public class ChildRegistrationECHandler implements FormSubmissionHandler { 7 | private final ChildService childService; 8 | 9 | public ChildRegistrationECHandler(ChildService childService) { 10 | this.childService = childService; 11 | } 12 | 13 | @Override 14 | public void handle(FormSubmission submission) { 15 | childService.registerForEC(submission); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/service/formsubmissionhandler/ChildRegistrationOAHandler.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.service.formsubmissionhandler; 2 | 3 | import org.smartregister.domain.form.FormSubmission; 4 | import org.smartregister.service.ChildService; 5 | 6 | public class ChildRegistrationOAHandler implements FormSubmissionHandler { 7 | private final ChildService childService; 8 | 9 | public ChildRegistrationOAHandler(ChildService childService) { 10 | this.childService = childService; 11 | } 12 | 13 | @Override 14 | public void handle(FormSubmission submission) { 15 | childService.registerForOA(submission); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/service/formsubmissionhandler/DeliveryPlanHandler.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.service.formsubmissionhandler; 2 | 3 | import org.smartregister.domain.form.FormSubmission; 4 | import org.smartregister.service.MotherService; 5 | 6 | public class DeliveryPlanHandler implements FormSubmissionHandler { 7 | private final MotherService motherService; 8 | 9 | public DeliveryPlanHandler(MotherService motherService) { 10 | this.motherService = motherService; 11 | } 12 | 13 | @Override 14 | public void handle(FormSubmission submission) { 15 | motherService.deliveryPlan(submission); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/service/formsubmissionhandler/ECCloseHandler.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.service.formsubmissionhandler; 2 | 3 | import org.smartregister.domain.form.FormSubmission; 4 | import org.smartregister.service.EligibleCoupleService; 5 | 6 | public class ECCloseHandler implements FormSubmissionHandler { 7 | private EligibleCoupleService ecService; 8 | 9 | public ECCloseHandler(EligibleCoupleService ecService) { 10 | this.ecService = ecService; 11 | } 12 | 13 | @Override 14 | public void handle(FormSubmission submission) { 15 | ecService.closeEligibleCouple(submission); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/service/formsubmissionhandler/ECEditHandler.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.service.formsubmissionhandler; 2 | 3 | import org.smartregister.domain.form.FormSubmission; 4 | 5 | public class ECEditHandler implements FormSubmissionHandler { 6 | 7 | @Override 8 | public void handle(FormSubmission submission) { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/service/formsubmissionhandler/ECRegistrationHandler.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.service.formsubmissionhandler; 2 | 3 | import org.smartregister.domain.form.FormSubmission; 4 | import org.smartregister.service.EligibleCoupleService; 5 | 6 | public class ECRegistrationHandler implements FormSubmissionHandler { 7 | private EligibleCoupleService ecService; 8 | 9 | public ECRegistrationHandler(EligibleCoupleService ecService) { 10 | this.ecService = ecService; 11 | } 12 | 13 | @Override 14 | public void handle(FormSubmission submission) { 15 | ecService.register(submission); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/service/formsubmissionhandler/FPChangeHandler.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.service.formsubmissionhandler; 2 | 3 | import org.smartregister.domain.form.FormSubmission; 4 | import org.smartregister.service.EligibleCoupleService; 5 | 6 | public class FPChangeHandler implements FormSubmissionHandler { 7 | private EligibleCoupleService ecService; 8 | 9 | public FPChangeHandler(EligibleCoupleService ecService) { 10 | this.ecService = ecService; 11 | } 12 | 13 | @Override 14 | public void handle(FormSubmission submission) { 15 | ecService.fpChange(submission); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/service/formsubmissionhandler/FPComplicationsHandler.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.service.formsubmissionhandler; 2 | 3 | import org.smartregister.domain.form.FormSubmission; 4 | import org.smartregister.service.EligibleCoupleService; 5 | 6 | public class FPComplicationsHandler implements FormSubmissionHandler { 7 | private EligibleCoupleService ecService; 8 | 9 | public FPComplicationsHandler(EligibleCoupleService ecService) { 10 | this.ecService = ecService; 11 | } 12 | 13 | @Override 14 | public void handle(FormSubmission submission) { 15 | ecService.fpComplications(submission); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/service/formsubmissionhandler/FormSubmissionHandler.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.service.formsubmissionhandler; 2 | 3 | import org.smartregister.domain.form.FormSubmission; 4 | 5 | public interface FormSubmissionHandler { 6 | void handle(FormSubmission submission); 7 | } 8 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/service/formsubmissionhandler/HBTestHandler.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.service.formsubmissionhandler; 2 | 3 | import org.smartregister.domain.form.FormSubmission; 4 | import org.smartregister.service.MotherService; 5 | 6 | public class HBTestHandler implements FormSubmissionHandler { 7 | private final MotherService motherService; 8 | 9 | public HBTestHandler(MotherService motherService) { 10 | this.motherService = motherService; 11 | } 12 | 13 | @Override 14 | public void handle(FormSubmission submission) { 15 | motherService.hbTest(submission); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/service/formsubmissionhandler/IFAHandler.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.service.formsubmissionhandler; 2 | 3 | import org.smartregister.domain.form.FormSubmission; 4 | import org.smartregister.service.MotherService; 5 | 6 | public class IFAHandler implements FormSubmissionHandler { 7 | private final MotherService motherService; 8 | 9 | public IFAHandler(MotherService motherService) { 10 | this.motherService = motherService; 11 | } 12 | 13 | @Override 14 | public void handle(FormSubmission submission) { 15 | motherService.ifaTabletsGiven(submission); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/service/formsubmissionhandler/PNCCloseHandler.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.service.formsubmissionhandler; 2 | 3 | import org.smartregister.domain.form.FormSubmission; 4 | import org.smartregister.service.MotherService; 5 | 6 | public class PNCCloseHandler implements FormSubmissionHandler { 7 | private final MotherService motherService; 8 | 9 | public PNCCloseHandler(MotherService motherService) { 10 | this.motherService = motherService; 11 | } 12 | 13 | @Override 14 | public void handle(FormSubmission submission) { 15 | motherService.close(submission); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/service/formsubmissionhandler/PNCRegistrationOAHandler.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.service.formsubmissionhandler; 2 | 3 | import org.smartregister.domain.form.FormSubmission; 4 | import org.smartregister.service.ChildService; 5 | 6 | public class PNCRegistrationOAHandler implements FormSubmissionHandler { 7 | private ChildService childService; 8 | 9 | public PNCRegistrationOAHandler(ChildService childService) { 10 | this.childService = childService; 11 | } 12 | 13 | @Override 14 | public void handle(FormSubmission submission) { 15 | childService.pncRegistrationOA(submission); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/service/formsubmissionhandler/RenewFPProductHandler.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.service.formsubmissionhandler; 2 | 3 | import org.smartregister.domain.form.FormSubmission; 4 | import org.smartregister.service.EligibleCoupleService; 5 | 6 | public class RenewFPProductHandler implements FormSubmissionHandler { 7 | private EligibleCoupleService ecService; 8 | 9 | public RenewFPProductHandler(EligibleCoupleService ecService) { 10 | this.ecService = ecService; 11 | } 12 | 13 | @Override 14 | public void handle(FormSubmission submission) { 15 | ecService.renewFPProduct(submission); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/service/formsubmissionhandler/TTHandler.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.service.formsubmissionhandler; 2 | 3 | import org.smartregister.domain.form.FormSubmission; 4 | import org.smartregister.service.MotherService; 5 | 6 | public class TTHandler implements FormSubmissionHandler { 7 | private final MotherService motherService; 8 | 9 | public TTHandler(MotherService motherService) { 10 | this.motherService = motherService; 11 | } 12 | 13 | @Override 14 | public void handle(FormSubmission submission) { 15 | motherService.ttProvided(submission); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/service/formsubmissionhandler/VitaminAHandler.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.service.formsubmissionhandler; 2 | 3 | import org.smartregister.domain.form.FormSubmission; 4 | import org.smartregister.service.ChildService; 5 | 6 | public class VitaminAHandler implements FormSubmissionHandler { 7 | private final ChildService childService; 8 | 9 | public VitaminAHandler(ChildService childService) { 10 | this.childService = childService; 11 | } 12 | 13 | @Override 14 | public void handle(FormSubmission submission) { 15 | childService.updateVitaminAProvided(submission); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/sync/AdditionalSyncService.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.sync; 2 | 3 | import org.smartregister.domain.FetchStatus; 4 | 5 | /** 6 | * Created by Dimas Ciputra on 9/18/15. 7 | */ 8 | public interface AdditionalSyncService { 9 | FetchStatus sync(); 10 | } 11 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/sync/AfterFetchListener.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.sync; 2 | 3 | import org.smartregister.domain.FetchStatus; 4 | 5 | public interface AfterFetchListener { 6 | void afterFetch(FetchStatus fetchStatus); 7 | } 8 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/sync/P2PClassifier.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.sync; 2 | 3 | import org.smartregister.p2p.model.DataType; 4 | 5 | public interface P2PClassifier { 6 | 7 | boolean isForeign(T t, DataType dataType); 8 | 9 | } 10 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/sync/SyncAfterFetchListener.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.sync; 2 | 3 | import org.smartregister.domain.FetchStatus; 4 | 5 | import static org.smartregister.event.Event.ON_DATA_FETCHED; 6 | 7 | public class SyncAfterFetchListener implements AfterFetchListener { 8 | public void afterFetch(FetchStatus status) { 9 | ON_DATA_FETCHED.notifyListeners(status); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/sync/SyncProgressIndicator.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.sync; 2 | 3 | import org.smartregister.CoreLibrary; 4 | import org.smartregister.view.ProgressIndicator; 5 | 6 | import static org.smartregister.event.Event.SYNC_COMPLETED; 7 | import static org.smartregister.event.Event.SYNC_STARTED; 8 | 9 | public class SyncProgressIndicator implements ProgressIndicator { 10 | @Override 11 | public void setVisible() { 12 | CoreLibrary.getInstance().context().allSharedPreferences().saveIsSyncInProgress(true); 13 | SYNC_STARTED.notifyListeners(true); 14 | } 15 | 16 | @Override 17 | public void setInvisible() { 18 | CoreLibrary.getInstance().context().allSharedPreferences().saveIsSyncInProgress(false); 19 | SYNC_COMPLETED.notifyListeners(true); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/sync/intent/PlanIntentService.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.sync.intent; 2 | 3 | import android.app.IntentService; 4 | import android.content.Intent; 5 | 6 | import org.smartregister.sync.helper.PlanIntentServiceHelper; 7 | 8 | /** 9 | * Created by Vincent Karuri on 08/05/2019 10 | */ 11 | public class PlanIntentService extends BaseSyncIntentService { 12 | 13 | private static final String TAG = "PlanIntentService"; 14 | 15 | public PlanIntentService() { super(TAG); } 16 | 17 | @Override 18 | protected void onHandleIntent(Intent intent) { 19 | super.onHandleIntent(intent); 20 | PlanIntentServiceHelper.getInstance().syncPlans(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/task/SaveTeamLocationsTask.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.task; 2 | 3 | import org.smartregister.location.helper.LocationHelper; 4 | 5 | import java.util.concurrent.ExecutorService; 6 | import java.util.concurrent.Executors; 7 | 8 | /** 9 | * Created by ndegwamartin on 26/06/2018. 10 | */ 11 | 12 | public class SaveTeamLocationsTask { 13 | 14 | public void execute() { 15 | ExecutorService executorService = Executors.newSingleThreadExecutor(); 16 | executorService.execute(() -> LocationHelper.getInstance().locationIdsFromHierarchy()); 17 | } 18 | } -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/util/CacheableData.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.util; 2 | 3 | public interface CacheableData { 4 | T fetch(); 5 | } 6 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/util/CallableInteractor.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.util; 2 | 3 | import java.util.concurrent.Callable; 4 | 5 | public interface CallableInteractor { 6 | 7 | /** 8 | * This will execute any asyc code using the default request type as AppExecutors.Request.DISK_THREAD 9 | * 10 | * @param callable 11 | * @param callBack 12 | * @param 13 | */ 14 | void execute(Callable callable, CallableInteractorCallBack callBack); 15 | 16 | /** 17 | * This will execute any asyc code using and get returned results 18 | * 19 | * @param callable 20 | * @param callBack 21 | * @param 22 | */ 23 | void execute(Callable callable, CallableInteractorCallBack callBack, AppExecutors.Request request); 24 | 25 | } 26 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/util/CallableInteractorCallBack.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.util; 2 | 3 | public interface CallableInteractorCallBack { 4 | 5 | void onResult(T t); 6 | 7 | void onError(Exception ex); 8 | 9 | } 10 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/util/FloatUtil.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.util; 2 | 3 | public class FloatUtil { 4 | public static Float tryParse(String value, Float defaultValue) { 5 | try { 6 | return Float.parseFloat(value); 7 | } catch (NumberFormatException e) { 8 | return defaultValue; 9 | } 10 | } 11 | 12 | public static String tryParse(String value, String defaultValue) { 13 | try { 14 | return String.valueOf(Float.parseFloat(value)); 15 | } catch (NumberFormatException e) { 16 | return defaultValue; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/util/IntegerUtil.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.util; 2 | 3 | public class IntegerUtil { 4 | public static Integer tryParse(String value, int defaultValue) { 5 | try { 6 | return Integer.parseInt(value); 7 | } catch (NumberFormatException e) { 8 | return defaultValue; 9 | } 10 | } 11 | 12 | public static String tryParse(String value, String defaultValue) { 13 | try { 14 | return String.valueOf(Integer.parseInt(value)); 15 | } catch (NumberFormatException e) { 16 | return defaultValue; 17 | } 18 | } 19 | 20 | public static int compare(int lhs, int rhs) { 21 | return lhs < rhs ? -1 : (lhs == rhs ? 0 : 1); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/util/NativeFormProcessorFieldSource.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.util; 2 | 3 | import org.json.JSONObject; 4 | 5 | import java.util.Map; 6 | 7 | /*** 8 | * A common interface to provide a method for population of complex field values. 9 | * Allows users to specify how to read values of a custom field data type 10 | */ 11 | public interface NativeFormProcessorFieldSource { 12 | 13 | /*** 14 | * 15 | * @param step 16 | * @param fieldJson 17 | * @param dictionary 18 | * @param 19 | */ 20 | void populateValue(String stepName, JSONObject step, JSONObject fieldJson, Map dictionary); 21 | } 22 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/util/TimelineEventComparator.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.util; 2 | 3 | import org.smartregister.domain.TimelineEvent; 4 | 5 | import java.util.Comparator; 6 | 7 | public class TimelineEventComparator implements Comparator { 8 | @Override 9 | public int compare(TimelineEvent timelineEvent, TimelineEvent anotherTimelineEvent) { 10 | if (timelineEvent.referenceDate().isAfter(anotherTimelineEvent.referenceDate())) { 11 | return -1; 12 | } 13 | if (timelineEvent.referenceDate().isBefore(anotherTimelineEvent.referenceDate())) { 14 | return 1; 15 | } 16 | return 0; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/util/UrlUtil.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.util; 2 | 3 | import org.apache.commons.validator.routines.UrlValidator; 4 | import org.smartregister.CoreLibrary; 5 | 6 | public class UrlUtil { 7 | public static boolean isValidUrl(String s){ 8 | return new UrlValidator(new String[]{"http", "https"}).isValid(s); 9 | } 10 | 11 | public static boolean isValidEnvironment(String url) { 12 | return CoreLibrary.getInstance().getSyncConfiguration().validateOAuthUrl(url); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/BackgroundAction.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view; 2 | 3 | public interface BackgroundAction { 4 | T actionToDoInBackgroundThread(); 5 | 6 | void postExecuteInUIThread(T result); 7 | } 8 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/ProgressIndicator.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view; 2 | 3 | public interface ProgressIndicator { 4 | void setVisible(); 5 | 6 | void setInvisible(); 7 | } 8 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/activity/FormActivity.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.activity; 2 | 3 | public class FormActivity extends SecuredFormActivity { 4 | } 5 | 6 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/activity/MicroFormActivity.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.activity; 2 | 3 | import org.smartregister.R; 4 | 5 | public class MicroFormActivity extends SecuredFormActivity { 6 | @Override 7 | protected void setActivityLayout() { 8 | setContentView(R.layout.micro_form_html); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/activity/ReportIndicatorListViewActivity.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.activity; 2 | 3 | import org.smartregister.view.controller.ReportIndicatorListViewController; 4 | 5 | import static org.smartregister.AllConstants.REPORT_CATEGORY; 6 | 7 | public class ReportIndicatorListViewActivity extends SecuredWebActivity { 8 | @Override 9 | protected void onInitialization() { 10 | String category = getIntent().getExtras().getString(REPORT_CATEGORY); 11 | 12 | webView.addJavascriptInterface( 13 | new ReportIndicatorListViewController(this, context().allReports(), category), 14 | "context"); 15 | webView.loadUrl("file:///android_asset/www/report_indicator_list.html"); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/activity/ReportsActivity.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.activity; 2 | 3 | import org.smartregister.view.controller.ReportsController; 4 | 5 | public class ReportsActivity extends SecuredWebActivity { 6 | @Override 7 | protected void onInitialization() { 8 | webView.addJavascriptInterface(new ReportsController(this), "context"); 9 | webView.loadUrl("file:///android_asset/www/reports.html"); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/activity/VideosActivity.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.activity; 2 | 3 | import org.smartregister.view.controller.VideosController; 4 | 5 | public class VideosActivity extends SecuredWebActivity { 6 | @Override 7 | protected void onInitialization() { 8 | webView.addJavascriptInterface(new VideosController(this), "context"); 9 | webView.loadUrl("file:///android_asset/www/smart_registry/videos.html"); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/contract/ANCClients.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.contract; 2 | 3 | public class ANCClients extends SmartRegisterClients { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/contract/BaseFPSmartRegisterClient.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.contract; 2 | 3 | import org.smartregister.domain.FPMethod; 4 | 5 | public interface BaseFPSmartRegisterClient extends SmartRegisterClient { 6 | 7 | FPMethod fpMethod(); 8 | 9 | String familyPlanningMethodChangeDate(); 10 | 11 | String numberOfOCPDelivered(); 12 | 13 | String numberOfCondomsSupplied(); 14 | 15 | String numberOfCentchromanPillsDelivered(); 16 | 17 | String iudPerson(); 18 | 19 | String iudPlace(); 20 | 21 | } 22 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/contract/BaseProfileContract.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.contract; 2 | 3 | /** 4 | * Created by ndegwamartin on 13/07/2018. 5 | */ 6 | public interface BaseProfileContract { 7 | 8 | interface Presenter { 9 | 10 | void onDestroy(boolean isChangingConfiguration); 11 | 12 | } 13 | 14 | interface View { 15 | 16 | void showProgressDialog(int messageStringIdentifier); 17 | 18 | void hideProgressDialog(); 19 | 20 | void displayToast(int resourceId); 21 | 22 | String getIntentString(String intentKey); 23 | 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/contract/ECClients.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.contract; 2 | 3 | public class ECClients extends SmartRegisterClients { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/contract/ECSmartRegisterBaseClient.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.contract; 2 | 3 | import java.util.Comparator; 4 | 5 | public interface ECSmartRegisterBaseClient { 6 | Comparator EC_NUMBER_COMPARATOR = new Comparator() { 7 | @Override 8 | public int compare(SmartRegisterClient client, SmartRegisterClient anotherClient) { 9 | return ((ECSmartRegisterBaseClient) client).ecNumber() 10 | .compareTo(((ECSmartRegisterBaseClient) anotherClient).ecNumber()); 11 | } 12 | }; 13 | 14 | Integer ecNumber(); 15 | } 16 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/contract/FPClients.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.contract; 2 | 3 | public class FPClients extends SmartRegisterClients { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/contract/Filter.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.contract; 2 | 3 | import com.google.common.base.Predicate; 4 | import com.google.common.collect.Iterables; 5 | 6 | import org.smartregister.view.dialog.FilterClause; 7 | 8 | import java.util.ArrayList; 9 | import java.util.List; 10 | 11 | public class Filter { 12 | public List applyFilterWithClause(List sourceList, final FilterClause filterOption) { 13 | List results = new ArrayList(); 14 | Iterables.addAll(results, Iterables.filter(sourceList, new Predicate() { 15 | @Override 16 | public boolean apply(T object) { 17 | return filterOption.filter(object); 18 | } 19 | })); 20 | return results; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/contract/IndicatorReportCases.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.contract; 2 | 3 | import java.util.List; 4 | 5 | public class IndicatorReportCases { 6 | private final String month; 7 | private final List beneficiaries; 8 | 9 | public IndicatorReportCases(String month, List beneficiaries) { 10 | this.month = month; 11 | this.beneficiaries = beneficiaries; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/contract/LibraryContract.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.contract; 2 | 3 | public interface LibraryContract { 4 | interface Presenter { 5 | } 6 | 7 | interface View { 8 | } 9 | 10 | interface Interactor { 11 | 12 | } 13 | 14 | interface Model {} 15 | } 16 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/contract/MeContract.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.contract; 2 | 3 | public interface MeContract { 4 | interface Presenter { 5 | 6 | void updateInitials(); 7 | 8 | void updateName(); 9 | 10 | String getBuildDate(); 11 | } 12 | 13 | interface View { 14 | 15 | void updateInitialsText(String initials); 16 | 17 | void updateNameText(String name); 18 | } 19 | 20 | interface Interactor { 21 | 22 | } 23 | 24 | interface Model { 25 | String getInitials(); 26 | 27 | String getName(); 28 | 29 | String getBuildDate(); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/contract/StatsContract.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.contract; 2 | 3 | public interface StatsContract { 4 | 5 | interface View { 6 | 7 | void showProgressDialog(); 8 | 9 | void hideProgressDialog(); 10 | 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/contract/StatsFragmentContract.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.contract; 2 | 3 | import android.content.Context; 4 | 5 | import java.util.Map; 6 | 7 | public interface StatsFragmentContract { 8 | interface Presenter { 9 | 10 | void onECSyncInfoFetched(Map syncInfoMap); 11 | 12 | void fetchSyncInfo(); 13 | 14 | } 15 | 16 | interface View { 17 | Context getContext(); 18 | 19 | void refreshECSyncInfo(Map syncInfoMap); 20 | } 21 | 22 | interface Interactor { 23 | void fetchECSyncInfo(); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/contract/Villages.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.contract; 2 | 3 | import com.google.common.base.Function; 4 | import com.google.common.collect.Iterables; 5 | 6 | import org.smartregister.util.StringUtil; 7 | 8 | import java.util.ArrayList; 9 | 10 | public class Villages extends ArrayList { 11 | public Iterable getVillageNames() { 12 | return Iterables.transform(this, new Function() { 13 | @Override 14 | public String apply(Village village) { 15 | return StringUtil.humanize(village.name()); 16 | } 17 | }); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/contract/Visits.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.contract; 2 | 3 | import org.apache.commons.lang3.builder.EqualsBuilder; 4 | import org.apache.commons.lang3.builder.HashCodeBuilder; 5 | 6 | import static org.smartregister.view.contract.AlertDTO.emptyAlert; 7 | import static org.smartregister.view.contract.ServiceProvidedDTO.emptyService; 8 | 9 | public class Visits { 10 | public ServiceProvidedDTO provided = emptyService; 11 | public AlertDTO toProvide = emptyAlert; 12 | 13 | @Override 14 | public boolean equals(Object o) { 15 | return EqualsBuilder.reflectionEquals(this, o); 16 | } 17 | 18 | @Override 19 | public int hashCode() { 20 | return HashCodeBuilder.reflectionHashCode(this); 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/contract/pnc/PNCClients.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.contract.pnc; 2 | 3 | import org.smartregister.view.contract.SmartRegisterClients; 4 | 5 | public class PNCClients extends SmartRegisterClients { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/contract/pnc/PNCStatusColor.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.contract.pnc; 2 | 3 | public enum PNCStatusColor { 4 | YELLOW, GREEN, RED 5 | } 6 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/contract/pnc/PNCVisitStatus.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.contract.pnc; 2 | 3 | public enum PNCVisitStatus { 4 | DONE, MISSED 5 | } 6 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/contract/pnc/PNCVisitType.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.contract.pnc; 2 | 3 | public enum PNCVisitType { 4 | EXPECTED, ACTUAL 5 | } 6 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/controller/AfterANMDetailsFetchListener.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.controller; 2 | 3 | public interface AfterANMDetailsFetchListener { 4 | void afterFetch(String anmDetails); 5 | } 6 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/controller/FormController.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.controller; 2 | 3 | import org.smartregister.view.activity.SecuredActivity; 4 | 5 | public class FormController { 6 | private SecuredActivity activity; 7 | 8 | public FormController(SecuredActivity activity) { 9 | this.activity = activity; 10 | } 11 | 12 | public void startFormActivity(String formName, String entityId, String metaData) { 13 | activity.startFormActivity(formName, entityId, metaData); 14 | } 15 | 16 | public void startMicroFormActivity(String formName, String entityId, String metaData) { 17 | activity.startMicroFormActivity(formName, entityId, metaData); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/controller/NativeAfterANMDetailsFetchListener.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.controller; 2 | 3 | import org.smartregister.view.contract.HomeContext; 4 | 5 | public interface NativeAfterANMDetailsFetchListener { 6 | void afterFetch(HomeContext anmDetails); 7 | } 8 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/controller/ReportsController.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.controller; 2 | 3 | import android.content.Context; 4 | import android.content.Intent; 5 | 6 | import org.smartregister.AllConstants; 7 | import org.smartregister.view.activity.ReportIndicatorListViewActivity; 8 | 9 | public class ReportsController { 10 | private Context context; 11 | 12 | public ReportsController(Context context) { 13 | this.context = context; 14 | } 15 | 16 | public void startIndicatorListViewFor(String reportCategory) { 17 | Intent intent = new Intent(context.getApplicationContext(), 18 | ReportIndicatorListViewActivity.class); 19 | intent.putExtra(AllConstants.REPORT_CATEGORY, reportCategory); 20 | context.startActivity(intent); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/dialog/AllClientsFilter.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.dialog; 2 | 3 | import org.smartregister.CoreLibrary; 4 | import org.smartregister.R; 5 | import org.smartregister.view.contract.SmartRegisterClient; 6 | 7 | public class AllClientsFilter implements FilterOption { 8 | @Override 9 | public String name() { 10 | return CoreLibrary.getInstance().context().getStringResource(R.string.filter_by_all_label); 11 | } 12 | 13 | @Override 14 | public boolean filter(SmartRegisterClient client) { 15 | return true; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/dialog/BPLSort.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.dialog; 2 | 3 | import org.smartregister.CoreLibrary; 4 | import org.smartregister.R; 5 | import org.smartregister.view.contract.SmartRegisterClients; 6 | 7 | import java.util.Collections; 8 | 9 | import static org.smartregister.view.contract.SmartRegisterClient.BPL_COMPARATOR; 10 | 11 | public class BPLSort implements SortOption { 12 | @Override 13 | public String name() { 14 | return CoreLibrary.getInstance().context().getStringResource(R.string.sort_by_bpl_label); 15 | } 16 | 17 | @Override 18 | public SmartRegisterClients sort(SmartRegisterClients allClients) { 19 | Collections.sort(allClients, BPL_COMPARATOR); 20 | return allClients; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/dialog/DialogOption.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.dialog; 2 | 3 | public interface DialogOption { 4 | String name(); 5 | } 6 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/dialog/DialogOptionMapper.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.dialog; 2 | 3 | import com.google.common.base.Function; 4 | import com.google.common.collect.Iterables; 5 | 6 | import org.smartregister.util.StringUtil; 7 | import org.smartregister.view.contract.Village; 8 | 9 | public class DialogOptionMapper { 10 | public Iterable mapToVillageFilterOptions(Iterable villages) { 11 | return Iterables.transform(villages, new Function() { 12 | @Override 13 | public DialogOption apply(Village village) { 14 | return new VillageFilter(StringUtil.humanize(village.name())); 15 | } 16 | }); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/dialog/DialogOptionModel.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.dialog; 2 | 3 | public interface DialogOptionModel { 4 | DialogOption[] getDialogOptions(); 5 | 6 | void onDialogOptionSelection(DialogOption option, Object tag); 7 | } 8 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/dialog/ECNumberSort.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.dialog; 2 | 3 | import org.smartregister.CoreLibrary; 4 | import org.smartregister.R; 5 | import org.smartregister.view.contract.ECSmartRegisterBaseClient; 6 | import org.smartregister.view.contract.SmartRegisterClients; 7 | 8 | import java.util.Collections; 9 | 10 | public class ECNumberSort implements SortOption { 11 | @Override 12 | public String name() { 13 | return CoreLibrary.getInstance().context().getStringResource(R.string.sort_by_ec_number_label); 14 | } 15 | 16 | @Override 17 | public SmartRegisterClients sort(SmartRegisterClients allClients) { 18 | Collections.sort(allClients, ECSmartRegisterBaseClient.EC_NUMBER_COMPARATOR); 19 | return allClients; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/dialog/EditOption.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.dialog; 2 | 3 | import org.smartregister.view.contract.SmartRegisterClient; 4 | 5 | public interface EditOption extends DialogOption { 6 | void doEdit(SmartRegisterClient client); 7 | 8 | void doEditWithMetadata(SmartRegisterClient client, String metadata); 9 | } 10 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/dialog/FilterClause.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.dialog; 2 | 3 | public interface FilterClause { 4 | boolean filter(T object); 5 | } 6 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/dialog/FilterOption.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.dialog; 2 | 3 | import org.smartregister.view.contract.SmartRegisterClient; 4 | 5 | public interface FilterOption extends DialogOption { 6 | boolean filter(SmartRegisterClient client); 7 | } 8 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/dialog/NameSort.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.dialog; 2 | 3 | import org.smartregister.CoreLibrary; 4 | import org.smartregister.R; 5 | import org.smartregister.view.contract.SmartRegisterClients; 6 | 7 | import java.util.Collections; 8 | 9 | import static org.smartregister.view.contract.SmartRegisterClient.NAME_COMPARATOR; 10 | 11 | public class NameSort implements SortOption { 12 | @Override 13 | public String name() { 14 | return CoreLibrary.getInstance().context().getStringResource(R.string.sort_by_name_label); 15 | } 16 | 17 | @Override 18 | public SmartRegisterClients sort(SmartRegisterClients allClients) { 19 | Collections.sort(allClients, NAME_COMPARATOR); 20 | return allClients; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/dialog/OutOfAreaFilter.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.dialog; 2 | 3 | import org.smartregister.CoreLibrary; 4 | import org.smartregister.R; 5 | import org.smartregister.view.contract.SmartRegisterClient; 6 | 7 | import static org.smartregister.AllConstants.OUT_OF_AREA; 8 | 9 | public class OutOfAreaFilter implements FilterOption { 10 | @Override 11 | public String name() { 12 | return CoreLibrary.getInstance().context().getStringResource(R.string.filter_by_out_of_area_label); 13 | } 14 | 15 | @Override 16 | public boolean filter(SmartRegisterClient client) { 17 | return OUT_OF_AREA.equalsIgnoreCase(client.locationStatus()); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/dialog/SCSort.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.dialog; 2 | 3 | import org.smartregister.CoreLibrary; 4 | import org.smartregister.R; 5 | import org.smartregister.view.contract.SmartRegisterClients; 6 | 7 | import java.util.Collections; 8 | 9 | import static org.smartregister.view.contract.SmartRegisterClient.SC_COMPARATOR; 10 | 11 | public class SCSort implements SortOption { 12 | @Override 13 | public String name() { 14 | return CoreLibrary.getInstance().context().getStringResource(R.string.sort_by_sc_label); 15 | } 16 | 17 | @Override 18 | public SmartRegisterClients sort(SmartRegisterClients allClients) { 19 | Collections.sort(allClients, SC_COMPARATOR); 20 | return allClients; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/dialog/STSort.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.dialog; 2 | 3 | import org.smartregister.CoreLibrary; 4 | import org.smartregister.R; 5 | import org.smartregister.view.contract.SmartRegisterClients; 6 | 7 | import java.util.Collections; 8 | 9 | import static org.smartregister.view.contract.SmartRegisterClient.ST_COMPARATOR; 10 | 11 | public class STSort implements SortOption { 12 | @Override 13 | public String name() { 14 | return CoreLibrary.getInstance().context().getStringResource(R.string.sort_by_st_label); 15 | } 16 | 17 | @Override 18 | public SmartRegisterClients sort(SmartRegisterClients allClients) { 19 | Collections.sort(allClients, ST_COMPARATOR); 20 | return allClients; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/dialog/SortOption.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.dialog; 2 | 3 | import org.smartregister.view.contract.SmartRegisterClients; 4 | 5 | public interface SortOption extends DialogOption { 6 | SmartRegisterClients sort(SmartRegisterClients allClients); 7 | } 8 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/viewholder/ListableViewHolder.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.viewholder; 2 | 3 | import androidx.annotation.NonNull; 4 | import androidx.recyclerview.widget.RecyclerView; 5 | import android.view.View; 6 | 7 | import org.smartregister.view.ListContract; 8 | 9 | /** 10 | * @author rkodev 11 | */ 12 | 13 | public abstract class ListableViewHolder extends RecyclerView.ViewHolder implements ListContract.AdapterViewHolder { 14 | public ListableViewHolder(@NonNull View itemView) { 15 | super(itemView); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /opensrp-core/src/main/java/org/smartregister/view/viewholder/ProfilePhotoLoader.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.viewholder; 2 | 3 | import android.graphics.drawable.Drawable; 4 | 5 | import org.smartregister.view.contract.SmartRegisterClient; 6 | 7 | public interface ProfilePhotoLoader { 8 | Drawable get(SmartRegisterClient client); 9 | } 10 | -------------------------------------------------------------------------------- /opensrp-core/src/test/angular_e2e/conf/karma.conf.js: -------------------------------------------------------------------------------- 1 | module.exports = function (config) { 2 | config.set({ 3 | basePath: '../', 4 | frameworks: ['ng-scenario'], 5 | autoWatch: true, 6 | browsers: ['PhantomJS'], 7 | proxies: { 8 | '/': 'http://localhost:8888/' 9 | }, 10 | 'junitReporter': { 11 | outputFile: 'test_out/e2e.xml', 12 | suite: 'e2e' 13 | }, 14 | urlRoot: '/tests/', 15 | plugins: ['karma-ng-scenario', 'karma-phantomjs-launcher'], 16 | exclude: [ 17 | 'assets/js/lib/bootstrap.js', 18 | 'assets/js/lib/bootstrap.min.js', 19 | 'assets/js/lib/jquery-ui-1.8.23.custom.min.js' 20 | ], 21 | files: [ 22 | '*.js' 23 | ] 24 | }) 25 | }; 26 | -------------------------------------------------------------------------------- /opensrp-core/src/test/assets/app.properties: -------------------------------------------------------------------------------- 1 | DRISHTI_BASE_URL= 2 | PORT=-1 3 | SHOULD_VERIFY_CERTIFICATE=false 4 | SYNC_DOWNLOAD_BATCH_SIZE=10 5 | system.toaster.centered=true -------------------------------------------------------------------------------- /opensrp-core/src/test/assets/test_file.txt: -------------------------------------------------------------------------------- 1 | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/clientandeventmodel/mock/NodeListMock.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.clientandeventmodel.mock; 2 | 3 | import org.w3c.dom.Node; 4 | import org.w3c.dom.NodeList; 5 | 6 | /** 7 | * Created by kaderchowdhury on 23/11/17. 8 | */ 9 | 10 | public class NodeListMock implements NodeList { 11 | 12 | public static NodeList getNodeList() { 13 | return new NodeListMock(); 14 | } 15 | 16 | @Override 17 | public Node item(int i) { 18 | return new NodeMock(); 19 | } 20 | 21 | @Override 22 | public int getLength() { 23 | return 1; 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/convertor/FormSubmissionConvertorTest.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.convertor; 2 | 3 | import org.junit.Assert; 4 | 5 | import org.junit.Test; 6 | import org.smartregister.BaseUnitTest; 7 | 8 | /** 9 | * Created by kaderchowdhury on 12/11/17. 10 | */ 11 | 12 | public class FormSubmissionConvertorTest extends BaseUnitTest { 13 | 14 | @Test 15 | public void assertFormSubmissionConvertorInitializationNotNull() { 16 | Assert.assertNotNull(new FormSubmissionConvertor()); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/customshadows/ShadowOpenSRPImageLoader.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.customshadows; 2 | 3 | import org.robolectric.annotation.Implementation; 4 | import org.robolectric.annotation.Implements; 5 | import org.smartregister.util.OpenSRPImageLoader; 6 | 7 | import java.io.File; 8 | 9 | /** 10 | * Created by Ephraim Kigamba - nek.eam@gmail.com on 03-03-2020. 11 | */ 12 | @Implements(OpenSRPImageLoader.class) 13 | public class ShadowOpenSRPImageLoader { 14 | 15 | @Implementation 16 | public static boolean copyFile(File src, File dst) { 17 | return true; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/domain/ReportIndicatorTest.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.domain; 2 | 3 | import org.junit.Test; 4 | 5 | import static junit.framework.Assert.assertEquals; 6 | import static org.smartregister.domain.ReportIndicator.CONDOM; 7 | import static org.smartregister.domain.ReportIndicator.parseToReportIndicator; 8 | 9 | public class ReportIndicatorTest { 10 | 11 | @Test 12 | public void shouldParseStringToReportIndicator() throws Exception { 13 | assertEquals(CONDOM, parseToReportIndicator("condom")); 14 | } 15 | 16 | @Test(expected = IllegalArgumentException.class) 17 | public void shouldThrowExceptionWhenValueIsNotAValidReportIndicator() throws Exception { 18 | parseToReportIndicator("invalid value"); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/domain/db/mock/BaseDataObjectMock.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.domain.db.mock; 2 | 3 | import org.smartregister.domain.BaseDataObject; 4 | 5 | /** 6 | * Created by kaderchowdhury on 20/11/17. 7 | */ 8 | 9 | public class BaseDataObjectMock extends BaseDataObject { 10 | public BaseDataObjectMock() { 11 | super(); 12 | } 13 | 14 | 15 | } 16 | -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/job/CampaignServiceJobTest.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.job; 2 | 3 | public class CampaignServiceJobTest extends ServiceJobTest { 4 | 5 | @Override 6 | protected String getServiceId() { 7 | return "org.smartregister.sync.intent.CampaignIntentService"; 8 | } 9 | 10 | @Override 11 | protected BaseJob getJob() { 12 | return new CampaignServiceJob(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/job/DocumentConfigurationServiceJobTest.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.job; 2 | 3 | import org.smartregister.sync.intent.DocumentConfigurationIntentService; 4 | 5 | /** 6 | * Created by cozej4 on 2020-04-16. 7 | * 8 | * @author cozej4 https://github.com/cozej4 9 | */ 10 | public class DocumentConfigurationServiceJobTest extends ServiceJobTest { 11 | 12 | @Override 13 | protected String getServiceId() { 14 | return "org.smartregister.sync.intent.DocumentConfigurationIntentService"; 15 | } 16 | 17 | @Override 18 | protected BaseJob getJob() { 19 | return new DocumentConfigurationServiceJob(DocumentConfigurationIntentService.class); 20 | } 21 | } -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/job/ExtendedSyncServiceJobTest.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.job; 2 | 3 | /** 4 | * Created by ndegwamartin on 10/09/2018. 5 | */ 6 | public class ExtendedSyncServiceJobTest extends ServiceJobTest { 7 | 8 | @Override 9 | protected String getServiceId() { 10 | return "org.smartregister.sync.intent.ExtendedSyncIntentService"; 11 | } 12 | 13 | @Override 14 | protected BaseJob getJob() { 15 | return new ExtendedSyncServiceJob(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/job/ImageUploadServiceJobTest.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.job; 2 | 3 | /** 4 | * Created by Vincent Karuri on 17/11/2020 5 | */ 6 | public class ImageUploadServiceJobTest extends ServiceJobTest { 7 | 8 | @Override 9 | protected String getServiceId() { 10 | return "org.smartregister.service.ImageUploadSyncService"; 11 | } 12 | 13 | @Override 14 | protected BaseJob getJob() { 15 | return new ImageUploadServiceJob(); 16 | } 17 | } -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/job/LocationServiceJobTest.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.job; 2 | 3 | public class LocationServiceJobTest extends ServiceJobTest { 4 | 5 | @Override 6 | protected String getServiceId() { 7 | return "org.smartregister.sync.intent.LocationIntentService"; 8 | } 9 | 10 | @Override 11 | protected BaseJob getJob() { 12 | return new LocationStructureServiceJob(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/job/PullUniqueIdsServiceJobTest.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.job; 2 | 3 | /** 4 | * Created by ndegwamartin on 10/09/2018. 5 | */ 6 | public class PullUniqueIdsServiceJobTest extends ServiceJobTest { 7 | 8 | @Override 9 | protected String getServiceId() { 10 | return "org.smartregister.sync.intent.PullUniqueIdsIntentService"; 11 | } 12 | 13 | @Override 14 | protected BaseJob getJob() { 15 | return new PullUniqueIdsServiceJob(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/job/SyncAllLocationsServiceJobTest.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.job; 2 | 3 | public class SyncAllLocationsServiceJobTest extends ServiceJobTest { 4 | 5 | @Override 6 | protected String getServiceId() { 7 | return "org.smartregister.sync.intent.SyncAllLocationsIntentService"; 8 | } 9 | 10 | @Override 11 | protected BaseJob getJob() { 12 | return new SyncAllLocationsServiceJob(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/job/SyncLocationsByLevelAndTagsServiceJobTest.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.job; 2 | 3 | public class SyncLocationsByLevelAndTagsServiceJobTest extends ServiceJobTest { 4 | 5 | @Override 6 | protected String getServiceId() { 7 | return "org.smartregister.sync.intent.SyncLocationsByLevelAndTagsIntentService"; 8 | } 9 | 10 | @Override 11 | protected BaseJob getJob() { 12 | return new SyncLocationsByLevelAndTagsServiceJob(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/job/SyncLocationsByTeamIdsJobTest.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.job; 2 | 3 | public class SyncLocationsByTeamIdsJobTest extends ServiceJobTest { 4 | 5 | @Override 6 | protected String getServiceId() { 7 | return "org.smartregister.sync.intent.SyncLocationsByTeamIdsIntentService"; 8 | } 9 | 10 | @Override 11 | protected BaseJob getJob() { 12 | return new SyncLocationsByTeamIdsJob(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/job/SyncServiceJobTest.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.job; 2 | 3 | import org.smartregister.sync.intent.SyncIntentService; 4 | 5 | /** 6 | * Created by ndegwamartin on 10/09/2018. 7 | */ 8 | public class SyncServiceJobTest extends ServiceJobTest { 9 | 10 | @Override 11 | protected String getServiceId() { 12 | return "org.smartregister.sync.intent.SyncIntentService"; 13 | } 14 | 15 | @Override 16 | protected BaseJob getJob() { 17 | return new SyncServiceJob(SyncIntentService.class); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/job/SyncTaskServiceJobTest.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.job; 2 | 3 | import org.smartregister.sync.intent.SyncTaskIntentService; 4 | 5 | public class SyncTaskServiceJobTest extends ServiceJobTest { 6 | 7 | @Override 8 | protected String getServiceId() { 9 | return "org.smartregister.sync.intent.SyncTaskIntentService"; 10 | } 11 | 12 | @Override 13 | protected BaseJob getJob() { 14 | return new SyncTaskServiceJob(SyncTaskIntentService.class); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/job/ValidateSyncDataServiceJobTest.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.job; 2 | 3 | /** 4 | * Created by ndegwamartin on 10/09/2018. 5 | */ 6 | public class ValidateSyncDataServiceJobTest extends ServiceJobTest { 7 | 8 | @Override 9 | protected String getServiceId() { 10 | return "org.smartregister.sync.intent.ValidateIntentService"; 11 | } 12 | 13 | @Override 14 | protected BaseJob getJob() { 15 | return new ValidateSyncDataServiceJob(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/presenter/TestLoginPresenter.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.presenter; 2 | 3 | import org.smartregister.login.presenter.BaseLoginPresenter; 4 | 5 | /** 6 | * Created by Vincent Karuri on 10/03/2020 7 | */ 8 | public class TestLoginPresenter extends BaseLoginPresenter { 9 | @Override 10 | public void processViewCustomizations() { 11 | //Do nothing 12 | } 13 | 14 | @Override 15 | public boolean isServerSettingsSet() { 16 | return false; 17 | } 18 | 19 | @Override 20 | public void setLanguage() { 21 | //Do nothing 22 | } 23 | 24 | @Override 25 | public void positionViews() { 26 | //Do nothing 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/repository/mock/DrishtiRepositoryMock.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.repository.mock; 2 | 3 | import net.sqlcipher.database.SQLiteDatabase; 4 | 5 | import org.smartregister.repository.DrishtiRepository; 6 | 7 | /** 8 | * Created by kaderchowdhury on 19/11/17. 9 | */ 10 | 11 | public class DrishtiRepositoryMock { 12 | public static DrishtiRepository getDrishtiRepository() { 13 | return new DrishtiRepository() { 14 | @Override 15 | protected void onCreate(SQLiteDatabase database) { 16 | System.out.println(); 17 | } 18 | }; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/repository/mock/SQLiteDatabaseMock.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.repository.mock; 2 | 3 | import net.sqlcipher.database.SQLiteDatabase; 4 | import net.sqlcipher.database.SQLiteDatabaseHook; 5 | 6 | /** 7 | * Created by kaderchowdhury on 19/11/17. 8 | */ 9 | 10 | public class SQLiteDatabaseMock extends SQLiteDatabase { 11 | public SQLiteDatabaseMock(String path, char[] password, CursorFactory factory, int flags) { 12 | super(path, password, factory, flags); 13 | } 14 | 15 | public SQLiteDatabaseMock(String path, char[] password, CursorFactory factory, int flags, SQLiteDatabaseHook databaseHook) { 16 | super(path, password, factory, flags, databaseHook); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/setup/DrishtiTestRunner.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.setup; 2 | 3 | import org.junit.runners.model.InitializationError; 4 | import org.robolectric.RobolectricTestRunner; 5 | //import org.robolectric.bytecode.Setup; 6 | 7 | public class DrishtiTestRunner extends RobolectricTestRunner { 8 | 9 | public DrishtiTestRunner(Class testClass) throws InitializationError { 10 | super(testClass); 11 | } 12 | 13 | // @Override 14 | // public Setup createSetup() { 15 | // return new DrishtiTestSetup(); 16 | // } 17 | } 18 | -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/setup/DrishtiTestSetup.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.setup; 2 | 3 | //import org.robolectric.bytecode.ClassInfo; 4 | //import org.robolectric.bytecode.Setup; 5 | 6 | public class DrishtiTestSetup { 7 | // @Override 8 | // public boolean shouldInstrument(ClassInfo classInfo) { 9 | // return super.shouldInstrument(classInfo) 10 | // || classInfo.getName().equals("org.smartregister.Context") 11 | // || classInfo.getName().equals("org.smartregister.view.controller.ECSmartRegisterController") 12 | // || classInfo.getName().equals("org.smartregister.view.controller.VillageController"); 13 | // } 14 | } 15 | -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/shadows/AlarmManagerShadow.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.shadows; 2 | 3 | import android.app.AlarmManager; 4 | import android.app.PendingIntent; 5 | 6 | import org.robolectric.annotation.Implementation; 7 | import org.robolectric.annotation.Implements; 8 | import org.robolectric.shadows.ShadowAlarmManager; 9 | 10 | /** 11 | * Created by Raihan Ahmed on 17/12/17. 12 | */ 13 | @Implements(AlarmManager.class) 14 | public class AlarmManagerShadow extends ShadowAlarmManager { 15 | 16 | 17 | public AlarmManagerShadow() { 18 | 19 | } 20 | 21 | @Implementation 22 | public void setRepeating(int type, long triggerAtMillis, 23 | long intervalMillis, PendingIntent operation) { 24 | 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/shadows/BaseJobShadow.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.shadows; 2 | 3 | import org.robolectric.annotation.Implementation; 4 | import org.robolectric.annotation.Implements; 5 | import org.robolectric.shadow.api.Shadow; 6 | import org.smartregister.job.BaseJob; 7 | 8 | /** 9 | * Created by Vincent Karuri on 19/01/2021 10 | */ 11 | 12 | @Implements(BaseJob.class) 13 | public class BaseJobShadow extends Shadow { 14 | 15 | private static MockCounter mockCounter = new MockCounter(); 16 | 17 | @Implementation 18 | public static void scheduleJobImmediately(String jobTag) { 19 | mockCounter.setCount(1); 20 | } 21 | 22 | public static MockCounter getMockCounter() { 23 | return mockCounter; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/shadows/LoginInteractorShadow.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.shadows; 2 | 3 | import org.smartregister.login.interactor.BaseLoginInteractor; 4 | import org.smartregister.view.contract.BaseLoginContract; 5 | 6 | /** 7 | * Created by samuelgithengi on 8/4/20. 8 | */ 9 | public class LoginInteractorShadow extends BaseLoginInteractor { 10 | 11 | public LoginInteractorShadow(BaseLoginContract.Presenter loginPresenter) { 12 | super(loginPresenter); 13 | } 14 | 15 | @Override 16 | protected void scheduleJobsPeriodically() {//do nothing 17 | } 18 | } -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/shadows/MockCounter.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.shadows; 2 | 3 | /** 4 | * Created by Vincent Karuri on 20/07/2020 5 | */ 6 | public class MockCounter { 7 | 8 | private int count = 0; 9 | 10 | public int getCount() { 11 | return count; 12 | } 13 | 14 | public void setCount(int count) { 15 | this.count = count; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/shadows/ShadowAssetHandler.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.shadows; 2 | import android.content.Context; 3 | 4 | import org.robolectric.annotation.Implementation; 5 | import org.robolectric.annotation.Implements; 6 | import org.smartregister.util.AssetData; 7 | import org.smartregister.util.AssetHandler; 8 | 9 | /** 10 | * Created by Ephraim Kigamba - nek.eam@gmail.com on 17-03-2020. 11 | */ 12 | 13 | @Implements(AssetHandler.class) 14 | public class ShadowAssetHandler { 15 | 16 | @Implementation 17 | public static String readFileFromAssetsFolder(String fileName, Context context) { 18 | if ("ec_client_classification.json".equals(fileName)) { 19 | return AssetData.ec_client_classification_json; 20 | } 21 | 22 | return ""; 23 | } 24 | } -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/shadows/ShadowContextCompat.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.shadows; 2 | 3 | import android.content.Context; 4 | import android.content.pm.PackageManager; 5 | import androidx.annotation.NonNull; 6 | import androidx.core.content.ContextCompat; 7 | 8 | import org.robolectric.annotation.Implementation; 9 | import org.robolectric.annotation.Implements; 10 | 11 | /** 12 | * Created by samuelgithengi on 7/7/20. 13 | */ 14 | @Implements(ContextCompat.class) 15 | public class ShadowContextCompat { 16 | 17 | @Implementation 18 | public static int checkSelfPermission(@NonNull Context context, @NonNull String permission) { 19 | return PackageManager.PERMISSION_GRANTED; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/shadows/ShadowNetworkUtils.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.shadows; 2 | 3 | import org.robolectric.annotation.Implementation; 4 | import org.robolectric.annotation.Implements; 5 | import org.smartregister.util.NetworkUtils; 6 | 7 | /** 8 | * Created by samuelgithengi on 8/11/20. 9 | */ 10 | @Implements(NetworkUtils.class) 11 | public class ShadowNetworkUtils { 12 | 13 | public static boolean isNetworkAvailable; 14 | 15 | @Implementation 16 | public static boolean isNetworkAvailable() { 17 | return isNetworkAvailable; 18 | } 19 | 20 | public static void setIsNetworkAvailable(boolean isNetworkAvailable) { 21 | ShadowNetworkUtils.isNetworkAvailable = isNetworkAvailable; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/shadows/ShadowSQLiteDatabase.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.shadows; 2 | 3 | import android.content.Context; 4 | 5 | import net.sqlcipher.database.SQLiteDatabase; 6 | 7 | import org.robolectric.annotation.Implementation; 8 | import org.robolectric.annotation.Implements; 9 | 10 | /** 11 | * Created by Ephraim Kigamba - nek.eam@gmail.com on 30-06-2020. 12 | */ 13 | @Implements(SQLiteDatabase.class) 14 | public class ShadowSQLiteDatabase { 15 | 16 | @Implementation 17 | public static synchronized void loadLibs (Context context) { 18 | // Do nothing to prevent the exception thrown trying to load native libs 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/util/IntergerUtilTest.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.util; 2 | 3 | import org.junit.Assert; 4 | import org.junit.Test; 5 | 6 | public class IntergerUtilTest { 7 | 8 | @Test 9 | public void shouldReturnCorrespondingIntegerValueWhenStringIsValidInteger() throws Exception { 10 | Assert.assertEquals((Object) 1, IntegerUtil.tryParse("1", 0)); 11 | } 12 | 13 | @Test 14 | public void shouldReturnDefaultValueWhenStringIsInValidInteger() throws Exception { 15 | Assert.assertEquals((Object) 1, IntegerUtil.tryParse("invalid", 1)); 16 | Assert.assertEquals((Object) 1, IntegerUtil.tryParse("", 1)); 17 | } 18 | } -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/util/UrlUtilTest.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.util; 2 | 3 | import org.junit.Assert; 4 | import org.junit.Test; 5 | 6 | public class UrlUtilTest { 7 | 8 | @Test 9 | public void assertValidUrlPasses() { 10 | Assert.assertTrue(UrlUtil.isValidUrl("https://smartregister.atlassian.net/wiki/spaces/Documentation/overview")); 11 | Assert.assertTrue(UrlUtil.isValidUrl("http://smartregister.atlassian.net/wiki/spaces/Documentation/overview")); 12 | } 13 | 14 | @Test 15 | public void assertInValidUrlFails() { 16 | Assert.assertFalse(UrlUtil.isValidUrl("invalid.org")); 17 | Assert.assertFalse(UrlUtil.isValidUrl("error.test")); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/view/activity/mock/BarcodeScanActivityMock.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.activity.mock; 2 | 3 | import android.os.Bundle; 4 | import androidx.annotation.Nullable; 5 | 6 | import org.smartregister.R; 7 | import org.smartregister.view.activity.BarcodeScanActivity; 8 | 9 | public class BarcodeScanActivityMock extends BarcodeScanActivity { 10 | @Override 11 | public void onCreate(@Nullable Bundle savedInstanceState) { 12 | setTheme(R.style.AppTheme); //we need this here 13 | super.onCreate(savedInstanceState); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/view/contract/PregnancyDetailsTest.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.contract; 2 | 3 | import org.junit.Assert; 4 | import org.junit.Test; 5 | import org.smartregister.BaseUnitTest; 6 | 7 | public class PregnancyDetailsTest extends BaseUnitTest { 8 | 9 | private String magicDate = "2012-09-17"; 10 | 11 | @Test 12 | public void isLastMonthOfPregnancy() throws Exception { 13 | PregnancyDetails pregnancyDetails = new PregnancyDetails("8", magicDate, 0); 14 | Assert.assertTrue(pregnancyDetails.isLastMonthOfPregnancy()); 15 | 16 | pregnancyDetails = new PregnancyDetails("7", magicDate, 0); 17 | Assert.assertFalse(pregnancyDetails.isLastMonthOfPregnancy()); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/view/customcontrols/CustomFontRadioButtonTest.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.customcontrols; 2 | 3 | import org.junit.Assert; 4 | import org.junit.Test; 5 | import androidx.test.core.app.ApplicationProvider; 6 | import org.smartregister.BaseUnitTest; 7 | 8 | /** 9 | * Created by Vincent Karuri on 12/01/2021 10 | */ 11 | public class CustomFontRadioButtonTest extends BaseUnitTest { 12 | 13 | @Test 14 | public void testCustomFontRadioButtonCreationShouldReturnAValidCustomFontRadioButton() { 15 | CustomFontRadioButton customFontRadioButton = new CustomFontRadioButton(ApplicationProvider.getApplicationContext()); 16 | Assert.assertNotNull(customFontRadioButton); 17 | Assert.assertTrue(customFontRadioButton instanceof CustomFontRadioButton); 18 | } 19 | } -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/view/customcontrols/CustomFontTextViewTest.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.customcontrols; 2 | 3 | import org.junit.Assert; 4 | import org.junit.Test; 5 | import androidx.test.core.app.ApplicationProvider; 6 | import org.smartregister.BaseUnitTest; 7 | 8 | /** 9 | * Created by Vincent Karuri on 12/01/2021 10 | */ 11 | public class CustomFontTextViewTest extends BaseUnitTest { 12 | 13 | @Test 14 | public void testCustomFontTextViewCreationShouldCreateValidCustomFontTextView() { 15 | CustomFontTextView customFontTextView = new CustomFontTextView(ApplicationProvider.getApplicationContext()); 16 | Assert.assertNotNull(customFontTextView); 17 | Assert.assertTrue(customFontTextView instanceof CustomFontTextView); 18 | } 19 | } -------------------------------------------------------------------------------- /opensrp-core/src/test/java/org/smartregister/view/dialog/mock/DialogOptionModalMock.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.view.dialog.mock; 2 | 3 | import org.smartregister.view.dialog.DialogOption; 4 | import org.smartregister.view.dialog.DialogOptionModel; 5 | 6 | /** 7 | * Created by kaderchowdhury on 20/11/17. 8 | */ 9 | 10 | public class DialogOptionModalMock { 11 | 12 | public static DialogOptionModel getDialogOptionModal() { 13 | return new DialogOptionModel() { 14 | @Override 15 | public DialogOption[] getDialogOptions() { 16 | return new DialogOption[0]; 17 | } 18 | 19 | @Override 20 | public void onDialogOptionSelection(DialogOption option, Object tag) { 21 | 22 | } 23 | }; 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /opensrp-core/src/test/js/conf/karma.conf.js: -------------------------------------------------------------------------------- 1 | module.exports = function (config) { 2 | config.set({ 3 | basePath: '../../../../', 4 | frameworks: ['jasmine'], 5 | exclude: [ 6 | 'assets/js/lib/bootstrap.js', 7 | 'assets/js/lib/bootstrap.min.js', 8 | 'assets/js/lib/jquery-ui-1.8.23.custom.min.js' 9 | ], 10 | files: [ 11 | 'assets/js/lib/*.js', 12 | 'src/test/js/lib/*.js', 13 | 'assets/js/page_view.js', 14 | 'assets/js/village.js', 15 | 'assets/js/form_context.js', 16 | 'assets/js/anmNavigation.js', 17 | 'assets/js/smart_registry/app.js', 18 | 'assets/js/smart_registry/*.js', 19 | 'src/test/js/smart_registry/*spec.js' 20 | ] 21 | }) 22 | }; -------------------------------------------------------------------------------- /opensrp-core/src/test/resources/org.robolectric.Config.properties: -------------------------------------------------------------------------------- 1 | # Robolectric doesn't know how to support SDK 19 yet. 2 | emulateSdk=18 -------------------------------------------------------------------------------- /opensrp-core/user-profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/opensrp-core/user-profile.png -------------------------------------------------------------------------------- /sample/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /sample/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /Users/onacoder/Library/Android/sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /sample/src/androidTest/java/org/smartregister/sample/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.sample; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /sample/src/main/assets/app.properties: -------------------------------------------------------------------------------- 1 | DRISHTI_BASE_URL= 2 | PORT=-1 3 | SHOULD_VERIFY_CERTIFICATE=false 4 | SYNC_DOWNLOAD_BATCH_SIZE=10 5 | system.toaster.centered=false 6 | encrypt.shared.preferences=false 7 | allow.offline.login.with.invalid.token=false 8 | ignore.location.deletion = false -------------------------------------------------------------------------------- /sample/src/main/java/org/smartregister/sample/domain/FakeApiPayload.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.sample.domain; 2 | 3 | /** 4 | * @author rkodev 5 | */ 6 | public class FakeApiPayload { 7 | 8 | private String status; 9 | private T data; 10 | 11 | public String getStatus() { 12 | return status; 13 | } 14 | 15 | public void setStatus(String status) { 16 | this.status = status; 17 | } 18 | 19 | public T getData() { 20 | return data; 21 | } 22 | 23 | public void setData(T data) { 24 | this.data = data; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /sample/src/main/java/org/smartregister/sample/tools/RetrofitClientInstance.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.sample.tools; 2 | 3 | import retrofit2.Retrofit; 4 | import retrofit2.converter.gson.GsonConverterFactory; 5 | 6 | /** 7 | * @author rkodev 8 | */ 9 | 10 | public class RetrofitClientInstance { 11 | 12 | private static Retrofit retrofit; 13 | private static final String BASE_URL = "https://dummy.restapiexample.com/api/v1/"; 14 | 15 | public static Retrofit getRetrofitInstance() { 16 | if (retrofit == null) { 17 | retrofit = new retrofit2.Retrofit.Builder() 18 | .baseUrl(BASE_URL) 19 | .addConverterFactory(GsonConverterFactory.create()) 20 | .build(); 21 | } 22 | return retrofit; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /sample/src/main/java/org/smartregister/sample/webservice/ReportsWebservice.java: -------------------------------------------------------------------------------- 1 | package org.smartregister.sample.webservice; 2 | 3 | import org.smartregister.sample.domain.FakeApiPayload; 4 | import org.smartregister.sample.domain.Report; 5 | 6 | import java.util.List; 7 | 8 | import retrofit2.Call; 9 | import retrofit2.http.GET; 10 | 11 | /*** 12 | * 13 | */ 14 | public interface ReportsWebservice { 15 | 16 | @GET("employees") 17 | Call>> getEmployeesReport(); 18 | 19 | } 20 | -------------------------------------------------------------------------------- /sample/src/main/res/layout/basic_activity.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /sample/src/main/res/menu/menu_main.xml: -------------------------------------------------------------------------------- 1 |

5 | 10 | 15 | 16 | -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/sample/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/sample/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/sample/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/sample/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/opensrp/opensrp-client-core/4fcf06cf539e1653a5ba6028ae41957fce605aaf/sample/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /sample/src/main/res/values-ar/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | عينة openrp التطبيق 3 | الإعدادات 4 | 5 | يعم الظلام والآن تبدأ المشاهدة 6 | اختار اللغة 7 | 8 | -------------------------------------------------------------------------------- /sample/src/main/res/values-fr/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | échantillon opensrp-core 3 | Réglages 4 | 5 | La nuit se rassemble et ma montre commence 6 | Choisir la langue 7 | 8 | -------------------------------------------------------------------------------- /sample/src/main/res/values-v21/styles.xml: -------------------------------------------------------------------------------- 1 | > 2 | 3 | 9 | 10 | -------------------------------------------------------------------------------- /sample/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /sample/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | #218CC5 7 | 8 | -------------------------------------------------------------------------------- /sample/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 16dp 6 | 7 | -------------------------------------------------------------------------------- /sample/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 15 | 16 |