├── .editorconfig ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── PULL_REQUEST_TEMPLATE.md └── workflows │ ├── android-release.yml │ ├── monthly-release.yaml │ ├── pr-check-android.yml │ ├── promote-to-production.yml │ ├── upload-demo-app-on-firebase.yaml │ └── weekly-release.yaml ├── .gitignore ├── .ruby-version ├── .travis.yml ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── Contributing.md ├── Gemfile ├── Gemfile.lock ├── LICENSE.md ├── README.md ├── build-logic ├── README.md ├── convention │ ├── build.gradle.kts │ └── src │ │ └── main │ │ └── kotlin │ │ ├── AndroidApplicationComposeConventionPlugin.kt │ │ ├── AndroidApplicationConventionPlugin.kt │ │ ├── AndroidApplicationFirebaseConventionPlugin.kt │ │ ├── AndroidApplicationFlavorsConventionPlugin.kt │ │ ├── AndroidApplicationJacocoConventionPlugin.kt │ │ ├── AndroidFeatureConventionPlugin.kt │ │ ├── AndroidHiltConventionPlugin.kt │ │ ├── AndroidLibraryComposeConventionPlugin.kt │ │ ├── AndroidLibraryConventionPlugin.kt │ │ ├── AndroidLibraryJacocoConventionPlugin.kt │ │ ├── AndroidLintConventionPlugin.kt │ │ ├── AndroidRoomConventionPlugin.kt │ │ ├── AndroidTestConventionPlugin.kt │ │ ├── JvmLibraryConventionPlugin.kt │ │ ├── MifosDetektConventionPlugin.kt │ │ ├── MifosGitHooksConventionPlugin.kt │ │ ├── MifosKtlintConventionPlugin.kt │ │ ├── MifosSpotlessConventionPlugin.kt │ │ └── org │ │ └── mifos │ │ ├── AndroidCompose.kt │ │ ├── AndroidInstrumentedTests.kt │ │ ├── Badging.kt │ │ ├── Detekt.kt │ │ ├── GradleManagedDevices.kt │ │ ├── Jacoco.kt │ │ ├── KotlinAndroid.kt │ │ ├── MifosBuildType.kt │ │ ├── MifosFlavor.kt │ │ ├── PrintTestApks.kt │ │ ├── ProjectExtensions.kt │ │ └── Spotless.kt ├── gradle.properties └── settings.gradle.kts ├── build.gradle.kts ├── ci-prepush.bat ├── ci-prepush.sh ├── config ├── detekt │ ├── .editorconfig │ └── detekt.yml └── quality │ ├── checkstyle │ └── checkstyle-config.xml │ ├── findbugs │ └── android-exclude-filter.xml │ ├── pmd │ └── pmd-ruleset.xml │ └── quality.gradle ├── core ├── common │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── mifos │ │ │ │ └── core │ │ │ │ └── common │ │ │ │ ├── network │ │ │ │ ├── MifosDispatchers.kt │ │ │ │ └── di │ │ │ │ │ ├── CoroutineScopesModule.kt │ │ │ │ │ └── DispatchersModule.kt │ │ │ │ └── utils │ │ │ │ ├── AndroidVersionUtil.kt │ │ │ │ ├── Constants.kt │ │ │ │ ├── DateHelper.kt │ │ │ │ ├── FileUtils.kt │ │ │ │ ├── JsonExtension.kt │ │ │ │ ├── LanguageHelper.kt │ │ │ │ ├── MapDeserializer.kt │ │ │ │ ├── Network.kt │ │ │ │ ├── NetworkUtilsWrapper.kt │ │ │ │ ├── Resource.kt │ │ │ │ └── Utils.kt │ │ └── res │ │ │ └── values │ │ │ └── strings.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── mifos │ │ └── core │ │ └── common │ │ └── ExampleUnitTest.kt ├── data │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── mifos │ │ │ └── core │ │ │ └── data │ │ │ ├── di │ │ │ ├── DataModule.kt │ │ │ └── RepositoryModule.kt │ │ │ ├── pagingSource │ │ │ ├── CenterListPagingSource.kt │ │ │ ├── ClientChargesPagingSource.kt │ │ │ └── ClientListPagingSource.kt │ │ │ ├── repository │ │ │ ├── ActivateRepository.kt │ │ │ ├── CenterDetailsRepository.kt │ │ │ ├── CenterListRepository.kt │ │ │ ├── ChargeDialogRepository.kt │ │ │ ├── CheckerInboxRepository.kt │ │ │ ├── CheckerInboxTasksRepository.kt │ │ │ ├── ClientChargeRepository.kt │ │ │ ├── ClientDetailsRepository.kt │ │ │ ├── ClientIdentifierDialogRepository.kt │ │ │ ├── ClientIdentifiersRepository.kt │ │ │ ├── ClientListRepository.kt │ │ │ ├── CreateNewCenterRepository.kt │ │ │ ├── CreateNewClientRepository.kt │ │ │ ├── CreateNewGroupRepository.kt │ │ │ ├── DataTableDataRepository.kt │ │ │ ├── DataTableListRepository.kt │ │ │ ├── DataTableRepository.kt │ │ │ ├── DataTableRowDialogRepository.kt │ │ │ ├── DocumentDialogRepository.kt │ │ │ ├── DocumentListRepository.kt │ │ │ ├── GenerateCollectionSheetRepository.kt │ │ │ ├── GroupDetailsRepository.kt │ │ │ ├── GroupListRepository.kt │ │ │ ├── GroupLoanAccountRepository.kt │ │ │ ├── GroupsListRepository.kt │ │ │ ├── IndividualCollectionSheetDetailsRepository.kt │ │ │ ├── LoanAccountApprovalRepository.kt │ │ │ ├── LoanAccountDisbursementRepository.kt │ │ │ ├── LoanAccountRepository.kt │ │ │ ├── LoanAccountSummaryRepository.kt │ │ │ ├── LoanChargeDialogRepository.kt │ │ │ ├── LoanChargeRepository.kt │ │ │ ├── LoanRepaymentRepository.kt │ │ │ ├── LoanRepaymentScheduleRepository.kt │ │ │ ├── LoanTransactionsRepository.kt │ │ │ ├── LoginRepository.kt │ │ │ ├── NewIndividualCollectionSheetRepository.kt │ │ │ ├── NoteRepository.kt │ │ │ ├── OfflineDashboardRepository.kt │ │ │ ├── PathTrackingRepository.kt │ │ │ ├── PinPointClientRepository.kt │ │ │ ├── PreferenceRepository.kt │ │ │ ├── ReportCategoryRepository.kt │ │ │ ├── ReportDetailRepository.kt │ │ │ ├── SavingsAccountActivateRepository.kt │ │ │ ├── SavingsAccountApprovalRepository.kt │ │ │ ├── SavingsAccountRepository.kt │ │ │ ├── SavingsAccountSummaryRepository.kt │ │ │ ├── SavingsAccountTransactionRepository.kt │ │ │ ├── SearchRepository.kt │ │ │ ├── SignatureRepository.kt │ │ │ ├── SurveyListRepository.kt │ │ │ ├── SurveySubmitRepository.kt │ │ │ ├── SyncCenterPayloadsRepository.kt │ │ │ ├── SyncCentersDialogRepository.kt │ │ │ ├── SyncClientPayloadsRepository.kt │ │ │ ├── SyncClientsDialogRepository.kt │ │ │ ├── SyncGroupPayloadsRepository.kt │ │ │ ├── SyncGroupsDialogRepository.kt │ │ │ ├── SyncLoanRepaymentTransactionRepository.kt │ │ │ ├── SyncSavingsAccountTransactionRepository.kt │ │ │ └── SyncSurveysDialogRepository.kt │ │ │ └── repositoryImp │ │ │ ├── ActivateRepositoryImp.kt │ │ │ ├── CenterDetailsRepositoryImp.kt │ │ │ ├── CenterListRepositoryImp.kt │ │ │ ├── ChargeDialogRepositoryImp.kt │ │ │ ├── CheckerInboxRepositoryImp.kt │ │ │ ├── CheckerInboxTasksRepositoryImp.kt │ │ │ ├── ClientChargeRepositoryImp.kt │ │ │ ├── ClientDetailsRepositoryImp.kt │ │ │ ├── ClientIdentifierDialogRepositoryImp.kt │ │ │ ├── ClientIdentifiersRepositoryImp.kt │ │ │ ├── ClientListRepositoryImp.kt │ │ │ ├── CreateNewCenterRepositoryImp.kt │ │ │ ├── CreateNewClientRepositoryImp.kt │ │ │ ├── CreateNewGroupRepositoryImp.kt │ │ │ ├── DataTableDataRepositoryImp.kt │ │ │ ├── DataTableListRepositoryImp.kt │ │ │ ├── DataTableRepositoryImp.kt │ │ │ ├── DataTableRowDialogRepositoryImp.kt │ │ │ ├── DocumentDialogRepositoryImp.kt │ │ │ ├── DocumentListRepositoryImp.kt │ │ │ ├── GenerateCollectionSheetRepositoryImp.kt │ │ │ ├── GroupDetailsRepositoryImp.kt │ │ │ ├── GroupListRepositoryImp.kt │ │ │ ├── GroupLoanAccountRepositoryImp.kt │ │ │ ├── GroupsListRepositoryImpl.kt │ │ │ ├── IndividualCollectionSheetDetailsRepositoryImp.kt │ │ │ ├── LoanAccountApprovalRepositoryImp.kt │ │ │ ├── LoanAccountDisbursementRepositoryImp.kt │ │ │ ├── LoanAccountRepositoryImp.kt │ │ │ ├── LoanAccountSummaryRepositoryImp.kt │ │ │ ├── LoanChargeDialogRepositoryImp.kt │ │ │ ├── LoanChargeRepositoryImp.kt │ │ │ ├── LoanRepaymentRepositoryImp.kt │ │ │ ├── LoanRepaymentScheduleRepositoryImp.kt │ │ │ ├── LoanTransactionsRepositoryImp.kt │ │ │ ├── LoginRepositoryImp.kt │ │ │ ├── NewIndividualCollectionSheetRepositoryImp.kt │ │ │ ├── NoteRepositoryImp.kt │ │ │ ├── OfflineDashboardRepositoryImp.kt │ │ │ ├── PathTrackingRepositoryImp.kt │ │ │ ├── PinPointClientRepositoryImp.kt │ │ │ ├── PreferenceRepositoryImpl.kt │ │ │ ├── ReportCategoryRepositoryImp.kt │ │ │ ├── ReportDetailRepositoryImp.kt │ │ │ ├── SavingsAccountActivateRepositoryImp.kt │ │ │ ├── SavingsAccountApprovalRepositoryImp.kt │ │ │ ├── SavingsAccountRepositoryImp.kt │ │ │ ├── SavingsAccountSummaryRepositoryImp.kt │ │ │ ├── SavingsAccountTransactionRepositoryImp.kt │ │ │ ├── SearchRepositoryImp.kt │ │ │ ├── SignatureRepositoryImp.kt │ │ │ ├── SurveyListRepositoryImp.kt │ │ │ ├── SurveySubmitRepositoryImp.kt │ │ │ ├── SyncCenterPayloadsRepositoryImp.kt │ │ │ ├── SyncCentersDialogRepositoryImp.kt │ │ │ ├── SyncClientPayloadsRepositoryImp.kt │ │ │ ├── SyncClientsDialogRepositoryImp.kt │ │ │ ├── SyncGroupPayloadsRepositoryImp.kt │ │ │ ├── SyncGroupsDialogRepositoryImp.kt │ │ │ ├── SyncLoanRepaymentTransactionRepositoryImp.kt │ │ │ ├── SyncSavingsAccountTransactionRepositoryImp.kt │ │ │ └── SyncSurveysDialogRepositoryImp.kt │ │ └── test │ │ └── java │ │ └── com │ │ └── mifos │ │ └── core │ │ └── data │ │ └── ExampleUnitTest.kt ├── database │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ └── com │ │ └── mifos │ │ └── core │ │ ├── data │ │ ├── CenterPayload.kt │ │ ├── ChargesPayload.kt │ │ ├── GroupLoanPayload.kt │ │ ├── LoansPayload.kt │ │ └── SavingsPayload.kt │ │ ├── database │ │ ├── MifosDatabase.kt │ │ └── MigrationVersion2.kt │ │ ├── databasehelper │ │ ├── DatabaseHelperCenter.kt │ │ ├── DatabaseHelperCharge.kt │ │ ├── DatabaseHelperClient.kt │ │ ├── DatabaseHelperDataTable.kt │ │ ├── DatabaseHelperGroups.kt │ │ ├── DatabaseHelperLoan.kt │ │ ├── DatabaseHelperNote.kt │ │ ├── DatabaseHelperOffices.kt │ │ ├── DatabaseHelperSavings.kt │ │ ├── DatabaseHelperStaff.kt │ │ └── DatabaseHelperSurveys.kt │ │ ├── di │ │ └── DatabaseModule.kt │ │ ├── model │ │ ├── APIEndPoint.kt │ │ ├── BulkRepaymentTransactions.kt │ │ ├── ClientsAttendance.kt │ │ └── MifosBaseModel.kt │ │ └── objects │ │ ├── Changes.kt │ │ ├── ErrorSyncServerMessage.kt │ │ ├── PaymentTypeOption.kt │ │ ├── SearchedEntity.kt │ │ ├── Timeline.kt │ │ ├── accounts │ │ ├── CenterAccounts.kt │ │ ├── ClientAccounts.kt │ │ ├── GroupAccounts.kt │ │ ├── loan │ │ │ ├── AccountLinkingOptions.kt │ │ │ ├── ActualDisbursementDate.kt │ │ │ ├── AmortizationType.kt │ │ │ ├── Currency.kt │ │ │ ├── DaysInMonthType.kt │ │ │ ├── DaysInYearType.kt │ │ │ ├── InterestCalculationPeriodType.kt │ │ │ ├── InterestRateFrequencyType.kt │ │ │ ├── InterestType.kt │ │ │ ├── Loan.kt │ │ │ ├── LoanAccount.kt │ │ │ ├── LoanApproval.kt │ │ │ ├── LoanApprovalData.kt │ │ │ ├── LoanApprovalRequest.kt │ │ │ ├── LoanDisbursement.kt │ │ │ ├── LoanPurposeOptions.kt │ │ │ ├── LoanRepaymentRequest.kt │ │ │ ├── LoanRepaymentResponse.kt │ │ │ ├── LoanType.kt │ │ │ ├── LoanWithAssociations.kt │ │ │ ├── Loans.kt │ │ │ ├── PaymentDetailData.kt │ │ │ ├── PaymentType.kt │ │ │ ├── PaymentTypeOptions.kt │ │ │ ├── Period.kt │ │ │ ├── RepaymentFrequencyDayOfWeekType.kt │ │ │ ├── RepaymentFrequencyNthDayType.kt │ │ │ ├── RepaymentFrequencyType.kt │ │ │ ├── RepaymentFrequencyTypeOptions.kt │ │ │ ├── RepaymentSchedule.kt │ │ │ ├── SavingsApproval.kt │ │ │ ├── Status.kt │ │ │ ├── Summary.kt │ │ │ ├── TermFrequencyTypeOptions.kt │ │ │ ├── TermPeriodFrequencyType.kt │ │ │ ├── Timeline.kt │ │ │ ├── Transaction.kt │ │ │ ├── TransactionProcessingStrategy.kt │ │ │ └── Type.kt │ │ └── savings │ │ │ ├── Charge.kt │ │ │ ├── ChargeCalculationType.kt │ │ │ ├── ChargeTimeType.kt │ │ │ ├── Currency.kt │ │ │ ├── DepositType.kt │ │ │ ├── FieldOfficerOptions.kt │ │ │ ├── InterestCalculationDaysInYearType.kt │ │ │ ├── InterestCalculationType.kt │ │ │ ├── InterestCompoundingPeriodType.kt │ │ │ ├── InterestPostingPeriodType.kt │ │ │ ├── LockinPeriodFrequencyType.kt │ │ │ ├── SavingsAccount.kt │ │ │ ├── SavingsAccountTransactionRequest.kt │ │ │ ├── SavingsAccountTransactionResponse.kt │ │ │ ├── SavingsAccountWithAssociations.kt │ │ │ ├── SavingsSummaryData.kt │ │ │ ├── SavingsTransactionData.kt │ │ │ ├── SavingsTransactionDate.kt │ │ │ ├── Status.kt │ │ │ ├── Summary.kt │ │ │ ├── Timeline.kt │ │ │ ├── Transaction.kt │ │ │ └── TransactionType.kt │ │ ├── checkerinboxandtasks │ │ ├── CheckerInboxSearchTemplate.kt │ │ ├── CheckerTask.kt │ │ ├── RescheduleLoansTask.kt │ │ └── RescheduleReasonCodeValue.kt │ │ ├── client │ │ ├── ActivatePayload.kt │ │ ├── Address.kt │ │ ├── ChargeCalculationType.kt │ │ ├── ChargeCreationResponse.kt │ │ ├── ChargeTimeType.kt │ │ ├── Charges.kt │ │ ├── ChargesRename.kt │ │ ├── Client.kt │ │ ├── ClientAddressRequest.kt │ │ ├── ClientAddressResponse.kt │ │ ├── ClientDate.kt │ │ ├── ClientPayload.kt │ │ ├── Currency.kt │ │ ├── Page.kt │ │ ├── PageItem.kt │ │ ├── Permission.kt │ │ ├── Role.kt │ │ ├── Savings.kt │ │ └── Status.kt │ │ ├── collectionsheet │ │ ├── AttendanceTypeOption.kt │ │ ├── BulkSavingsDueTransaction.kt │ │ ├── CenterDetail.kt │ │ ├── ClientCollectionSheet.kt │ │ ├── CollectionFrequency.kt │ │ ├── CollectionMeetingCalendar.kt │ │ ├── CollectionSheetPayload.kt │ │ ├── CollectionSheetRequestPayload.kt │ │ ├── CollectionSheetResponse.kt │ │ ├── EntityType.kt │ │ ├── GroupCollectionSheet.kt │ │ ├── IndividualCollectionSheet.kt │ │ ├── LoanAndClientName.kt │ │ ├── LoanCollectionSheet.kt │ │ ├── MeetingFallCalendar.kt │ │ ├── ProductiveCollectionSheetPayload.kt │ │ ├── SavingsCollectionSheet.kt │ │ └── SavingsProduct.kt │ │ ├── common │ │ └── InterestType.kt │ │ ├── db │ │ ├── Account.kt │ │ ├── AttendanceType.kt │ │ ├── Client.kt │ │ ├── CollectionMeetingCalendar.kt │ │ ├── CollectionSheet.kt │ │ ├── Currency.kt │ │ ├── EntityType.kt │ │ ├── Loan.kt │ │ ├── MeetingCenter.kt │ │ ├── MeetingDate.kt │ │ ├── MifosGroup.kt │ │ ├── OfflineCenter.kt │ │ ├── RepaymentTransaction.kt │ │ └── Status.kt │ │ ├── group │ │ ├── Center.kt │ │ ├── CenterDate.kt │ │ ├── CenterInfo.kt │ │ ├── CenterWithAssociations.kt │ │ ├── Group.kt │ │ ├── GroupDate.kt │ │ ├── GroupPayload.kt │ │ └── GroupWithAssociations.kt │ │ ├── mifoserror │ │ ├── Arg.kt │ │ ├── Errors.kt │ │ └── MifosError.kt │ │ ├── navigation │ │ ├── ClientArgs.kt │ │ ├── ClientListArgs.kt │ │ ├── DataTableDataNavigationArg.kt │ │ └── DataTableNavigationArg.kt │ │ ├── noncore │ │ ├── ColumnHeader.kt │ │ ├── ColumnValue.kt │ │ ├── DataTable.kt │ │ ├── DataTablePayload.kt │ │ ├── Document.kt │ │ ├── DocumentType.kt │ │ ├── Identifier.kt │ │ ├── IdentifierCreationResponse.kt │ │ ├── IdentifierPayload.kt │ │ ├── IdentifierTemplate.kt │ │ ├── IdentifierType.kt │ │ └── Note.kt │ │ ├── organisation │ │ ├── AccountingRule.kt │ │ ├── AllowAttributeOverrides.kt │ │ ├── AmortizationType.kt │ │ ├── ClientClassificationOptions.kt │ │ ├── ClientTypeOptions.kt │ │ ├── Currency.kt │ │ ├── DaysInMonthType.kt │ │ ├── DaysInYearType.kt │ │ ├── GenderOptions.kt │ │ ├── InterestCalculationDaysInYearType.kt │ │ ├── InterestCalculationPeriodType.kt │ │ ├── InterestCalculationTypeOptions.kt │ │ ├── InterestCompoundingPeriod.kt │ │ ├── InterestPostingPeriodType.kt │ │ ├── InterestRateFrequencyType.kt │ │ ├── InterestType.kt │ │ ├── LoanFund.kt │ │ ├── LoanProducts.kt │ │ ├── LoanPurpose.kt │ │ ├── Office.kt │ │ ├── OfficeOpeningDate.kt │ │ ├── ProductSavings.kt │ │ ├── RepaymentFrequencyType.kt │ │ └── Staff.kt │ │ ├── response │ │ └── SaveResponse.kt │ │ ├── runreports │ │ ├── ColumnHeader.kt │ │ ├── DataRow.kt │ │ ├── FullParameterListResponse.kt │ │ └── client │ │ │ └── ClientReportTypeItem.kt │ │ ├── survey │ │ ├── ComponentDatas.kt │ │ ├── QuestionDatas.kt │ │ ├── ResponseDatas.kt │ │ ├── Scorecard.kt │ │ ├── ScorecardValues.kt │ │ └── Survey.kt │ │ ├── system │ │ ├── Code.kt │ │ └── CodeValue.kt │ │ ├── templates │ │ ├── clients │ │ │ ├── AddressTemplate.kt │ │ │ ├── ChargeAppliesTo.kt │ │ │ ├── ChargeCalculationType.kt │ │ │ ├── ChargeOptions.kt │ │ │ ├── ChargePaymentMode.kt │ │ │ ├── ChargeTemplate.kt │ │ │ ├── ChargeTimeType.kt │ │ │ ├── ClientsTemplate.kt │ │ │ ├── Currency.kt │ │ │ ├── IncomeOrLiabilityAccount.kt │ │ │ ├── InterestType.kt │ │ │ ├── OfficeOptions.kt │ │ │ ├── Options.kt │ │ │ ├── SavingProductOptions.kt │ │ │ └── StaffOptions.kt │ │ ├── loans │ │ │ ├── AccountingRule.kt │ │ │ ├── AllowAttributeOverrides.kt │ │ │ ├── AmortizationType.kt │ │ │ ├── AmortizationTypeOptions.kt │ │ │ ├── CalendarOptions.kt │ │ │ ├── CalendarOptionsType.kt │ │ │ ├── ChargeAppliesTo.kt │ │ │ ├── ChargeCalculationType.kt │ │ │ ├── ChargeOptions.kt │ │ │ ├── ChargePaymentMode.kt │ │ │ ├── ChargeTimeType.kt │ │ │ ├── Charges.kt │ │ │ ├── Currency.kt │ │ │ ├── DaysInMonthType.kt │ │ │ ├── DaysInYearType.kt │ │ │ ├── EntityType.kt │ │ │ ├── Frequency.kt │ │ │ ├── FundOptions.kt │ │ │ ├── Group.kt │ │ │ ├── GroupLoanTemplate.kt │ │ │ ├── GroupTimeline.kt │ │ │ ├── InterestCalculationPeriodType.kt │ │ │ ├── InterestCalculationPeriodTypeOptions.kt │ │ │ ├── InterestRateFrequencyType.kt │ │ │ ├── InterestRateFrequencyTypeOptions.kt │ │ │ ├── InterestRecalculationCompoundingType.kt │ │ │ ├── InterestRecalculationData.kt │ │ │ ├── InterestType.kt │ │ │ ├── InterestTypeOptions.kt │ │ │ ├── LoanCollateralOptions.kt │ │ │ ├── LoanOfficerOptions.kt │ │ │ ├── LoanPurposeOptions.kt │ │ │ ├── LoanRepaymentTemplate.kt │ │ │ ├── LoanTemplate.kt │ │ │ ├── LoanTransactionTemplate.kt │ │ │ ├── OverdueCharges.kt │ │ │ ├── PreClosureInterestCalculationStrategy.kt │ │ │ ├── Product.kt │ │ │ ├── ProductOptions.kt │ │ │ ├── RecalculationRestFrequencyType.kt │ │ │ ├── RepaymentFrequencyDaysOfWeekTypeOptions.kt │ │ │ ├── RepaymentFrequencyNthDayTypeOptions.kt │ │ │ ├── RepaymentFrequencyType.kt │ │ │ ├── RepaymentFrequencyTypeOptions.kt │ │ │ ├── RepeatsOnNthDayOfMonth.kt │ │ │ ├── RescheduleStrategyType.kt │ │ │ ├── Status.kt │ │ │ ├── TaxGroup.kt │ │ │ ├── TermFrequencyTypeOptions.kt │ │ │ ├── TermPeriodFrequencyType.kt │ │ │ ├── Timeline.kt │ │ │ ├── TransactionProcessingStrategyOptions.kt │ │ │ └── Type.kt │ │ └── savings │ │ │ ├── AccountOptions.kt │ │ │ ├── SavingProductsTemplate.kt │ │ │ ├── SavingsAccountTransactionTemplate.kt │ │ │ └── TagId.kt │ │ ├── user │ │ ├── UserLatLng.kt │ │ └── UserLocation.kt │ │ └── zipmodels │ │ ├── ClientAndClientAccounts.kt │ │ ├── GroupAndGroupAccounts.kt │ │ ├── LoanAndLoanRepayment.kt │ │ ├── SavingProductsAndTemplate.kt │ │ └── SavingsAccountAndTransactionTemplate.kt ├── datastore │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── mifos │ │ │ └── core │ │ │ └── datastore │ │ │ └── PrefManager.kt │ │ └── test │ │ └── java │ │ └── com │ │ └── mifos │ │ └── core │ │ └── database │ │ └── ExampleUnitTest.kt ├── designsystem │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── mifos │ │ │ │ └── core │ │ │ │ └── designsystem │ │ │ │ ├── component │ │ │ │ ├── DrawingState.kt │ │ │ │ ├── MifosAlertDailog.kt │ │ │ │ ├── MifosAndroidClientIcon.kt │ │ │ │ ├── MifosBottomSheet.kt │ │ │ │ ├── MifosDrawingCanvas.kt │ │ │ │ ├── MifosEditTextField.kt │ │ │ │ ├── MifosEmptyContent.kt │ │ │ │ ├── MifosMenuDropdown.kt │ │ │ │ ├── MifosPermissionBox.kt │ │ │ │ ├── MifosProgressIndicator.kt │ │ │ │ ├── MifosScaffold.kt │ │ │ │ ├── MifosSweetError.kt │ │ │ │ ├── MifosTabRow.kt │ │ │ │ └── MifosTextFieldDropdown.kt │ │ │ │ ├── icon │ │ │ │ └── MifosIcons.kt │ │ │ │ ├── theme │ │ │ │ ├── Color.kt │ │ │ │ ├── MifosTextStyle.kt │ │ │ │ ├── Theme.kt │ │ │ │ └── Type.kt │ │ │ │ └── utility │ │ │ │ ├── PathState.kt │ │ │ │ └── TabContent.kt │ │ └── res │ │ │ ├── drawable │ │ │ └── core_designsystem_ic_error_black_24dp.xml │ │ │ ├── font │ │ │ ├── core_designsystem_lato_black.ttf │ │ │ ├── core_designsystem_lato_bold.ttf │ │ │ └── core_designsystem_lato_regular.ttf │ │ │ └── values │ │ │ └── strings.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── mifos │ │ └── core │ │ └── designsystem │ │ └── ExampleUnitTest.kt ├── domain │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── mifos │ │ │ │ └── core │ │ │ │ └── domain │ │ │ │ ├── di │ │ │ │ └── UseCaseModule.kt │ │ │ │ ├── useCases │ │ │ │ ├── ActivateCenterUseCase.kt │ │ │ │ ├── ActivateClientUseCase.kt │ │ │ │ ├── ActivateGroupUseCase.kt │ │ │ │ ├── ActivateSavingsUseCase.kt │ │ │ │ ├── AddClientPinpointLocationUseCase.kt │ │ │ │ ├── AddDataTableEntryUseCase.kt │ │ │ │ ├── AllDatabaseCenterPayloadUseCase.kt │ │ │ │ ├── AllDatabaseGroupPayloadUseCase.kt │ │ │ │ ├── AllSavingsAccountTransactionsUseCase.kt │ │ │ │ ├── ApproveCheckerUseCase.kt │ │ │ │ ├── ApproveSavingsApplicationUseCase.kt │ │ │ │ ├── ClientTemplateUseCase.kt │ │ │ │ ├── CreateCenterUseCase.kt │ │ │ │ ├── CreateChargesUseCase.kt │ │ │ │ ├── CreateClientIdentifierUseCase.kt │ │ │ │ ├── CreateDocumentUseCase.kt │ │ │ │ ├── CreateGroupLoansAccountUseCase.kt │ │ │ │ ├── CreateGroupUseCase.kt │ │ │ │ ├── CreateLoanAccountUseCase.kt │ │ │ │ ├── CreateLoanChargesUseCase.kt │ │ │ │ ├── CreateNewCenterUseCase.kt │ │ │ │ ├── CreateNewGroupUseCase.kt │ │ │ │ ├── CreateSavingsAccountUseCase.kt │ │ │ │ ├── DeleteAndUpdateCenterPayloadsUseCase.kt │ │ │ │ ├── DeleteAndUpdateGroupPayloadUseCase.kt │ │ │ │ ├── DeleteAndUpdateTransactionsUseCase.kt │ │ │ │ ├── DeleteCheckerUseCase.kt │ │ │ │ ├── DeleteClientAddressPinpointUseCase.kt │ │ │ │ ├── DeleteClientImageUseCase.kt │ │ │ │ ├── DeleteDataTableEntryUseCase.kt │ │ │ │ ├── DeleteIdentifierUseCase.kt │ │ │ │ ├── DownloadDocumentUseCase.kt │ │ │ │ ├── FetchCenterDetailsUseCase.kt │ │ │ │ ├── FetchCollectionSheetUseCase.kt │ │ │ │ ├── FetchGroupsAssociatedWithCenterUseCase.kt │ │ │ │ ├── FetchProductiveCollectionSheetUseCase.kt │ │ │ │ ├── GetAllChargesV2UseCase.kt │ │ │ │ ├── GetAllChargesV3UseCase.kt │ │ │ │ ├── GetAllLoanUseCase.kt │ │ │ │ ├── GetCenterDetailsUseCase.kt │ │ │ │ ├── GetCenterListDbUseCase.kt │ │ │ │ ├── GetCentersInOfficeUseCase.kt │ │ │ │ ├── GetCheckerInboxBadgesUseCase.kt │ │ │ │ ├── GetCheckerTasksUseCase.kt │ │ │ │ ├── GetClientDetailsUseCase.kt │ │ │ │ ├── GetClientIdentifierTemplateUseCase.kt │ │ │ │ ├── GetClientIdentifiersUseCase.kt │ │ │ │ ├── GetClientPinpointLocationsUseCase.kt │ │ │ │ ├── GetClientSavingsAccountTemplateByProductUseCase.kt │ │ │ │ ├── GetDataTableInfoUseCase.kt │ │ │ │ ├── GetDocumentsListUseCase.kt │ │ │ │ ├── GetGroupAssociateClientsUseCase.kt │ │ │ │ ├── GetGroupDetailsUseCase.kt │ │ │ │ ├── GetGroupLoansAccountTemplateUseCase.kt │ │ │ │ ├── GetGroupOfficesUseCase.kt │ │ │ │ ├── GetGroupSavingsAccountTemplateByProductUseCase.kt │ │ │ │ ├── GetGroupsByCenterUseCase.kt │ │ │ │ ├── GetGroupsByOfficeUseCase.kt │ │ │ │ ├── GetGroupsUseCase.kt │ │ │ │ ├── GetIndividualCollectionSheetUseCase.kt │ │ │ │ ├── GetListOfLoanChargesUseCase.kt │ │ │ │ ├── GetLoansAccountTemplateUseCase.kt │ │ │ │ ├── GetOfficeListUseCase.kt │ │ │ │ ├── GetReportCategoryUseCase.kt │ │ │ │ ├── GetReportFullParameterListUseCase.kt │ │ │ │ ├── GetReportParameterDetailsUseCase.kt │ │ │ │ ├── GetRunReportOfficesUseCase.kt │ │ │ │ ├── GetRunReportProductUseCase.kt │ │ │ │ ├── GetRunReportWithQueryUseCase.kt │ │ │ │ ├── GetSavingsAccountTransactionTemplateUseCase.kt │ │ │ │ ├── GetSavingsAccountTransactionUseCase.kt │ │ │ │ ├── GetSavingsAccountUseCase.kt │ │ │ │ ├── GetStaffInOfficeForCreateNewClientUseCase.kt │ │ │ │ ├── GetStaffInOfficeUseCase.kt │ │ │ │ ├── GetUserPathTrackingUseCase.kt │ │ │ │ ├── GroupsListPagingDataSource.kt │ │ │ │ ├── LoadSavingsAccountsAndTemplateUseCase.kt │ │ │ │ ├── LoginUseCase.kt │ │ │ │ ├── PasswordValidationUseCase.kt │ │ │ │ ├── PaymentTypeOptionUseCase.kt │ │ │ │ ├── ProcessTransactionUseCase.kt │ │ │ │ ├── RejectCheckerUseCase.kt │ │ │ │ ├── RemoveDocumentUseCase.kt │ │ │ │ ├── SaveIndividualCollectionSheetUseCase.kt │ │ │ │ ├── ServerConfigValidatorUseCase.kt │ │ │ │ ├── SubmitCollectionSheetUseCase.kt │ │ │ │ ├── SubmitProductiveSheetUseCase.kt │ │ │ │ ├── UpdateCenterPayloadUseCase.kt │ │ │ │ ├── UpdateClientPinpointUseCase.kt │ │ │ │ ├── UpdateGroupPayloadUseCase.kt │ │ │ │ ├── UpdateLoanRepaymentTransactionUseCase.kt │ │ │ │ ├── UploadClientImageUseCase.kt │ │ │ │ ├── UsernameValidationUseCase.kt │ │ │ │ ├── ValidateServerApiPathUseCase.kt │ │ │ │ ├── ValidateServerEndPointUseCase.kt │ │ │ │ ├── ValidateServerPortUseCase.kt │ │ │ │ ├── ValidateServerProtocolUseCase.kt │ │ │ │ └── ValidateServerTenantUseCase.kt │ │ │ │ └── utils │ │ │ │ └── ValidationResult.kt │ │ └── res │ │ │ └── values │ │ │ └── string.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── mifos │ │ └── core │ │ └── domain │ │ ├── ExampleUnitTest.kt │ │ └── GroupListPagingSourceTest.kt ├── model │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ └── kotlin │ │ └── com │ │ └── mifos │ │ └── core │ │ └── model │ │ ├── DarkThemeConfig.kt │ │ ├── MifosAppLanguage.kt │ │ ├── ServerConfig.kt │ │ ├── ThemeBrand.kt │ │ └── UserData.kt ├── network │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── mifos │ │ │ └── core │ │ │ └── network │ │ │ ├── BaseApiManager.kt │ │ │ ├── DataManager.kt │ │ │ ├── GenericRequest.kt │ │ │ ├── GenericResponse.kt │ │ │ ├── MifosInterceptor.kt │ │ │ ├── MifosOkHttpClient.kt │ │ │ ├── UnsafeSSLSocketFactory.kt │ │ │ ├── adapter │ │ │ ├── FlowCallAdapterFactory.kt │ │ │ └── internal │ │ │ │ ├── BodyCallAdapter.kt │ │ │ │ ├── InternalUtil.kt │ │ │ │ └── ResponseCallAdapter.kt │ │ │ ├── datamanager │ │ │ ├── DataManagerAuth.kt │ │ │ ├── DataManagerCenter.kt │ │ │ ├── DataManagerCharge.kt │ │ │ ├── DataManagerCheckerInbox.kt │ │ │ ├── DataManagerClient.kt │ │ │ ├── DataManagerCollectionSheet.kt │ │ │ ├── DataManagerDataTable.kt │ │ │ ├── DataManagerDocument.kt │ │ │ ├── DataManagerGroups.kt │ │ │ ├── DataManagerLoan.kt │ │ │ ├── DataManagerNote.kt │ │ │ ├── DataManagerOffices.kt │ │ │ ├── DataManagerRunReport.kt │ │ │ ├── DataManagerSavings.kt │ │ │ ├── DataManagerSearch.kt │ │ │ ├── DataManagerStaff.kt │ │ │ └── DataManagerSurveys.kt │ │ │ ├── datamanger │ │ │ └── DataManagerAuth.kt │ │ │ ├── di │ │ │ └── NetworkModule.kt │ │ │ ├── mappers │ │ │ ├── centers │ │ │ │ ├── CenterMapper.kt │ │ │ │ └── GetCentersResponseMapper.kt │ │ │ ├── clients │ │ │ │ ├── ClientMapper.kt │ │ │ │ ├── GetClientResponseMapper.kt │ │ │ │ ├── GetClientsClientIdAccountMapper.kt │ │ │ │ ├── GetIdentifiersTemplateMapper.kt │ │ │ │ └── IdentifierMapper.kt │ │ │ ├── dataTable │ │ │ │ └── GetDataTablesResponseMapper.kt │ │ │ ├── groups │ │ │ │ ├── GetGroupsResponseMapper.kt │ │ │ │ └── GroupMapper.kt │ │ │ ├── offices │ │ │ │ └── GetOfficeResponseMapper.kt │ │ │ └── staffs │ │ │ │ └── StaffMapper.kt │ │ │ ├── model │ │ │ ├── Changes.kt │ │ │ ├── CollectionSheetPayload.kt │ │ │ ├── DefaultPayload.kt │ │ │ ├── IndividualCollectionSheetPayload.kt │ │ │ ├── Payload.kt │ │ │ ├── RequestCollectionSheetPayload.kt │ │ │ └── ScorecardPayload.kt │ │ │ ├── services │ │ │ ├── AuthService.kt │ │ │ ├── CenterService.kt │ │ │ ├── ChargeService.kt │ │ │ ├── CheckerInboxService.kt │ │ │ ├── ClientAccountsService.kt │ │ │ ├── ClientService.kt │ │ │ ├── CollectionSheetService.kt │ │ │ ├── DataTableService.kt │ │ │ ├── DocumentService.kt │ │ │ ├── GroupService.kt │ │ │ ├── LoanService.kt │ │ │ ├── NoteService.kt │ │ │ ├── OfficeService.kt │ │ │ ├── RunReportsService.kt │ │ │ ├── SavingsAccountService.kt │ │ │ ├── SearchService.kt │ │ │ ├── StaffService.kt │ │ │ └── SurveyService.kt │ │ │ └── utils │ │ │ └── ImageLoaderUtils.kt │ │ └── test │ │ └── java │ │ └── com │ │ └── mifos │ │ └── core │ │ └── network │ │ └── ExampleUnitTest.kt ├── testing │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ └── com │ │ └── mifos │ │ └── core │ │ └── testing │ │ ├── MifosTestRunner.kt │ │ ├── di │ │ ├── TestDispatcherModule.kt │ │ └── TestDispatchersModule.kt │ │ ├── repository │ │ ├── TestGroupsListRepository.kt │ │ └── TestSearchRepository.kt │ │ └── util │ │ └── MainDispatcherRule.kt └── ui │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── mifos │ │ └── core │ │ └── ui │ │ └── ExampleInstrumentedTest.kt │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── mifos │ │ │ └── core │ │ │ └── ui │ │ │ ├── components │ │ │ ├── MifosEmptyUi.kt │ │ │ ├── MifosFAB.kt │ │ │ ├── MifosToolbar.kt │ │ │ └── MultiFloatingActionButton.kt │ │ │ └── util │ │ │ ├── DevicePreviews.kt │ │ │ ├── GroupListPreviewParameterProvider.kt │ │ │ └── SearchResultPreviewParameter.kt │ └── res │ │ ├── drawable │ │ ├── core_ui_ic_centers_24dp.xml │ │ ├── core_ui_ic_group_black_24dp.xml │ │ └── core_ui_ic_person_black_24dp.xml │ │ └── values │ │ └── core_ui_strings.xml │ └── test │ └── java │ └── com │ └── mifos │ └── core │ └── ui │ └── ExampleUnitTest.kt ├── fastlane-config ├── android_config.rb └── ios_config.rb ├── fastlane ├── AppFile ├── FastFile ├── PluginFile ├── README.md ├── config │ └── config_helpers.rb └── metadata │ └── android │ └── en-US │ ├── changelogs │ ├── 6.txt │ └── default.txt │ ├── full_description.txt │ ├── images │ ├── featureGraphic.png │ ├── icon.png │ └── phoneScreenshots │ │ ├── 1_en-US.png │ │ ├── 2_en-US.png │ │ ├── 3_en-US.png │ │ ├── 4_en-US.png │ │ ├── 5_en-US.png │ │ ├── 6_en-US.png │ │ ├── 7_en-US.png │ │ └── 8_en-US.png │ ├── short_description.txt │ ├── title.txt │ └── video.txt ├── feature ├── about │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── mifos │ │ │ └── feature │ │ │ └── about │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── mifos │ │ │ │ └── feature │ │ │ │ └── about │ │ │ │ ├── AboutItem.kt │ │ │ │ ├── AboutScreen.kt │ │ │ │ ├── AboutUiState.kt │ │ │ │ ├── AboutViewModel.kt │ │ │ │ └── navigation │ │ │ │ ├── AboutScreens.kt │ │ │ │ └── AccountNavigation.kt │ │ └── res │ │ │ ├── drawable │ │ │ ├── feature_about_ic_launcher.png │ │ │ ├── feature_about_ic_source_code.xml │ │ │ ├── feature_about_ic_website.xml │ │ │ └── feature_about_icon_twitter.xml │ │ │ └── values │ │ │ └── strings.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── mifos │ │ └── feature │ │ └── about │ │ └── ExampleUnitTest.kt ├── activate │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── mifos │ │ │ └── feature │ │ │ └── activate │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── mifos │ │ │ │ └── feature │ │ │ │ └── activate │ │ │ │ ├── ActivateScreen.kt │ │ │ │ ├── ActivateUiState.kt │ │ │ │ ├── ActivateViewModel.kt │ │ │ │ └── navigation │ │ │ │ ├── ActivateNavigation.kt │ │ │ │ └── ActivateScreens.kt │ │ └── res │ │ │ └── values │ │ │ └── strings.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── mifos │ │ └── feature │ │ └── activate │ │ └── ExampleUnitTest.kt ├── auth │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── mifos │ │ │ └── feature │ │ │ └── auth │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── mifos │ │ │ │ └── feature │ │ │ │ └── auth │ │ │ │ ├── login │ │ │ │ ├── LoginScreen.kt │ │ │ │ ├── LoginUiState.kt │ │ │ │ └── LoginViewModel.kt │ │ │ │ └── navigation │ │ │ │ ├── AuthNavigation.kt │ │ │ │ └── AuthScreens.kt │ │ └── res │ │ │ ├── drawable │ │ │ └── feature_auth_mifos_logo.jpg │ │ │ └── values │ │ │ └── strings.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── mifos │ │ └── feature │ │ └── auth │ │ └── ExampleUnitTest.kt ├── center │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── mifos │ │ │ └── feature │ │ │ └── center │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── mifos │ │ │ │ └── feature │ │ │ │ └── center │ │ │ │ ├── centerDetails │ │ │ │ ├── CenterDetailsScreen.kt │ │ │ │ ├── CenterDetailsUiState.kt │ │ │ │ └── CenterDetailsViewModel.kt │ │ │ │ ├── centerGroupList │ │ │ │ ├── GroupListScreen.kt │ │ │ │ ├── GroupListUiState.kt │ │ │ │ └── GroupListViewModel.kt │ │ │ │ ├── centerList │ │ │ │ └── ui │ │ │ │ │ ├── CenterListScreen.kt │ │ │ │ │ ├── CenterListUiState.kt │ │ │ │ │ └── CenterListViewModel.kt │ │ │ │ ├── createCenter │ │ │ │ ├── CreateNewCenterScreen.kt │ │ │ │ ├── CreateNewCenterUiState.kt │ │ │ │ └── CreateNewCenterViewModel.kt │ │ │ │ ├── navigation │ │ │ │ ├── CenterNavigation.kt │ │ │ │ └── CenterScreens.kt │ │ │ │ └── syncCentersDialog │ │ │ │ ├── SyncCentersDialogScreen.kt │ │ │ │ ├── SyncCentersDialogUiState.kt │ │ │ │ └── SyncCentersDialogViewModel.kt │ │ └── res │ │ │ ├── drawable │ │ │ └── feature_center_ic_done_all_black_24dp.xml │ │ │ └── values │ │ │ └── strings.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── mifos │ │ └── feature │ │ └── center │ │ └── ExampleUnitTest.kt ├── checker-inbox-task │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── mifos │ │ │ └── feature │ │ │ └── checkerInboxTask │ │ │ ├── checkerInbox │ │ │ ├── CheckerInboxScreen.kt │ │ │ ├── CheckerInboxUiState.kt │ │ │ └── CheckerInboxViewModel.kt │ │ │ ├── checkerInboxDialog │ │ │ ├── CheckerInboxTasksFilterDialog.kt │ │ │ └── CheckerInboxViewModel.kt │ │ │ ├── checkerInboxTasks │ │ │ ├── CheckerInboxTasksScreen.kt │ │ │ ├── CheckerInboxTasksUiState.kt │ │ │ └── CheckerInboxTasksViewModel.kt │ │ │ └── navigation │ │ │ ├── CheckerInboxTaskNavigation.kt │ │ │ └── CheckerInboxTaskScreens.kt │ │ └── res │ │ ├── drawable │ │ ├── feature_checker_inbox_task_ic_assignment_black_24dp.xml │ │ ├── feature_checker_inbox_task_ic_done_all_24dp.xml │ │ ├── feature_checker_inbox_task_ic_mail_outline_24dp.xml │ │ ├── feature_checker_inbox_task_ic_restore_24dp.xml │ │ └── feature_checker_inbox_task_ic_supervisor_account_24dp.xml │ │ └── values │ │ └── strings.xml ├── client │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── mifos │ │ │ └── feature │ │ │ └── client │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── mifos │ │ │ │ └── feature │ │ │ │ └── client │ │ │ │ ├── clientChargeDialog │ │ │ │ ├── ChargeDialogScreen.kt │ │ │ │ ├── ChargeDialogUiState.kt │ │ │ │ └── ChargeDialogViewModel.kt │ │ │ │ ├── clientCharges │ │ │ │ ├── ClientChargeUiState.kt │ │ │ │ ├── ClientChargesScreen.kt │ │ │ │ └── ClientChargesViewModel.kt │ │ │ │ ├── clientDetails │ │ │ │ └── ui │ │ │ │ │ ├── ClientDetailsScreen.kt │ │ │ │ │ ├── ClientDetailsUiState.kt │ │ │ │ │ └── ClientDetailsViewModel.kt │ │ │ │ ├── clientIdentifiers │ │ │ │ ├── ClientIdentifiersScreen.kt │ │ │ │ ├── ClientIdentifiersUiState.kt │ │ │ │ └── ClientIdentifiersViewModel.kt │ │ │ │ ├── clientIdentifiersDialog │ │ │ │ ├── ClientIdentifierDialogUiState.kt │ │ │ │ ├── ClientIdentifiersDialogScreen.kt │ │ │ │ └── ClientIdentifiersDialogViewModel.kt │ │ │ │ ├── clientList │ │ │ │ └── presentation │ │ │ │ │ ├── ClientListScreen.kt │ │ │ │ │ ├── ClientListUiState.kt │ │ │ │ │ └── ClientListViewModel.kt │ │ │ │ ├── clientPinpoint │ │ │ │ ├── PinPointClientUiState.kt │ │ │ │ ├── PinPointClientViewModel.kt │ │ │ │ └── PinpointClientScreen.kt │ │ │ │ ├── clientSignature │ │ │ │ ├── SignatureScreen.kt │ │ │ │ ├── SignatureUiState.kt │ │ │ │ └── SignatureViewModel.kt │ │ │ │ ├── clientSurveyList │ │ │ │ ├── SurveyListScreen.kt │ │ │ │ ├── SurveyListUiState.kt │ │ │ │ └── SurveyListViewModel.kt │ │ │ │ ├── clientSurveyQuestion │ │ │ │ └── SurveyQuestionScreen.kt │ │ │ │ ├── clientSurveySubmit │ │ │ │ ├── SurveySubmitScreen.kt │ │ │ │ ├── SurveySubmitUiState.kt │ │ │ │ └── SurveySubmitViewModel.kt │ │ │ │ ├── createNewClient │ │ │ │ ├── CreateNewClientScreen.kt │ │ │ │ ├── CreateNewClientUiState.kt │ │ │ │ └── CreateNewClientViewModel.kt │ │ │ │ ├── navigation │ │ │ │ ├── ClientNavigation.kt │ │ │ │ └── ClientScreens.kt │ │ │ │ └── syncClientDialog │ │ │ │ ├── SyncClientsDialogScreen.kt │ │ │ │ ├── SyncClientsDialogUiState.kt │ │ │ │ └── SyncClientsDialogViewModel.kt │ │ └── res │ │ │ ├── drawable │ │ │ ├── feature_client_ic_done_all_black_24dp.xml │ │ │ ├── feature_client_ic_dp_placeholder.png │ │ │ └── feature_client_ic_launcher.png │ │ │ ├── values │ │ │ └── strings.xml │ │ │ └── xml │ │ │ └── feature_client_path_provider.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── mifos │ │ └── feature │ │ └── client │ │ └── ExampleUnitTest.kt ├── collectionSheet │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── mifos │ │ │ └── feature │ │ │ └── individual │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── mifos │ │ │ │ └── feature │ │ │ │ └── individualCollectionSheet │ │ │ │ ├── generateCollectionSheet │ │ │ │ ├── GenerateCollectionSheetScreen.kt │ │ │ │ ├── GenerateCollectionSheetUiState.kt │ │ │ │ └── GenerateCollectionSheetViewModel.kt │ │ │ │ ├── individualCollectionSheet │ │ │ │ └── ui │ │ │ │ │ └── IndividualCollectionSheetScreen.kt │ │ │ │ ├── individualCollectionSheetDetails │ │ │ │ ├── IndividualCollectionSheetDetailsScreen.kt │ │ │ │ ├── IndividualCollectionSheetDetailsUiState.kt │ │ │ │ └── IndividualCollectionSheetDetailsViewModel.kt │ │ │ │ ├── navigation │ │ │ │ ├── CollectionSheetNavigation.kt │ │ │ │ └── CollectionSheetScreens.kt │ │ │ │ ├── newIndividualCollectionSheet │ │ │ │ └── ui │ │ │ │ │ ├── NewIndividualCollectionSheetScreen.kt │ │ │ │ │ ├── NewIndividualCollectionSheetUiState.kt │ │ │ │ │ └── NewIndividualCollectionSheetViewModel.kt │ │ │ │ ├── paymentDetails │ │ │ │ ├── PaymentDetailsScreen.kt │ │ │ │ └── PaymentDetailsViewModel.kt │ │ │ │ └── savedIndividualCollectionSheet │ │ │ │ └── ui │ │ │ │ ├── SavedIndividualCollectionSheetCompose.kt │ │ │ │ └── SavedIndividualCollectionSheetViewModel.kt │ │ └── res │ │ │ ├── drawable │ │ │ └── feature_collection_sheet_ic_dp_placeholder.png │ │ │ └── values │ │ │ └── strings.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── mifos │ │ └── feature │ │ └── individual │ │ └── ExampleUnitTest.kt ├── data-table │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── mifos │ │ │ └── feature │ │ │ └── dataTable │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── mifos │ │ │ │ └── feature │ │ │ │ └── dataTable │ │ │ │ ├── dataTable │ │ │ │ ├── DataTableScreen.kt │ │ │ │ ├── DataTableUiState.kt │ │ │ │ └── DataTableViewModel.kt │ │ │ │ ├── dataTableData │ │ │ │ ├── DataTableDataScreen.kt │ │ │ │ ├── DataTableDataUiState.kt │ │ │ │ └── DataTableDataViewModel.kt │ │ │ │ ├── dataTableList │ │ │ │ ├── DataTableListNavArgs.kt │ │ │ │ ├── DataTableListScreen.kt │ │ │ │ ├── DataTableListUiState.kt │ │ │ │ ├── DataTableListViewModel.kt │ │ │ │ ├── FormSpinner.kt │ │ │ │ └── FormWidget.kt │ │ │ │ ├── dataTableRowDialog │ │ │ │ ├── DataTableRowDialogScreen.kt │ │ │ │ ├── DataTableRowDialogUiState.kt │ │ │ │ └── DataTableRowDialogViewModel.kt │ │ │ │ └── navigation │ │ │ │ ├── DataTableNavigation.kt │ │ │ │ └── DataTableScreens.kt │ │ └── res │ │ │ └── values │ │ │ └── strings.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── mifos │ │ └── feature │ │ └── dataTable │ │ └── ExampleUnitTest.kt ├── document │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── mifos │ │ │ └── feature │ │ │ └── document │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── mifos │ │ │ │ └── feature │ │ │ │ └── document │ │ │ │ ├── documentDialog │ │ │ │ ├── DocumentDialogScreen.kt │ │ │ │ ├── DocumentDialogUiState.kt │ │ │ │ └── DocumentDialogViewModel.kt │ │ │ │ ├── documentList │ │ │ │ ├── DocumentListScreen.kt │ │ │ │ ├── DocumentListUiState.kt │ │ │ │ └── DocumentListViewModel.kt │ │ │ │ └── navigation │ │ │ │ ├── DocumentNavigation.kt │ │ │ │ └── DocumentScreens.kt │ │ └── res │ │ │ └── values │ │ │ └── strings.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── mifos │ │ └── feature │ │ └── document │ │ └── ExampleUnitTest.kt ├── groups │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── mifos │ │ │ └── feature │ │ │ └── groups │ │ │ └── GroupListScreenTest.kt │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── mifos │ │ │ └── feature │ │ │ └── groups │ │ │ ├── createNewGroup │ │ │ ├── CreateNewGroupScreen.kt │ │ │ ├── CreateNewGroupUiState.kt │ │ │ └── CreateNewGroupViewModel.kt │ │ │ ├── groupDetails │ │ │ ├── GroupDetailsScreen.kt │ │ │ ├── GroupDetailsUiState.kt │ │ │ └── GroupDetailsViewModel.kt │ │ │ ├── groupList │ │ │ ├── GroupsListScreen.kt │ │ │ └── GroupsListViewModel.kt │ │ │ ├── navigation │ │ │ ├── GroupNavGraph.kt │ │ │ └── GroupScreen.kt │ │ │ └── syncGroupDialog │ │ │ ├── SyncGroupDialogScreen.kt │ │ │ ├── SyncGroupsDialogUiState.kt │ │ │ └── SyncGroupsDialogViewModel.kt │ │ └── res │ │ └── values │ │ └── strings.xml ├── loan │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── mifos │ │ │ └── feature │ │ │ └── loan │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── mifos │ │ │ │ └── feature │ │ │ │ └── loan │ │ │ │ ├── groupLoanAccount │ │ │ │ ├── GroupLoanAccountScreen.kt │ │ │ │ ├── GroupLoanAccountUiState.kt │ │ │ │ └── GroupLoanAccountViewModel.kt │ │ │ │ ├── loanAccount │ │ │ │ ├── LoanAccountScreen.kt │ │ │ │ ├── LoanAccountUiState.kt │ │ │ │ └── LoanAccountViewModel.kt │ │ │ │ ├── loanAccountSummary │ │ │ │ ├── LoanAccountSummaryScreen.kt │ │ │ │ ├── LoanAccountSummaryUiState.kt │ │ │ │ └── LoanAccountSummaryViewModel.kt │ │ │ │ ├── loanApproval │ │ │ │ ├── LoanAccountApprovalScreen.kt │ │ │ │ ├── LoanAccountApprovalUiState.kt │ │ │ │ └── LoanAccountApprovalViewModel.kt │ │ │ │ ├── loanCharge │ │ │ │ ├── LoanChargeScreen.kt │ │ │ │ ├── LoanChargeUiState.kt │ │ │ │ └── LoanChargeViewModel.kt │ │ │ │ ├── loanChargeDialog │ │ │ │ ├── LoanChargeDialogScreen.kt │ │ │ │ ├── LoanChargeDialogUiState.kt │ │ │ │ └── LoanChargeDialogViewModel.kt │ │ │ │ ├── loanDisbursement │ │ │ │ ├── LoanAccountDisbursementScreen.kt │ │ │ │ ├── LoanAccountDisbursementUiState.kt │ │ │ │ └── LoanAccountDisbursementViewModel.kt │ │ │ │ ├── loanRepayment │ │ │ │ ├── LoanRepaymentScreen.kt │ │ │ │ ├── LoanRepaymentUiState.kt │ │ │ │ └── LoanRepaymentViewModel.kt │ │ │ │ ├── loanRepaymentSchedule │ │ │ │ ├── LoanRepaymentScheduleScreen.kt │ │ │ │ ├── LoanRepaymentScheduleUiState.kt │ │ │ │ └── LoanRepaymentScheduleViewModel.kt │ │ │ │ ├── loanTransaction │ │ │ │ ├── LoanTransactionsScreen.kt │ │ │ │ ├── LoanTransactionsUiState.kt │ │ │ │ └── LoanTransactionsViewModel.kt │ │ │ │ └── navigation │ │ │ │ ├── LoanNavigation.kt │ │ │ │ └── LoanScreens.kt │ │ └── res │ │ │ └── values │ │ │ └── strings.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── mifos │ │ └── feature │ │ └── loan │ │ └── ExampleUnitTest.kt ├── note │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── mifos │ │ │ └── feature │ │ │ └── note │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── mifos │ │ │ │ └── feature │ │ │ │ └── note │ │ │ │ ├── NoteScreen.kt │ │ │ │ ├── NoteUiState.kt │ │ │ │ ├── NoteViewModel.kt │ │ │ │ └── navigation │ │ │ │ ├── NoteNavigation.kt │ │ │ │ └── NoteScreens.kt │ │ └── res │ │ │ └── values │ │ │ └── res.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── mifos │ │ └── feature │ │ └── note │ │ └── ExampleUnitTest.kt ├── offline │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── mifos │ │ │ └── feature │ │ │ └── offline │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── mifos │ │ │ │ └── feature │ │ │ │ └── offline │ │ │ │ ├── dashboard │ │ │ │ ├── OfflineDashboardScreen.kt │ │ │ │ ├── OfflineDashboardUiState.kt │ │ │ │ └── OfflineDashboardViewModel.kt │ │ │ │ ├── navigation │ │ │ │ ├── OfflineNavigation.kt │ │ │ │ └── OfflineScreens.kt │ │ │ │ ├── syncCenterPayloads │ │ │ │ ├── SyncCenterPayloadsScreen.kt │ │ │ │ ├── SyncCenterPayloadsUiState.kt │ │ │ │ └── SyncCenterPayloadsViewModel.kt │ │ │ │ ├── syncClientPayloads │ │ │ │ ├── SyncClientPayloadsScreen.kt │ │ │ │ ├── SyncClientPayloadsUiState.kt │ │ │ │ └── SyncClientPayloadsViewModel.kt │ │ │ │ ├── syncGroupPayloads │ │ │ │ ├── SyncGroupPayloadsScreenRoute.kt │ │ │ │ ├── SyncGroupPayloadsUiState.kt │ │ │ │ └── SyncGroupPayloadsViewModel.kt │ │ │ │ ├── syncLoanRepaymentTransaction │ │ │ │ ├── SyncLoanRepaymentTransactionScreen.kt │ │ │ │ ├── SyncLoanRepaymentTransactionUiState.kt │ │ │ │ └── SyncLoanRepaymentTransactionViewModel.kt │ │ │ │ └── syncSavingsAccountTransaction │ │ │ │ ├── SyncSavingsAccountTransactionScreen.kt │ │ │ │ ├── SyncSavingsAccountTransactionUiState.kt │ │ │ │ └── SyncSavingsAccountTransactionViewModel.kt │ │ └── res │ │ │ ├── drawable │ │ │ └── feature_offline_ic_assignment_turned_in_black_24dp.xml │ │ │ └── values │ │ │ └── strings.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── mifos │ │ └── feature │ │ └── offline │ │ └── ExampleUnitTest.kt ├── passcode │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── mifos │ │ │ └── feature │ │ │ └── passcode │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── mifos │ │ │ └── feature │ │ │ └── passcode │ │ │ ├── navigation │ │ │ ├── PasscodeNavigation.kt │ │ │ └── PasscodeScreens.kt │ │ │ └── passcode │ │ │ ├── PasscodeScreen.kt │ │ │ └── PasscodeViewmodel.kt │ │ └── test │ │ └── java │ │ └── com │ │ └── mifos │ │ └── feature │ │ └── passcode │ │ └── ExampleUnitTest.kt ├── path-tracking │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── mifos │ │ │ └── feature │ │ │ └── pathTracking │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── mifos │ │ │ │ └── feature │ │ │ │ └── pathTracking │ │ │ │ ├── PathTrackingScreen.kt │ │ │ │ ├── PathTrackingUiState.kt │ │ │ │ ├── PathTrackingViewModel.kt │ │ │ │ └── navigation │ │ │ │ ├── PathTrackingNavigation.kt │ │ │ │ └── PathTrackingScreens.kt │ │ └── res │ │ │ └── values │ │ │ └── strings.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── mifos │ │ └── feature │ │ └── pathTracking │ │ └── ExampleUnitTest.kt ├── report │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── mifos │ │ │ └── feature │ │ │ └── report │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── mifos │ │ │ │ └── feature │ │ │ │ └── report │ │ │ │ ├── navigation │ │ │ │ ├── ReportNavigation.kt │ │ │ │ └── ReportScreens.kt │ │ │ │ ├── report │ │ │ │ ├── ReportScreen.kt │ │ │ │ ├── ReportUiState.kt │ │ │ │ └── ReportViewModel.kt │ │ │ │ ├── reportDetail │ │ │ │ ├── ReportDetailScreen.kt │ │ │ │ ├── ReportDetailUiState.kt │ │ │ │ └── ReportDetailViewModel.kt │ │ │ │ └── runReport │ │ │ │ ├── RunReportScreen.kt │ │ │ │ ├── RunReportUiState.kt │ │ │ │ └── RunReportViewModel.kt │ │ └── res │ │ │ ├── drawable │ │ │ └── feature_report_ic_report_item.xml │ │ │ └── values │ │ │ └── strings.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── mifos │ │ └── feature │ │ └── report │ │ └── ExampleUnitTest.kt ├── savings │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── mifos │ │ │ └── feature │ │ │ └── savings │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── mifos │ │ │ │ └── feature │ │ │ │ └── savings │ │ │ │ ├── navigation │ │ │ │ ├── SavingsNavigation.kt │ │ │ │ └── SavingsScreens.kt │ │ │ │ ├── savingsAccount │ │ │ │ ├── SavingAccountUiState.kt │ │ │ │ ├── SavingAccountViewModel.kt │ │ │ │ └── SavingsAccountScreen.kt │ │ │ │ ├── savingsAccountActivate │ │ │ │ ├── SavingsAccountActivateScreen.kt │ │ │ │ ├── SavingsAccountActivateUiState.kt │ │ │ │ └── SavingsAccountActivateViewModel.kt │ │ │ │ ├── savingsAccountApproval │ │ │ │ ├── SavingsAccountApprovalScreen.kt │ │ │ │ ├── SavingsAccountApprovalUiState.kt │ │ │ │ └── SavingsAccountApprovalViewModel.kt │ │ │ │ ├── savingsAccountSummary │ │ │ │ ├── SavingsAccountSummaryScreen.kt │ │ │ │ ├── SavingsAccountSummaryUiState.kt │ │ │ │ └── SavingsAccountSummaryViewModel.kt │ │ │ │ └── savingsAccountTransaction │ │ │ │ ├── SavingsAccountTransactionScreen.kt │ │ │ │ ├── SavingsAccountTransactionUiState.kt │ │ │ │ └── SavingsAccountTransactionViewModel.kt │ │ └── res │ │ │ └── values │ │ │ └── feature_savings_strings.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── mifos │ │ └── feature │ │ └── savings │ │ └── ExampleUnitTest.kt ├── search │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── mifos │ │ │ └── feature │ │ │ └── search │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── mifos │ │ │ │ └── feature │ │ │ │ └── search │ │ │ │ ├── SearchScreen.kt │ │ │ │ ├── SearchUiState.kt │ │ │ │ ├── SearchViewModel.kt │ │ │ │ ├── components │ │ │ │ ├── FilterDialog.kt │ │ │ │ ├── SearchBox.kt │ │ │ │ └── SearchScreenResult.kt │ │ │ │ └── navigation │ │ │ │ ├── SearchNavigation.kt │ │ │ │ └── SearchScreens.kt │ │ └── res │ │ │ └── values │ │ │ └── feature_search_strings.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── mifos │ │ └── feature │ │ └── search │ │ └── SearchViewModelTest.kt └── settings │ ├── .gitignore │ ├── build.gradle.kts │ └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── mifos │ │ └── feature │ │ └── settings │ │ └── ExampleInstrumentedTest.kt │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── mifos │ │ │ └── feature │ │ │ └── settings │ │ │ ├── navigation │ │ │ ├── SettingsNavigation.kt │ │ │ └── SettingsScreens.kt │ │ │ ├── settings │ │ │ ├── SettingsScreen.kt │ │ │ └── SettingsViewModel.kt │ │ │ ├── syncSurvey │ │ │ ├── SyncSurveysDialog.kt │ │ │ ├── SyncSurveysDialogUiState.kt │ │ │ └── SyncSurveysDialogViewModel.kt │ │ │ └── updateServer │ │ │ ├── UpdateServerConfigEvent.kt │ │ │ ├── UpdateServerConfigScreen.kt │ │ │ └── UpdateServerConfigViewModel.kt │ └── res │ │ └── values │ │ ├── feature_settings_.xml │ │ └── strings.xml │ └── test │ └── java │ └── com │ └── mifos │ └── feature │ └── settings │ └── ExampleUnitTest.kt ├── gradle.properties ├── gradle ├── libs.versions.toml └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── keystores └── release_keystore.keystore ├── libs ├── country-code-picker │ ├── .gitignore │ ├── README.md │ ├── build.gradle.kts │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── kotlin │ │ └── com │ │ │ └── mifos │ │ │ └── library │ │ │ └── countrycodepicker │ │ │ ├── CountryCodePicker.kt │ │ │ ├── component │ │ │ ├── Autofill.kt │ │ │ ├── CountryCodeDialog.kt │ │ │ └── CountryDialog.kt │ │ │ ├── data │ │ │ ├── CountryData.kt │ │ │ └── utils │ │ │ │ ├── CountryCodeUtils.kt │ │ │ │ ├── CountryNameMap.kt │ │ │ │ ├── NumberHintMap.kt │ │ │ │ ├── SearchCountryList.kt │ │ │ │ └── ValidatePhoneNumber.kt │ │ │ └── transformation │ │ │ └── PhoneNumberTransformation.kt │ │ └── res │ │ ├── values-ar │ │ └── strings.xml │ │ ├── values-es │ │ └── strings.xml │ │ ├── values-fr │ │ └── strings.xml │ │ ├── values-hi │ │ └── strings.xml │ │ ├── values-it-rIT │ │ └── strings.xml │ │ ├── values-nl │ │ └── strings.xml │ │ ├── values-ru-rRU │ │ └── strings.xml │ │ ├── values-so │ │ └── strings.xml │ │ ├── values-tr-rTR │ │ └── strings.xml │ │ ├── values-zh │ │ └── strings.xml │ │ └── values │ │ └── strings.xml ├── material3-navigation │ ├── .gitignore │ ├── README.md │ ├── build.gradle.kts │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ └── kotlin │ │ └── com │ │ └── mifos │ │ └── library │ │ └── material3 │ │ └── navigation │ │ ├── BottomSheet.kt │ │ ├── BottomSheetNavigator.kt │ │ ├── BottomSheetNavigatorDestinationBuilder.kt │ │ └── NavGraphBuilder.kt ├── mifos-passcode │ ├── .gitignore │ ├── README.md │ ├── build.gradle.kts │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── kotlin │ │ └── org │ │ │ └── mifos │ │ │ └── library │ │ │ └── passcode │ │ │ ├── PassCodeScreen.kt │ │ │ ├── PasscodeNavigation.kt │ │ │ ├── component │ │ │ ├── MifosIcon.kt │ │ │ ├── PasscodeButton.kt │ │ │ ├── PasscodeHeader.kt │ │ │ ├── PasscodeKeys.kt │ │ │ ├── PasscodeMismatchedDialog.kt │ │ │ ├── PasscodeStepIndicator.kt │ │ │ └── PasscodeToolbar.kt │ │ │ ├── data │ │ │ ├── PasscodeManager.kt │ │ │ ├── PasscodeRepository.kt │ │ │ └── PasscodeRepositoryImpl.kt │ │ │ ├── di │ │ │ └── ApplicationModule.kt │ │ │ ├── theme │ │ │ ├── Color.kt │ │ │ ├── Font.kt │ │ │ ├── Theme.kt │ │ │ └── Type.kt │ │ │ ├── utility │ │ │ ├── Constants.kt │ │ │ ├── ShakeAnimation.kt │ │ │ ├── Step.kt │ │ │ └── VibrationFeedback.kt │ │ │ └── viewmodels │ │ │ └── PasscodeViewModel.kt │ │ └── res │ │ ├── drawable │ │ ├── lib_mifos_passcode_delete_forever.xml │ │ ├── lib_mifos_passcode_ic_delete.xml │ │ └── lib_mifos_passcode_mifos_logo.jpg │ │ ├── font │ │ ├── lib_mifos_passcode_lato_black.ttf │ │ ├── lib_mifos_passcode_lato_bold.ttf │ │ └── lib_mifos_passcode_lato_regular.ttf │ │ └── values │ │ └── strings.xml └── pullrefresh │ ├── .gitignore │ ├── README.md │ ├── build.gradle.kts │ └── src │ └── main │ ├── AndroidManifest.xml │ └── kotlin │ └── com.mifos.library.pullrefresh │ ├── PullRefresh.kt │ ├── PullRefreshIndicator.kt │ ├── PullRefreshIndicatorTransform.kt │ └── PullRefreshState.kt ├── lint ├── .gitignore ├── build.gradle.kts ├── lint-baseline.xml └── src │ ├── main │ ├── kotlin │ │ └── org │ │ │ └── mifos │ │ │ └── android │ │ │ └── client │ │ │ └── lint │ │ │ ├── MifosIssueRegistry.kt │ │ │ ├── TestMethodNameDetector.kt │ │ │ ├── config │ │ │ └── Priorities.kt │ │ │ ├── designsystem │ │ │ ├── DesignSystemDetector.kt │ │ │ └── Material2Detector.kt │ │ │ └── util │ │ │ ├── LintOption.kt │ │ │ ├── LintUtils.kt │ │ │ ├── OptionLoadingDetector.kt │ │ │ └── StringSetLintOption.kt │ └── resources │ │ └── META-INF │ │ └── services │ │ └── com.android.tools.lint.client.api.IssueRegistry │ └── test │ └── kotlin │ └── org │ └── mifos │ └── android │ └── lint │ ├── TestMethodNameDetectorTest.kt │ └── designsystem │ └── DesignSystemDetectorTest.kt ├── mifosng-android ├── .gitignore ├── build.gradle.kts ├── crashlytics.properties ├── dependencies │ ├── demoDebugCompileClasspath.txt │ ├── demoReleaseCompileClasspath.txt │ ├── prodDebugCompileClasspath.txt │ └── prodReleaseCompileClasspath.txt ├── google-services.json ├── lint-baseline.xml ├── prodRelease-badging.txt ├── proguard-rules.pro ├── proguardTest-rules.pro └── src │ ├── commonTest │ └── java │ │ └── com │ │ └── mifos │ │ └── mifosxdroid │ │ ├── FakeJsonName.kt │ │ ├── FakeRemoteDataSource.kt │ │ └── TestDataFactory.kt │ ├── debug │ └── res │ │ └── values │ │ └── google_maps_api.xml │ ├── main │ ├── AndroidManifest.xml │ ├── assets │ │ └── fonts │ │ │ ├── Roboto-Bold.ttf │ │ │ ├── Roboto-Light.ttf │ │ │ ├── Roboto-Medium.ttf │ │ │ └── Roboto-Regular.ttf │ ├── ic_launcher-playstore.png │ ├── java │ │ └── com │ │ │ └── mifos │ │ │ └── mifosxdroid │ │ │ ├── AndroidClient.kt │ │ │ ├── AndroidClientActivity.kt │ │ │ ├── AndroidClientViewModel.kt │ │ │ ├── components │ │ │ ├── HomeDestinationsScreen.kt │ │ │ ├── MifosNavigationBar.kt │ │ │ ├── Navigation.kt │ │ │ └── NavigationConstants.kt │ │ │ ├── navigation │ │ │ ├── HomeNavigation.kt │ │ │ ├── HomeScreens.kt │ │ │ ├── MifosNavGraph.kt │ │ │ ├── PasscodeNavGraph.kt │ │ │ └── RootNavGraph.kt │ │ │ └── utils │ │ │ ├── MifosResponseHandler.kt │ │ │ └── UiExtensions.kt │ └── res │ │ ├── drawable-hdpi │ │ └── ic_dp_placeholder.png │ │ ├── drawable-xhdpi │ │ └── mifos_logo.jpg │ │ ├── drawable-xxhdpi │ │ └── ic_launcher.png │ │ ├── drawable │ │ ├── drawer_profile_header.jpg │ │ └── ic_splash.png │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.webp │ │ ├── ic_launcher_foreground.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.webp │ │ ├── ic_launcher_foreground.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.webp │ │ ├── ic_launcher_foreground.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.webp │ │ ├── ic_launcher_foreground.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.webp │ │ ├── ic_launcher_foreground.webp │ │ └── ic_launcher_round.webp │ │ ├── values-ca │ │ └── strings.xml │ │ ├── values-en │ │ └── strings.xml │ │ ├── values-es │ │ └── strings.xml │ │ ├── values-fr │ │ └── strings.xml │ │ ├── values-hi │ │ └── strings.xml │ │ ├── values-kn │ │ └── strings.xml │ │ ├── values-night │ │ ├── colors.xml │ │ └── themes.xml │ │ ├── values-sw │ │ └── strings.xml │ │ ├── values-zh │ │ └── strings.xml │ │ └── values │ │ ├── colors.xml │ │ ├── ic_launcher_background.xml │ │ ├── strings.xml │ │ └── themes.xml │ ├── release │ └── res │ │ └── values │ │ └── google_maps_api.xml │ └── test │ └── resources │ ├── centerWithAssociations.json │ ├── centers.json │ ├── charges.json │ ├── clientpayloads.json │ ├── clients.json │ ├── documents.json │ ├── failureServerResponse.json │ ├── groups.json │ ├── loancharges.json │ └── searchedEntity.json ├── secrets.defaults.properties ├── settings.gradle.kts └── spotless ├── copyright.kt ├── copyright.kts └── copyright.xml /.editorconfig: -------------------------------------------------------------------------------- 1 | # https://editorconfig.org/ 2 | # This configuration is used by ktlint when spotless invokes it 3 | 4 | [*.{kt,kts}] 5 | ij_kotlin_allow_trailing_comma=true 6 | ij_kotlin_allow_trailing_comma_on_call_site=true 7 | ktlint_function_naming_ignore_when_annotated_with=Composable, Test, Preview -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature or Enhancement request 3 | about: Suggest an idea/enhancement for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Summary:** 11 | 12 | Summarize the new feature you wanted to be implemented (what are you trying to implement? How it is benefitial?) 13 | 14 | **Possible Approach:** 15 | 16 | Mention the steps to implement this feature(If you can think of one) 17 | 18 | **Select Type:** 19 | 20 | - [ ] UI Improvements 21 | - [ ] UI Add On 22 | - [ ] Improve Existing Code 23 | - [ ] New Feature 24 | - [ ] Other -------------------------------------------------------------------------------- /.ruby-version: -------------------------------------------------------------------------------- 1 | 3.3.5 -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: android 2 | jdk: oraclejdk8 3 | sudo: required 4 | android: 5 | components: 6 | - tools 7 | - extra-android-support 8 | - extra-google-google_play_services 9 | - extra-android-m2repository 10 | - extra-google-m2repository 11 | - build-tools-27.0.3 12 | - android-27 13 | before_install: 14 | - yes | sdkmanager "platforms;android-28" 15 | 16 | script: "./gradlew build --stacktrace" 17 | 18 | 19 | # gitter integration 20 | notifications: 21 | webhooks: 22 | urls: 23 | - https://webhooks.gitter.im/e/76313fd3500f5fc29214 24 | on_success: change # options: [always|never|change] default: always 25 | on_failure: always # options: [always|never|change] default: always 26 | on_start: never # options: [always|never|change] default: always 27 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | 2 | # Code of Conduct 3 | 4 | 5 | - Always follow the [code of conduct](https://mifos.org/resources/community/code-of-conduct/) - this is important to us. We are proud to be open, tolerant and providing a positive environment. 6 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | 3 | ruby '3.3.5' 4 | 5 | gem "fastlane" 6 | 7 | plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile') 8 | eval_gemfile(plugins_path) if File.exist?(plugins_path) -------------------------------------------------------------------------------- /build-logic/convention/src/main/kotlin/AndroidApplicationComposeConventionPlugin.kt: -------------------------------------------------------------------------------- 1 | import com.android.build.api.dsl.ApplicationExtension 2 | import org.gradle.api.Plugin 3 | import org.gradle.api.Project 4 | import org.gradle.kotlin.dsl.apply 5 | import org.gradle.kotlin.dsl.getByType 6 | import org.mifos.configureAndroidCompose 7 | 8 | class AndroidApplicationComposeConventionPlugin : Plugin { 9 | override fun apply(target: Project) { 10 | with(target) { 11 | apply(plugin = "com.android.application") 12 | // apply(plugin = "org.jetbrains.kotlin.plugin.compose") 13 | 14 | val extension = extensions.getByType() 15 | configureAndroidCompose(extension) 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /build-logic/convention/src/main/kotlin/AndroidApplicationFlavorsConventionPlugin.kt: -------------------------------------------------------------------------------- 1 | import com.android.build.api.dsl.ApplicationExtension 2 | import org.gradle.api.Plugin 3 | import org.gradle.api.Project 4 | import org.gradle.kotlin.dsl.configure 5 | import org.mifos.configureFlavors 6 | 7 | class AndroidApplicationFlavorsConventionPlugin : Plugin { 8 | override fun apply(target: Project) { 9 | with(target) { 10 | extensions.configure { 11 | configureFlavors(this) 12 | } 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /build-logic/convention/src/main/kotlin/AndroidHiltConventionPlugin.kt: -------------------------------------------------------------------------------- 1 | import org.gradle.api.Plugin 2 | import org.gradle.api.Project 3 | import org.gradle.kotlin.dsl.dependencies 4 | import org.mifos.libs 5 | 6 | class AndroidHiltConventionPlugin : Plugin { 7 | override fun apply(target: Project) { 8 | with(target) { 9 | with(pluginManager) { 10 | apply("org.jetbrains.kotlin.kapt") 11 | apply("dagger.hilt.android.plugin") 12 | } 13 | 14 | dependencies { 15 | "implementation"(libs.findLibrary("hilt.android").get()) 16 | "kapt"(libs.findLibrary("hilt.compiler").get()) 17 | } 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /build-logic/convention/src/main/kotlin/AndroidLibraryComposeConventionPlugin.kt: -------------------------------------------------------------------------------- 1 | import com.android.build.gradle.LibraryExtension 2 | import org.gradle.api.Plugin 3 | import org.gradle.api.Project 4 | import org.gradle.kotlin.dsl.apply 5 | import org.gradle.kotlin.dsl.getByType 6 | import org.mifos.configureAndroidCompose 7 | 8 | class AndroidLibraryComposeConventionPlugin : Plugin { 9 | override fun apply(target: Project) { 10 | with(target) { 11 | apply(plugin = "com.android.library") 12 | // apply(plugin = "org.jetbrains.kotlin.plugin.compose") 13 | 14 | val extension = extensions.getByType() 15 | configureAndroidCompose(extension) 16 | } 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /build-logic/convention/src/main/kotlin/JvmLibraryConventionPlugin.kt: -------------------------------------------------------------------------------- 1 | import org.gradle.api.Plugin 2 | import org.gradle.api.Project 3 | import org.mifos.configureKotlinJvm 4 | 5 | class JvmLibraryConventionPlugin : Plugin { 6 | override fun apply(target: Project) { 7 | with(target) { 8 | with(pluginManager) { 9 | apply("org.jetbrains.kotlin.jvm") 10 | apply("mifos.android.lint") 11 | } 12 | configureKotlinJvm() 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /build-logic/convention/src/main/kotlin/MifosDetektConventionPlugin.kt: -------------------------------------------------------------------------------- 1 | import org.gradle.api.Plugin 2 | import org.gradle.api.Project 3 | import org.mifos.configureDetekt 4 | import org.mifos.detektGradle 5 | 6 | class MifosDetektConventionPlugin : Plugin { 7 | override fun apply(target: Project) { 8 | with(target) { 9 | applyPlugins() 10 | 11 | detektGradle { 12 | configureDetekt(this) 13 | } 14 | } 15 | } 16 | 17 | private fun Project.applyPlugins() { 18 | pluginManager.apply { 19 | apply("io.gitlab.arturbosch.detekt") 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /build-logic/convention/src/main/kotlin/MifosKtlintConventionPlugin.kt: -------------------------------------------------------------------------------- 1 | import org.gradle.api.Plugin 2 | import org.gradle.api.Project 3 | 4 | class MifosKtlintConventionPlugin : Plugin { 5 | override fun apply(target: Project) { 6 | with(target) { 7 | applyPlugins() 8 | } 9 | } 10 | 11 | private fun Project.applyPlugins() { 12 | pluginManager.apply { 13 | apply("org.jlleitschuh.gradle.ktlint") 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /build-logic/convention/src/main/kotlin/MifosSpotlessConventionPlugin.kt: -------------------------------------------------------------------------------- 1 | import org.gradle.api.Plugin 2 | import org.gradle.api.Project 3 | import org.mifos.configureSpotless 4 | import org.mifos.spotlessGradle 5 | 6 | class MifosSpotlessConventionPlugin : Plugin { 7 | override fun apply(target: Project) { 8 | with(target) { 9 | applyPlugins() 10 | 11 | spotlessGradle { 12 | configureSpotless(this) 13 | } 14 | } 15 | } 16 | 17 | private fun Project.applyPlugins() { 18 | pluginManager.apply { 19 | apply("com.diffplug.spotless") 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /build-logic/convention/src/main/kotlin/org/mifos/MifosBuildType.kt: -------------------------------------------------------------------------------- 1 | package org.mifos 2 | 3 | /** 4 | * This is shared between :app and :benchmarks module to provide configurations type safety. 5 | */ 6 | enum class MifosBuildType(val applicationIdSuffix: String? = null) { 7 | DEBUG(".debug"), 8 | RELEASE, 9 | } 10 | -------------------------------------------------------------------------------- /build-logic/gradle.properties: -------------------------------------------------------------------------------- 1 | # Gradle properties are not passed to included builds https://github.com/gradle/gradle/issues/2534 2 | org.gradle.parallel=true 3 | org.gradle.caching=true 4 | org.gradle.configureondemand=true 5 | -------------------------------------------------------------------------------- /config/detekt/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/config/detekt/.editorconfig -------------------------------------------------------------------------------- /core/common/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /core/common/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/core/common/consumer-rules.pro -------------------------------------------------------------------------------- /core/common/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /core/common/src/main/java/com/mifos/core/common/network/MifosDispatchers.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.common.network 11 | 12 | import javax.inject.Qualifier 13 | import kotlin.annotation.AnnotationRetention.RUNTIME 14 | 15 | @Qualifier 16 | @Retention(RUNTIME) 17 | annotation class Dispatcher(val mifosDispatcher: MifosDispatchers) 18 | 19 | enum class MifosDispatchers { 20 | Default, 21 | IO, 22 | } 23 | -------------------------------------------------------------------------------- /core/common/src/main/java/com/mifos/core/common/utils/AndroidVersionUtil.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.common.utils 11 | 12 | import android.os.Build 13 | 14 | /** 15 | * 16 | * Created by Rajan Maurya on 04/09/16. 17 | */ 18 | object AndroidVersionUtil { 19 | val apiVersion: Int 20 | get() = Build.VERSION.SDK_INT 21 | 22 | @JvmStatic 23 | fun isApiVersionGreaterOrEqual(thisVersion: Int): Boolean { 24 | return Build.VERSION.SDK_INT >= thisVersion 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /core/common/src/main/java/com/mifos/core/common/utils/JsonExtension.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.common.utils 11 | 12 | import com.google.gson.Gson 13 | import com.mifos.core.model.ServerConfig 14 | 15 | fun String.asServerConfig(): ServerConfig { 16 | val jsonString = this.replace("'", "\"") 17 | return Gson().fromJson(jsonString, ServerConfig::class.java) 18 | } 19 | -------------------------------------------------------------------------------- /core/data/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /core/data/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/core/data/consumer-rules.pro -------------------------------------------------------------------------------- /core/data/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /core/data/src/main/java/com/mifos/core/data/repository/ClientChargeRepository.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.data.repository 11 | 12 | import androidx.paging.PagingData 13 | import com.mifos.core.objects.client.Charges 14 | import kotlinx.coroutines.flow.Flow 15 | 16 | /** 17 | * Created by Aditya Gupta on 08/08/23. 18 | */ 19 | interface ClientChargeRepository { 20 | 21 | fun getClientCharges(clientId: Int): Flow> 22 | } 23 | -------------------------------------------------------------------------------- /core/data/src/main/java/com/mifos/core/data/repository/CreateNewCenterRepository.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.data.repository 11 | 12 | import com.mifos.core.data.CenterPayload 13 | import com.mifos.core.objects.response.SaveResponse 14 | import rx.Observable 15 | 16 | /** 17 | * Created by Aditya Gupta on 10/08/23. 18 | */ 19 | interface CreateNewCenterRepository { 20 | fun createCenter(centerPayload: CenterPayload): Observable 21 | } 22 | -------------------------------------------------------------------------------- /core/data/src/main/java/com/mifos/core/data/repository/DataTableRepository.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.data.repository 11 | 12 | import com.mifos.core.objects.noncore.DataTable 13 | 14 | /** 15 | * Created by Aditya Gupta on 08/08/23. 16 | */ 17 | interface DataTableRepository { 18 | 19 | suspend fun getDataTable(tableName: String?): List 20 | } 21 | -------------------------------------------------------------------------------- /core/data/src/main/java/com/mifos/core/data/repository/DataTableRowDialogRepository.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.data.repository 11 | 12 | import com.mifos.core.network.GenericResponse 13 | 14 | /** 15 | * Created by Aditya Gupta on 13/08/23. 16 | */ 17 | interface DataTableRowDialogRepository { 18 | 19 | suspend fun addDataTableEntry( 20 | table: String, 21 | entityId: Int, 22 | payload: Map, 23 | ): GenericResponse 24 | } 25 | -------------------------------------------------------------------------------- /core/data/src/main/java/com/mifos/core/data/repository/GroupsListRepository.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.data.repository 11 | 12 | import com.mifos.core.objects.group.Group 13 | import kotlinx.coroutines.flow.Flow 14 | 15 | interface GroupsListRepository { 16 | 17 | suspend fun getAllGroups(paged: Boolean, offset: Int, limit: Int): List 18 | 19 | fun getAllLocalGroups(): Flow> 20 | } 21 | -------------------------------------------------------------------------------- /core/data/src/main/java/com/mifos/core/data/repository/LoanAccountApprovalRepository.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.data.repository 11 | 12 | import com.mifos.core.network.GenericResponse 13 | import com.mifos.core.objects.accounts.loan.LoanApproval 14 | import rx.Observable 15 | 16 | /** 17 | * Created by Aditya Gupta on 10/08/23. 18 | */ 19 | interface LoanAccountApprovalRepository { 20 | 21 | fun approveLoan(loanId: Int, loanApproval: LoanApproval?): Observable 22 | } 23 | -------------------------------------------------------------------------------- /core/data/src/main/java/com/mifos/core/data/repository/LoanAccountSummaryRepository.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.data.repository 11 | 12 | import com.mifos.core.objects.accounts.loan.LoanWithAssociations 13 | import rx.Observable 14 | 15 | /** 16 | * Created by Aditya Gupta on 08/08/23. 17 | */ 18 | interface LoanAccountSummaryRepository { 19 | 20 | fun getLoanById(loanId: Int): Observable 21 | } 22 | -------------------------------------------------------------------------------- /core/data/src/main/java/com/mifos/core/data/repository/LoanChargeRepository.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.data.repository 11 | 12 | import com.mifos.core.objects.client.Charges 13 | 14 | /** 15 | * Created by Aditya Gupta on 10/08/23. 16 | */ 17 | interface LoanChargeRepository { 18 | 19 | suspend fun getListOfLoanCharges(loanId: Int): List 20 | } 21 | -------------------------------------------------------------------------------- /core/data/src/main/java/com/mifos/core/data/repository/LoanRepaymentScheduleRepository.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.data.repository 11 | 12 | import com.mifos.core.objects.accounts.loan.LoanWithAssociations 13 | import rx.Observable 14 | 15 | /** 16 | * Created by Aditya Gupta on 12/08/23. 17 | */ 18 | interface LoanRepaymentScheduleRepository { 19 | 20 | fun getLoanRepaySchedule(loanId: Int): Observable 21 | } 22 | -------------------------------------------------------------------------------- /core/data/src/main/java/com/mifos/core/data/repository/LoanTransactionsRepository.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.data.repository 11 | 12 | import com.mifos.core.objects.accounts.loan.LoanWithAssociations 13 | import rx.Observable 14 | 15 | /** 16 | * Created by Aditya Gupta on 12/08/23. 17 | */ 18 | interface LoanTransactionsRepository { 19 | 20 | fun getLoanTransactions(loan: Int): Observable 21 | } 22 | -------------------------------------------------------------------------------- /core/data/src/main/java/com/mifos/core/data/repository/LoginRepository.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.data.repository 11 | 12 | import org.openapitools.client.models.PostAuthenticationResponse 13 | 14 | /** 15 | * Created by Aditya Gupta on 06/08/23. 16 | */ 17 | 18 | interface LoginRepository { 19 | 20 | suspend fun login(username: String, password: String): PostAuthenticationResponse 21 | } 22 | -------------------------------------------------------------------------------- /core/data/src/main/java/com/mifos/core/data/repository/NoteRepository.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.data.repository 11 | 12 | import com.mifos.core.objects.noncore.Note 13 | import kotlinx.coroutines.flow.Flow 14 | 15 | interface NoteRepository { 16 | 17 | fun getNotes(entityType: String?, entityId: Int): Flow> 18 | } 19 | -------------------------------------------------------------------------------- /core/data/src/main/java/com/mifos/core/data/repository/PathTrackingRepository.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.data.repository 11 | 12 | import com.mifos.core.objects.user.UserLocation 13 | 14 | /** 15 | * Created by Aditya Gupta on 06/08/23. 16 | */ 17 | interface PathTrackingRepository { 18 | 19 | suspend fun getUserPathTracking(userId: Int): List 20 | } 21 | -------------------------------------------------------------------------------- /core/data/src/main/java/com/mifos/core/data/repository/SavingsAccountActivateRepository.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.data.repository 11 | 12 | import com.mifos.core.network.GenericResponse 13 | import rx.Observable 14 | 15 | /** 16 | * Created by Aditya Gupta on 13/08/23. 17 | */ 18 | interface SavingsAccountActivateRepository { 19 | 20 | fun activateSavings( 21 | savingsAccountId: Int, 22 | request: HashMap, 23 | ): Observable 24 | } 25 | -------------------------------------------------------------------------------- /core/data/src/main/java/com/mifos/core/data/repository/SearchRepository.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.data.repository 11 | 12 | import com.mifos.core.objects.SearchedEntity 13 | import kotlinx.coroutines.flow.Flow 14 | 15 | /** 16 | * Created by Aditya Gupta on 06/08/23. 17 | */ 18 | interface SearchRepository { 19 | 20 | suspend fun searchResources( 21 | query: String, 22 | resources: String?, 23 | exactMatch: Boolean?, 24 | ): Flow> 25 | } 26 | -------------------------------------------------------------------------------- /core/data/src/main/java/com/mifos/core/data/repository/SurveySubmitRepository.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.data.repository 11 | 12 | import com.mifos.core.objects.survey.Scorecard 13 | import rx.Observable 14 | 15 | /** 16 | * Created by Aditya Gupta on 13/08/23. 17 | */ 18 | interface SurveySubmitRepository { 19 | 20 | fun submitScore(surveyId: Int, scorecardPayload: Scorecard?): Observable 21 | } 22 | -------------------------------------------------------------------------------- /core/database/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /core/database/consumer-rules.pro: -------------------------------------------------------------------------------- 1 | # Keep generic signature of RxJava2 (R8 full mode strips signatures from non-kept items). 2 | -keep,allowobfuscation,allowshrinking class io.reactivex.Flowable 3 | -keep,allowobfuscation,allowshrinking class io.reactivex.Maybe 4 | -keep,allowobfuscation,allowshrinking class io.reactivex.Observable 5 | -keep,allowobfuscation,allowshrinking class io.reactivex.Single 6 | 7 | -keep class com.mifos.core.** { *; } 8 | -dontshrink -------------------------------------------------------------------------------- /core/database/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/databasehelper/DatabaseHelperDataTable.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.databasehelper 11 | 12 | import javax.inject.Inject 13 | import javax.inject.Singleton 14 | 15 | /** 16 | * Created by Rajan Maurya on 3/7/16. 17 | */ 18 | @Singleton 19 | class DatabaseHelperDataTable @Inject constructor() 20 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/databasehelper/DatabaseHelperNote.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.databasehelper 11 | 12 | import javax.inject.Inject 13 | import javax.inject.Singleton 14 | 15 | /** 16 | * Created by rahul on 4/3/17. 17 | */ 18 | @Singleton 19 | class DatabaseHelperNote @Inject constructor() 20 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/di/DatabaseModule.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.di 11 | 12 | import dagger.Module 13 | import dagger.hilt.InstallIn 14 | import dagger.hilt.components.SingletonComponent 15 | 16 | @Module 17 | @InstallIn(SingletonComponent::class) 18 | object DatabaseModule 19 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/model/ClientsAttendance.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.model 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | @Parcelize 16 | data class ClientsAttendance( 17 | 18 | var attendanceType: Int, 19 | 20 | var clientId: Int, 21 | ) : Parcelable 22 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/model/MifosBaseModel.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.model 11 | 12 | import com.google.gson.Gson 13 | import com.raizlabs.android.dbflow.structure.BaseModel 14 | 15 | /** 16 | * Created by Rajan Maurya on 23/06/16. 17 | */ 18 | open class MifosBaseModel : BaseModel() { 19 | override fun toString(): String { 20 | return Gson().toJson(this) 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/accounts/loan/AmortizationType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.accounts.loan 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | @Parcelize 16 | class AmortizationType( 17 | var id: Int? = null, 18 | 19 | var code: String? = null, 20 | 21 | var value: String? = null, 22 | ) : Parcelable 23 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/accounts/loan/DaysInMonthType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.accounts.loan 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by nellyk on 2/21/2016. 17 | */ 18 | @Parcelize 19 | data class DaysInMonthType( 20 | var id: Int? = null, 21 | 22 | var code: Int? = null, 23 | 24 | var value: Int? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/accounts/loan/InterestCalculationPeriodType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.accounts.loan 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | @Parcelize 16 | data class InterestCalculationPeriodType( 17 | var id: Int? = null, 18 | 19 | var code: String? = null, 20 | 21 | var value: String? = null, 22 | ) : Parcelable 23 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/accounts/loan/InterestRateFrequencyType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.accounts.loan 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | @Parcelize 16 | data class InterestRateFrequencyType( 17 | var id: Int? = null, 18 | 19 | var code: String? = null, 20 | 21 | var value: String? = null, 22 | ) : Parcelable 23 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/accounts/loan/InterestType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.accounts.loan 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | @Parcelize 16 | class InterestType( 17 | var id: Int? = null, 18 | 19 | var code: String? = null, 20 | 21 | var value: String? = null, 22 | ) : Parcelable 23 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/accounts/loan/LoanApprovalData.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.accounts.loan 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Pronay Sarker on 16/08/2024 (7:17 AM) 17 | */ 18 | @Parcelize 19 | data class LoanApprovalData( 20 | val loanID: Int, 21 | val loanWithAssociations: LoanWithAssociations, 22 | ) : Parcelable 23 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/accounts/loan/LoanPurposeOptions.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.accounts.loan 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by nellyk on 2/25/2016. 17 | */ 18 | @Parcelize 19 | data class LoanPurposeOptions( 20 | var id: Int = 0, 21 | 22 | var name: String? = null, 23 | ) : Parcelable 24 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/accounts/loan/PaymentType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.accounts.loan 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | @Parcelize 16 | data class PaymentType( 17 | var id: Int? = null, 18 | 19 | var name: String? = null, 20 | ) : Parcelable 21 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/accounts/loan/PaymentTypeOptions.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.accounts.loan 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by nellyk on 3/3/2016. 17 | */ 18 | @Parcelize 19 | data class PaymentTypeOptions( 20 | var id: Int, 21 | 22 | var name: String?, 23 | ) : Parcelable 24 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/accounts/loan/RepaymentFrequencyDayOfWeekType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.accounts.loan 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by nellyk on 2/21/2016. 17 | */ 18 | @Parcelize 19 | data class RepaymentFrequencyDayOfWeekType( 20 | var id: Int = 0, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/accounts/loan/RepaymentFrequencyNthDayType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.accounts.loan 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by nellyk on 2/21/2016. 17 | */ 18 | @Parcelize 19 | data class RepaymentFrequencyNthDayType( 20 | var id: Int = 0, 21 | 22 | var code: Int = 0, 23 | 24 | var value: Int = 0, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/accounts/loan/RepaymentFrequencyType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.accounts.loan 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | @Parcelize 16 | data class RepaymentFrequencyType( 17 | var id: Int? = null, 18 | 19 | var code: String? = null, 20 | 21 | var value: String? = null, 22 | ) : Parcelable 23 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/accounts/loan/RepaymentFrequencyTypeOptions.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.accounts.loan 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by nellyk on 2/25/2016. 17 | */ 18 | @Parcelize 19 | data class RepaymentFrequencyTypeOptions( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/accounts/loan/SavingsApproval.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.accounts.loan 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | @Parcelize 16 | data class SavingsApproval( 17 | var locale: String = "en", 18 | 19 | var dateFormat: String = "dd MMMM yyyy", 20 | 21 | var approvedOnDate: String? = null, 22 | 23 | var note: String? = null, 24 | ) : Parcelable 25 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/accounts/loan/TermFrequencyTypeOptions.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.accounts.loan 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by nellyk on 2/27/2016. 17 | */ 18 | @Parcelize 19 | data class TermFrequencyTypeOptions( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/accounts/loan/TermPeriodFrequencyType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.accounts.loan 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | @Parcelize 16 | data class TermPeriodFrequencyType( 17 | var id: Int? = null, 18 | 19 | var code: String? = null, 20 | 21 | var value: String? = null, 22 | ) : Parcelable 23 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/accounts/loan/TransactionProcessingStrategy.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.accounts.loan 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | @Parcelize 16 | data class TransactionProcessingStrategy( 17 | var id: Int? = null, 18 | 19 | var code: String? = null, 20 | 21 | var name: String? = null, 22 | ) : Parcelable 23 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/accounts/savings/ChargeTimeType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.accounts.savings 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | import javax.annotation.processing.Generated 15 | 16 | @Parcelize 17 | @Generated("org.jsonschema2pojo") 18 | data class ChargeTimeType( 19 | var id: Int? = null, 20 | 21 | var code: String? = null, 22 | 23 | var value: String? = null, 24 | ) : Parcelable 25 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/accounts/savings/InterestCalculationDaysInYearType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.accounts.savings 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | @Parcelize 16 | class InterestCalculationDaysInYearType( 17 | var id: Int? = null, 18 | 19 | var code: String? = null, 20 | 21 | var value: String? = null, 22 | ) : Parcelable 23 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/accounts/savings/InterestCalculationType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.accounts.savings 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | @Parcelize 16 | data class InterestCalculationType( 17 | var id: Int? = null, 18 | 19 | var code: String? = null, 20 | 21 | var value: String? = null, 22 | ) : Parcelable 23 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/accounts/savings/InterestCompoundingPeriodType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.accounts.savings 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | @Parcelize 16 | data class InterestCompoundingPeriodType( 17 | var id: Int? = null, 18 | 19 | var code: String? = null, 20 | 21 | var value: String? = null, 22 | ) : Parcelable 23 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/accounts/savings/InterestPostingPeriodType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.accounts.savings 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | @Parcelize 16 | data class InterestPostingPeriodType( 17 | var id: Int? = null, 18 | 19 | var code: String? = null, 20 | 21 | var value: String? = null, 22 | ) : Parcelable 23 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/accounts/savings/LockinPeriodFrequencyType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.accounts.savings 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | @Parcelize 16 | data class LockinPeriodFrequencyType( 17 | var id: Int? = null, 18 | 19 | var code: String? = null, 20 | 21 | var value: String? = null, 22 | ) : Parcelable 23 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/accounts/savings/SavingsSummaryData.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.accounts.savings 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Pronay Sarker on 15/08/2024 (9:49 PM) 17 | */ 18 | @Parcelize 19 | data class SavingsSummaryData(val id: Int, val type: DepositType) : Parcelable 20 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/checkerinboxandtasks/CheckerInboxSearchTemplate.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.checkerinboxandtasks 11 | 12 | import com.google.gson.annotations.SerializedName 13 | 14 | data class CheckerInboxSearchTemplate( 15 | @SerializedName("actionNames") var actionNames: List, 16 | @SerializedName("entityNames") var entityNames: List, 17 | ) 18 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/checkerinboxandtasks/RescheduleReasonCodeValue.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.checkerinboxandtasks 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | @Parcelize 16 | data class RescheduleReasonCodeValue( 17 | var id: Int, 18 | var name: String, 19 | var active: Boolean, 20 | var mandatory: Boolean, 21 | ) : Parcelable 22 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/client/ActivatePayload.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.client 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Rajan Maurya on 09/02/17. 17 | */ 18 | @Parcelize 19 | data class ActivatePayload( 20 | var activationDate: String? = null, 21 | 22 | var dateFormat: String? = "dd MMMM YYYY", 23 | 24 | var locale: String? = "en", 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/client/ChargeCreationResponse.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.client 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Tarun on 13-08-17. 17 | */ 18 | @Parcelize 19 | data class ChargeCreationResponse( 20 | var clientId: Int = 0, 21 | 22 | var officeId: Int = 0, 23 | 24 | var resourceId: Int = 0, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/client/Page.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.client 11 | 12 | /** 13 | * Created by ishankhanna on 09/02/14. 14 | */ 15 | data class Page( 16 | var totalFilteredRecords: Int = 0, 17 | 18 | var pageItems: List = ArrayList(), 19 | ) 20 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/client/Permission.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.client 11 | 12 | /** 13 | * Created by ishankhanna on 09/02/14. 14 | */ 15 | data class Permission( 16 | var grouping: String? = null, 17 | 18 | var code: String? = null, 19 | 20 | var entityName: String? = null, 21 | 22 | var actionName: String? = null, 23 | 24 | var isSelected: Boolean = false, 25 | ) 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/client/Role.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.client 11 | 12 | /** 13 | * Created by ishankhanna on 09/02/14. 14 | */ 15 | data class Role( 16 | var id: Int = 0, 17 | 18 | var name: String? = null, 19 | 20 | var description: String? = null, 21 | ) 22 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/collectionsheet/AttendanceTypeOption.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.collectionsheet 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Tarun on 21-07-2017. 17 | */ 18 | @Parcelize 19 | data class AttendanceTypeOption( 20 | var id: Int = 0, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/collectionsheet/BulkSavingsDueTransaction.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.collectionsheet 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Tarun on 31-07-17. 17 | */ 18 | @Parcelize 19 | data class BulkSavingsDueTransaction( 20 | var savingsId: Int, 21 | 22 | var transactionAmount: String?, 23 | ) : Parcelable 24 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/collectionsheet/CollectionFrequency.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.collectionsheet 11 | 12 | /** 13 | * Created by ishankhanna on 16/07/14. 14 | */ 15 | data class CollectionFrequency( 16 | var id: Int? = null, 17 | 18 | var code: String? = null, 19 | 20 | var value: String? = null, 21 | ) 22 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/collectionsheet/EntityType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.collectionsheet 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by ishankhanna on 16/07/14. 17 | */ 18 | @Parcelize 19 | data class EntityType( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/collectionsheet/LoanAndClientName.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.collectionsheet 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Tarun on 17-07-2017. 17 | */ 18 | @Parcelize 19 | class LoanAndClientName( 20 | val loan: LoanCollectionSheet?, 21 | val clientName: String?, 22 | val id: Int, 23 | ) : Parcelable 24 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/db/Account.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.db 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | @Parcelize 16 | data class Account( 17 | var accountId: String? = null, 18 | 19 | var accountStatusId: Int = 0, 20 | 21 | var loanId: Int = 0, 22 | ) : Parcelable 23 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/db/AttendanceType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.db 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | @Parcelize 16 | data class AttendanceType( 17 | var attendanceTypeId: Int = 0, 18 | 19 | var code: String? = null, 20 | 21 | var value: String? = null, 22 | 23 | var client: Client? = null, 24 | ) : Parcelable 25 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/db/Client.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.db 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | @Parcelize 16 | data class Client( 17 | var clientId: Int = 0, 18 | 19 | var clientName: String? = null, 20 | 21 | var attendanceType: AttendanceType? = null, 22 | 23 | var mifosGroup: MifosGroup? = null, 24 | 25 | val loans: List = ArrayList(), 26 | ) : Parcelable 27 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/db/CollectionSheet.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.db 11 | 12 | import com.google.gson.Gson 13 | 14 | data class CollectionSheet( 15 | var dueDate: IntArray, 16 | var groups: List, 17 | ) { 18 | override fun toString(): String { 19 | return Gson().toJson(this) 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/db/EntityType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.db 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | @Parcelize 16 | data class EntityType( 17 | var code: String? = null, 18 | 19 | var value: String? = null, 20 | ) : Parcelable 21 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/db/MeetingDate.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.db 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | @Parcelize 16 | data class MeetingDate( 17 | var year: Int = 0, 18 | 19 | var month: Int = 0, 20 | 21 | var day: Int = 0, 22 | ) : Parcelable 23 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/db/OfflineCenter.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.db 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | @Parcelize 16 | data class OfflineCenter( 17 | var staffId: Int = 0, 18 | 19 | var staffName: String? = null, 20 | 21 | var meetingFallCenters: Array? = null, 22 | ) : Parcelable 23 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/db/RepaymentTransaction.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.db 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | @Parcelize 16 | data class RepaymentTransaction( 17 | var loan: Loan? = null, 18 | 19 | var transactionAmount: Double = 0.0, 20 | ) : Parcelable 21 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/db/Status.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.db 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | @Parcelize 16 | data class Status( 17 | var code: String? = null, 18 | 19 | var value: String? = null, 20 | ) : Parcelable 21 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/mifoserror/Arg.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.mifoserror 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | @Parcelize 16 | data class Arg( 17 | var value: String? = null, 18 | 19 | ) : Parcelable 20 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/mifoserror/Errors.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.mifoserror 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | @Parcelize 16 | data class Errors( 17 | var developerMessage: String = "", 18 | 19 | var defaultUserMessage: String = "", 20 | 21 | var userMessageGlobalisationCode: String = "", 22 | 23 | var parameterName: String? = null, 24 | ) : Parcelable 25 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/navigation/ClientArgs.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.navigation 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /* 16 | * Created by Aditya Gupta on 22/7/23. 17 | */ 18 | 19 | @Parcelize 20 | data class ClientArgs( 21 | var clientId: Int? = null, 22 | 23 | var savingsAccountNumber: Int? = null, 24 | 25 | var loanAccountNumber: Int? = null, 26 | ) : Parcelable 27 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/navigation/DataTableDataNavigationArg.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.navigation 11 | 12 | import com.mifos.core.objects.noncore.DataTable 13 | 14 | data class DataTableDataNavigationArg( 15 | 16 | val tableName: String, 17 | 18 | val entityId: Int, 19 | 20 | val dataTable: DataTable, 21 | ) 22 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/navigation/DataTableNavigationArg.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.navigation 11 | 12 | data class DataTableNavigationArg( 13 | 14 | val tableName: String, 15 | 16 | val entityId: Int, 17 | ) 18 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/noncore/IdentifierCreationResponse.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.noncore 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Tarun on 07-08-17. 17 | */ 18 | @Parcelize 19 | data class IdentifierCreationResponse( 20 | var clientId: Int = 0, 21 | 22 | var officeId: Int = 0, 23 | 24 | var resourceId: Int = 0, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/noncore/IdentifierTemplate.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.noncore 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Rajan Maurya on 01/10/16. 17 | */ 18 | @Parcelize 19 | class IdentifierTemplate( 20 | var allowedDocumentTypes: List? = ArrayList(), 21 | 22 | ) : Parcelable 23 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/noncore/IdentifierType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.noncore 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Rajan Maurya on 01/10/16. 17 | */ 18 | @Parcelize 19 | data class IdentifierType( 20 | var id: Int? = null, 21 | 22 | var name: String? = null, 23 | 24 | var position: Int? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/organisation/AccountingRule.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.organisation 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Rajan Maurya on 15/07/16. 17 | */ 18 | @Parcelize 19 | data class AccountingRule( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/organisation/AmortizationType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.organisation 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Rajan Maurya on 15/07/16. 17 | */ 18 | @Parcelize 19 | data class AmortizationType( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/organisation/ClientClassificationOptions.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.organisation 11 | 12 | /** 13 | * Created by nkiboi on 12/15/2015. 14 | */ 15 | data class ClientClassificationOptions( 16 | var id: Int? = null, 17 | 18 | var name: String? = null, 19 | ) 20 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/organisation/ClientTypeOptions.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.organisation 11 | 12 | /** 13 | * Created by nkiboi on 12/15/2015. 14 | */ 15 | data class ClientTypeOptions( 16 | var id: Int? = null, 17 | 18 | var name: String? = null, 19 | ) 20 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/organisation/DaysInMonthType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.organisation 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Rajan Maurya on 15/07/16. 17 | */ 18 | @Parcelize 19 | data class DaysInMonthType( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/organisation/DaysInYearType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.organisation 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Rajan Maurya on 15/07/16. 17 | */ 18 | @Parcelize 19 | data class DaysInYearType( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/organisation/GenderOptions.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.organisation 11 | 12 | /** 13 | * Created by nkiboi on 12/15/2015. 14 | */ 15 | data class GenderOptions( 16 | var id: Int? = null, 17 | 18 | var name: String? = null, 19 | ) 20 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/organisation/InterestCalculationDaysInYearType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.organisation 11 | 12 | /** 13 | * Created by nkiboi on 12/15/2015. 14 | */ 15 | data class InterestCalculationDaysInYearType( 16 | var id: Int? = null, 17 | 18 | var code: String? = null, 19 | 20 | var value: String? = null, 21 | ) 22 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/organisation/InterestCalculationPeriodType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.organisation 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Rajan Maurya on 15/07/16. 17 | */ 18 | @Parcelize 19 | data class InterestCalculationPeriodType( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/organisation/InterestCalculationTypeOptions.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.organisation 11 | 12 | /** 13 | * Created by nkiboi on 12/15/2015. 14 | */ 15 | data class InterestCalculationTypeOptions( 16 | var id: Int? = null, 17 | 18 | var code: String? = null, 19 | 20 | var value: String? = null, 21 | ) 22 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/organisation/InterestCompoundingPeriod.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.organisation 11 | 12 | /** 13 | * Created by nkiboi on 12/15/2015. 14 | */ 15 | data class InterestCompoundingPeriod( 16 | var id: Int? = null, 17 | 18 | var code: String? = null, 19 | 20 | var value: String? = null, 21 | ) 22 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/organisation/InterestPostingPeriodType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.organisation 11 | 12 | /** 13 | * Created by nkiboi on 12/15/2015. 14 | */ 15 | data class InterestPostingPeriodType( 16 | var id: Int? = null, 17 | 18 | var code: String? = null, 19 | 20 | var value: String? = null, 21 | ) 22 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/organisation/InterestRateFrequencyType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.organisation 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Rajan Maurya on 15/07/16. 17 | */ 18 | @Parcelize 19 | data class InterestRateFrequencyType( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/organisation/InterestType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.organisation 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Rajan Maurya on 15/07/16. 17 | */ 18 | @Parcelize 19 | data class InterestType( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/organisation/LoanFund.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.organisation 11 | 12 | /** 13 | * Created by nellyk on 2/21/2016. 14 | */ 15 | data class LoanFund( 16 | var id: Int? = null, 17 | 18 | var code: String? = null, 19 | 20 | var value: String? = null, 21 | ) 22 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/organisation/LoanPurpose.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.organisation 11 | 12 | /** 13 | * Created by nellyk on 2/21/2016. 14 | */ 15 | data class LoanPurpose( 16 | var id: Int? = null, 17 | 18 | var name: String? = null, 19 | 20 | var position: String? = null, 21 | ) 22 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/organisation/ProductSavings.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.organisation 11 | 12 | /** 13 | * Created by nellyk on 12/15/2015. 14 | */ 15 | data class ProductSavings( 16 | var id: Int? = null, 17 | 18 | var name: String? = null, 19 | 20 | var shortName: String? = null, 21 | 22 | var description: String? = null, 23 | ) 24 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/organisation/RepaymentFrequencyType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.organisation 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Rajan Maurya on 15/07/16. 17 | */ 18 | @Parcelize 19 | data class RepaymentFrequencyType( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/runreports/DataRow.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.runreports 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Tarun on 03-08-17. 17 | */ 18 | @Parcelize 19 | data class DataRow(var row: List = listOf()) : Parcelable 20 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/runreports/FullParameterListResponse.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.runreports 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Tarun on 03-08-17. 17 | */ 18 | @Parcelize 19 | class FullParameterListResponse( 20 | var columnHeaders: List, 21 | var data: List, 22 | ) : Parcelable 23 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/survey/ScorecardValues.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.survey 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Nasim Banu on 28,January,2016. 17 | */ 18 | @Parcelize 19 | data class ScorecardValues( 20 | var questionId: Int? = null, 21 | 22 | var responseId: Int? = null, 23 | 24 | var value: Int? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/system/Code.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.system 11 | 12 | /** 13 | * Created by ishankhanna on 16/06/14. 14 | */ 15 | class Code { 16 | var id: Int? = null 17 | var name: String? = null 18 | var isSystemDefined: Boolean? = null 19 | } 20 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/system/CodeValue.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.system 11 | 12 | /** 13 | * Created by ishankhanna on 16/06/14. 14 | */ 15 | class CodeValue { 16 | var id: Int? = null 17 | var name: String? = null 18 | var position: Int? = null 19 | } 20 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/templates/clients/AddressTemplate.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2025 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.templates.clients 11 | 12 | data class AddressTemplate( 13 | val addressTypeIdOptions: List = emptyList(), 14 | val countryIdOptions: List = emptyList(), 15 | val stateProvinceIdOptions: List = emptyList(), 16 | ) 17 | 18 | data class AddressConfiguration( 19 | val enabled: Boolean = false, 20 | ) 21 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/templates/clients/ChargeTemplate.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.templates.clients 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by mayankjindal on 13/12/16. 17 | */ 18 | @Parcelize 19 | data class ChargeTemplate( 20 | val penalty: Boolean, 21 | val chargeOptions: List, 22 | ) : Parcelable 23 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/templates/clients/IncomeOrLiabilityAccount.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.templates.clients 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by mayankjindal on 13/12/16. 17 | */ 18 | @Parcelize 19 | data class IncomeOrLiabilityAccount( 20 | val id: Int, 21 | val name: String, 22 | val glCode: String, 23 | ) : Parcelable 24 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/templates/loans/AccountingRule.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.templates.loans 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Rajan Maurya on 16/07/16. 17 | */ 18 | @Parcelize 19 | data class AccountingRule( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/templates/loans/AmortizationType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.templates.loans 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Rajan Maurya on 16/07/16. 17 | */ 18 | @Parcelize 19 | data class AmortizationType( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/templates/loans/AmortizationTypeOptions.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.templates.loans 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Rajan Maurya on 16/07/16. 17 | */ 18 | @Parcelize 19 | data class AmortizationTypeOptions( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/templates/loans/CalendarOptionsType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.templates.loans 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by mayankjindal on 02/10/16. 17 | */ 18 | @Parcelize 19 | data class CalendarOptionsType( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/templates/loans/ChargeAppliesTo.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.templates.loans 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Rajan Maurya on 16/07/16. 17 | */ 18 | @Parcelize 19 | data class ChargeAppliesTo( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/templates/loans/ChargeCalculationType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.templates.loans 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Rajan Maurya on 16/07/16. 17 | */ 18 | @Parcelize 19 | data class ChargeCalculationType( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/templates/loans/ChargePaymentMode.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.templates.loans 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Rajan Maurya on 16/07/16. 17 | */ 18 | @Parcelize 19 | data class ChargePaymentMode( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/templates/loans/ChargeTimeType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.templates.loans 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Rajan Maurya on 16/07/16. 17 | */ 18 | @Parcelize 19 | data class ChargeTimeType( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/templates/loans/DaysInMonthType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.templates.loans 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Rajan Maurya on 16/07/16. 17 | */ 18 | @Parcelize 19 | class DaysInMonthType( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/templates/loans/DaysInYearType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.templates.loans 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Rajan Maurya on 16/07/16. 17 | */ 18 | @Parcelize 19 | data class DaysInYearType( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/templates/loans/EntityType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.templates.loans 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by mayankjindal on 02/10/16. 17 | */ 18 | @Parcelize 19 | data class EntityType( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/templates/loans/Frequency.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.templates.loans 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by mayankjindal on 02/10/16. 17 | */ 18 | @Parcelize 19 | data class Frequency( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/templates/loans/FundOptions.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.templates.loans 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Rajan Maurya on 16/07/16. 17 | */ 18 | @Parcelize 19 | data class FundOptions( 20 | var id: Int? = null, 21 | 22 | var name: String? = null, 23 | ) : Parcelable 24 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/templates/loans/InterestRateFrequencyType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.templates.loans 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Rajan Maurya on 16/07/16. 17 | */ 18 | @Parcelize 19 | data class InterestRateFrequencyType( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/templates/loans/InterestType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.templates.loans 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Rajan Maurya on 16/07/16. 17 | */ 18 | @Parcelize 19 | data class InterestType( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/templates/loans/InterestTypeOptions.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.templates.loans 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Rajan Maurya on 16/07/16. 17 | */ 18 | @Parcelize 19 | data class InterestTypeOptions( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/templates/loans/OverdueCharges.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.templates.loans 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by mayankjindal on 02/10/16. 17 | */ 18 | @Parcelize 19 | class OverdueCharges : Parcelable 20 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/templates/loans/RecalculationRestFrequencyType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.templates.loans 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Rajan Maurya on 16/07/16. 17 | */ 18 | @Parcelize 19 | data class RecalculationRestFrequencyType( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/templates/loans/RepaymentFrequencyType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.templates.loans 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Rajan Maurya on 16/07/16. 17 | */ 18 | @Parcelize 19 | data class RepaymentFrequencyType( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/templates/loans/RepaymentFrequencyTypeOptions.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.templates.loans 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Rajan Maurya on 16/07/16. 17 | */ 18 | @Parcelize 19 | data class RepaymentFrequencyTypeOptions( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/templates/loans/RepeatsOnNthDayOfMonth.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.templates.loans 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by mayankjindal on 02/10/16. 17 | */ 18 | @Parcelize 19 | data class RepeatsOnNthDayOfMonth( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/templates/loans/RescheduleStrategyType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.templates.loans 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Rajan Maurya on 16/07/16. 17 | */ 18 | @Parcelize 19 | data class RescheduleStrategyType( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/templates/loans/Status.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.templates.loans 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by mayankjindal on 02/10/16. 17 | */ 18 | @Parcelize 19 | data class Status( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/templates/loans/TaxGroup.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.templates.loans 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Rajan Maurya on 16/07/16. 17 | */ 18 | @Parcelize 19 | data class TaxGroup( 20 | var id: Int? = null, 21 | 22 | var name: String? = null, 23 | ) : Parcelable 24 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/templates/loans/TermFrequencyTypeOptions.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.templates.loans 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Rajan Maurya on 16/07/16. 17 | */ 18 | @Parcelize 19 | data class TermFrequencyTypeOptions( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/templates/loans/TermPeriodFrequencyType.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.templates.loans 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Rajan Maurya on 16/07/16. 17 | */ 18 | @Parcelize 19 | data class TermPeriodFrequencyType( 20 | var id: Int? = null, 21 | 22 | var code: String? = null, 23 | 24 | var value: String? = null, 25 | ) : Parcelable 26 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/templates/loans/Timeline.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.templates.loans 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | /** 16 | * Created by Rajan Maurya on 16/07/16. 17 | */ 18 | @Parcelize 19 | data class Timeline( 20 | val expectedDisbursementDate: List? = null, 21 | ) : Parcelable 22 | -------------------------------------------------------------------------------- /core/database/src/main/java/com/mifos/core/objects/templates/savings/TagId.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.objects.templates.savings 11 | 12 | import android.os.Parcelable 13 | import kotlinx.parcelize.Parcelize 14 | 15 | @Parcelize 16 | data class TagId( 17 | 18 | var id: Int? = null, 19 | 20 | ) : Parcelable 21 | -------------------------------------------------------------------------------- /core/datastore/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /core/datastore/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/core/datastore/consumer-rules.pro -------------------------------------------------------------------------------- /core/datastore/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /core/designsystem/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /core/designsystem/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/core/designsystem/consumer-rules.pro -------------------------------------------------------------------------------- /core/designsystem/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /core/designsystem/src/main/java/com/mifos/core/designsystem/utility/PathState.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.designsystem.utility 11 | 12 | import androidx.compose.ui.graphics.Color 13 | import androidx.compose.ui.graphics.Path 14 | 15 | data class PathState( 16 | val path: Path, 17 | val color: Color, 18 | val stroke: Float, 19 | ) 20 | -------------------------------------------------------------------------------- /core/designsystem/src/main/java/com/mifos/core/designsystem/utility/TabContent.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.designsystem.utility 11 | 12 | import androidx.compose.runtime.Composable 13 | 14 | data class TabContent( 15 | 16 | val tabName: String, 17 | 18 | val content: @Composable () -> Unit, 19 | ) 20 | -------------------------------------------------------------------------------- /core/designsystem/src/main/res/font/core_designsystem_lato_black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/core/designsystem/src/main/res/font/core_designsystem_lato_black.ttf -------------------------------------------------------------------------------- /core/designsystem/src/main/res/font/core_designsystem_lato_bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/core/designsystem/src/main/res/font/core_designsystem_lato_bold.ttf -------------------------------------------------------------------------------- /core/designsystem/src/main/res/font/core_designsystem_lato_regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/core/designsystem/src/main/res/font/core_designsystem_lato_regular.ttf -------------------------------------------------------------------------------- /core/domain/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /core/domain/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/core/domain/consumer-rules.pro -------------------------------------------------------------------------------- /core/domain/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /core/domain/src/main/java/com/mifos/core/domain/utils/ValidationResult.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.domain.utils 11 | 12 | /** 13 | * Created by Aditya Gupta on 11/02/24. 14 | */ 15 | 16 | data class ValidationResult( 17 | 18 | val success: Boolean, 19 | 20 | val message: Int? = null, 21 | ) 22 | -------------------------------------------------------------------------------- /core/model/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /core/model/build.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | plugins { 11 | alias(libs.plugins.mifos.android.library) 12 | id("kotlin-parcelize") 13 | } 14 | android{ 15 | namespace = "com.mifos.core.model" 16 | 17 | defaultConfig { 18 | consumerProguardFiles("consumer-rules.pro") 19 | } 20 | } 21 | 22 | dependencies { 23 | implementation(libs.converter.gson) 24 | } 25 | -------------------------------------------------------------------------------- /core/model/consumer-rules.pro: -------------------------------------------------------------------------------- 1 | # Keep your model classes 2 | -keep class com.mifos.core.model.** { *; } -------------------------------------------------------------------------------- /core/model/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /core/model/src/main/kotlin/com/mifos/core/model/DarkThemeConfig.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2025 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.model 11 | 12 | enum class DarkThemeConfig { 13 | FOLLOW_SYSTEM, 14 | LIGHT, 15 | DARK, 16 | } 17 | -------------------------------------------------------------------------------- /core/model/src/main/kotlin/com/mifos/core/model/ThemeBrand.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2025 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.model 11 | 12 | enum class ThemeBrand { 13 | DEFAULT, 14 | ANDROID, 15 | } 16 | -------------------------------------------------------------------------------- /core/network/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /core/network/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /core/network/src/main/java/com/mifos/core/network/GenericRequest.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.network 11 | 12 | /** 13 | * Created by ishankhanna on 24/06/14. 14 | */ 15 | class GenericRequest { 16 | var requestFields = HashMap() 17 | } 18 | -------------------------------------------------------------------------------- /core/network/src/main/java/com/mifos/core/network/GenericResponse.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.network 11 | 12 | /** 13 | * Created by ishankhanna on 24/06/14. 14 | */ 15 | class GenericResponse { 16 | var responseFields = HashMap() 17 | override fun toString(): String { 18 | return "GenericResponse{" + 19 | "responseFields=" + responseFields + 20 | '}' 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /core/network/src/main/java/com/mifos/core/network/model/Changes.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.network.model 11 | 12 | import com.google.gson.Gson 13 | 14 | data class Changes( 15 | val locale: String, 16 | val dateFormat: String, 17 | ) { 18 | override fun toString(): String { 19 | return Gson().toJson(this) 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /core/network/src/main/java/com/mifos/core/network/model/DefaultPayload.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.network.model 11 | 12 | /** 13 | * Created by ADMIN on 16-Jun-15. 14 | */ 15 | 16 | data class DefaultPayload( 17 | var dateFormat: String = "dd MMMM YYYY", 18 | var locale: String = "en", 19 | ) 20 | -------------------------------------------------------------------------------- /core/network/src/main/java/com/mifos/core/network/model/RequestCollectionSheetPayload.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.network.model 11 | 12 | /** 13 | * Created by Tarun on 06-07-2017. 14 | */ 15 | data class RequestCollectionSheetPayload( 16 | var dateFormat: String = "dd MMMM yyyy", 17 | var locale: String = "en", 18 | var officeId: Int? = null, 19 | var staffId: Int? = null, 20 | var transactionDate: String = "", 21 | ) 22 | -------------------------------------------------------------------------------- /core/network/src/main/java/com/mifos/core/network/model/ScorecardPayload.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.network.model 11 | 12 | import com.mifos.core.objects.survey.ScorecardValues 13 | import java.util.Date 14 | 15 | /** 16 | * Created by Nasim Banu on 28,January,2016. 17 | */ 18 | data class ScorecardPayload( 19 | var userId: Int = 0, 20 | var clientId: Int = 0, 21 | var createdOn: Date? = null, 22 | var scorecardValues: List? = null, 23 | ) 24 | -------------------------------------------------------------------------------- /core/testing/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /core/testing/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/core/testing/consumer-rules.pro -------------------------------------------------------------------------------- /core/testing/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /core/ui/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /core/ui/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/core/ui/consumer-rules.pro -------------------------------------------------------------------------------- /core/ui/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /core/ui/src/main/res/values/core_ui_strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | #000000 13 | -------------------------------------------------------------------------------- /core/ui/src/test/java/com/mifos/core/ui/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.core.ui 11 | 12 | import junit.framework.TestCase.assertEquals 13 | import org.junit.Test 14 | 15 | /** 16 | * Example local unit test, which will execute on the development machine (host). 17 | * 18 | * See [testing documentation](http://d.android.com/tools/testing). 19 | */ 20 | class ExampleUnitTest { 21 | @Test 22 | fun addition_isCorrect() { 23 | assertEquals(4, 2 + 2) 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /fastlane-config/ios_config.rb: -------------------------------------------------------------------------------- 1 | module FastlaneConfig 2 | module IosConfig 3 | FIREBASE_CONFIG = { 4 | firebase_app_id: "1:728434912738:ios:shjhsa78392shja", 5 | firebase_service_creds_file: "secrets/firebaseAppDistributionServiceCredentialsFile.json", 6 | firebase_groups: "mifos-mobile-apps" 7 | } 8 | 9 | BUILD_CONFIG = { 10 | project_path: "cmp-ios/iosApp.xcodeproj", 11 | scheme: "iosApp", 12 | output_directory: "cmp-ios/build" 13 | } 14 | end 15 | end -------------------------------------------------------------------------------- /fastlane/AppFile: -------------------------------------------------------------------------------- 1 | json_key_file("secrets/playStorePublishServiceCredentialsFile.json") 2 | package_name("com.mifos.mifosxdroid") # e.g. cmp.android.app -------------------------------------------------------------------------------- /fastlane/PluginFile: -------------------------------------------------------------------------------- 1 | # Autogenerated by fastlane 2 | # 3 | # Ensure this file is checked in to source control! 4 | gem 'fastlane-plugin-firebase_app_distribution' 5 | gem 'fastlane-plugin-increment_build_number' 6 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/6.txt: -------------------------------------------------------------------------------- 1 | - Create center new groups & centers 2 | - Create clients & groups from parent entity 3 | - Improved navigation & advanced search 4 | - Open, approve, disburse new loan & savings accounts 5 | - Attach documents to loan & savings accounts. 6 | - Offline Data Collection & Synchronization 7 | - Synchronize clients and groups for offline 8 | - Enter repayments, deposits, and withdrawals while offline 9 | - Create new clients, loans & savings accounts while offline 10 | - Pinpoint client GPS location 11 | - Track route of field officer -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/default.txt: -------------------------------------------------------------------------------- 1 | chore: Upload `google-services.json` file (#2295) 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/featureGraphic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/fastlane/metadata/android/en-US/images/featureGraphic.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/fastlane/metadata/android/en-US/images/icon.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/phoneScreenshots/1_en-US.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/fastlane/metadata/android/en-US/images/phoneScreenshots/1_en-US.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/phoneScreenshots/2_en-US.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/fastlane/metadata/android/en-US/images/phoneScreenshots/2_en-US.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/phoneScreenshots/3_en-US.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/fastlane/metadata/android/en-US/images/phoneScreenshots/3_en-US.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/phoneScreenshots/4_en-US.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/fastlane/metadata/android/en-US/images/phoneScreenshots/4_en-US.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/phoneScreenshots/5_en-US.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/fastlane/metadata/android/en-US/images/phoneScreenshots/5_en-US.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/phoneScreenshots/6_en-US.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/fastlane/metadata/android/en-US/images/phoneScreenshots/6_en-US.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/phoneScreenshots/7_en-US.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/fastlane/metadata/android/en-US/images/phoneScreenshots/7_en-US.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/phoneScreenshots/8_en-US.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/fastlane/metadata/android/en-US/images/phoneScreenshots/8_en-US.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/short_description.txt: -------------------------------------------------------------------------------- 1 | Mobile field operations app for financial inclusion built on Apache Fineract. -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/title.txt: -------------------------------------------------------------------------------- 1 | MifosX Android Client -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/video.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/fastlane/metadata/android/en-US/video.txt -------------------------------------------------------------------------------- /feature/about/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /feature/about/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/feature/about/consumer-rules.pro -------------------------------------------------------------------------------- /feature/about/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /feature/about/src/main/java/com/mifos/feature/about/AboutItem.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.feature.about 11 | 12 | import androidx.compose.ui.graphics.Color 13 | 14 | data class AboutItem( 15 | val icon: Int?, 16 | val title: Int, 17 | val subtitle: Int?, 18 | val color: Color, 19 | val id: AboutItems, 20 | ) 21 | -------------------------------------------------------------------------------- /feature/about/src/main/java/com/mifos/feature/about/AboutUiState.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.feature.about 11 | 12 | sealed class AboutUiState { 13 | 14 | data object Loading : AboutUiState() 15 | 16 | data class Error(val message: Int) : AboutUiState() 17 | 18 | data class AboutOptions(val aboutOptions: List) : AboutUiState() 19 | } 20 | -------------------------------------------------------------------------------- /feature/about/src/main/java/com/mifos/feature/about/navigation/AboutScreens.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.feature.about.navigation 11 | 12 | /** 13 | * Created by Pronay Sarker on 18/08/2024 (2:42 PM) 14 | */ 15 | sealed class AboutScreens(val route: String) { 16 | data object AboutScreen : AboutScreens(route = "about_screen_route") 17 | } 18 | -------------------------------------------------------------------------------- /feature/about/src/main/res/drawable/feature_about_ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/feature/about/src/main/res/drawable/feature_about_ic_launcher.png -------------------------------------------------------------------------------- /feature/activate/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /feature/activate/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/feature/activate/consumer-rules.pro -------------------------------------------------------------------------------- /feature/activate/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /feature/activate/src/main/java/com/mifos/feature/activate/ActivateUiState.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.feature.activate 11 | 12 | /** 13 | * Created by Aditya Gupta on 06/08/23. 14 | */ 15 | sealed class ActivateUiState { 16 | 17 | data object Initial : ActivateUiState() 18 | 19 | data object Loading : ActivateUiState() 20 | 21 | data class Error(val message: Int) : ActivateUiState() 22 | 23 | data class ActivatedSuccessfully(val message: Int) : ActivateUiState() 24 | } 25 | -------------------------------------------------------------------------------- /feature/auth/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /feature/auth/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/feature/auth/consumer-rules.pro -------------------------------------------------------------------------------- /feature/auth/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /feature/auth/src/main/java/com/mifos/feature/auth/navigation/AuthScreens.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.feature.auth.navigation 11 | 12 | sealed class AuthScreens(val route: String) { 13 | 14 | data object LoginScreenRoute : AuthScreens("login_screen_route") 15 | 16 | data object LoginScreen : AuthScreens("login_screen") 17 | } 18 | -------------------------------------------------------------------------------- /feature/auth/src/main/res/drawable/feature_auth_mifos_logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/feature/auth/src/main/res/drawable/feature_auth_mifos_logo.jpg -------------------------------------------------------------------------------- /feature/center/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /feature/center/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/feature/center/consumer-rules.pro -------------------------------------------------------------------------------- /feature/center/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /feature/checker-inbox-task/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /feature/checker-inbox-task/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/feature/checker-inbox-task/consumer-rules.pro -------------------------------------------------------------------------------- /feature/checker-inbox-task/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /feature/client/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /feature/client/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/feature/client/consumer-rules.pro -------------------------------------------------------------------------------- /feature/client/src/main/res/drawable/feature_client_ic_dp_placeholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/feature/client/src/main/res/drawable/feature_client_ic_dp_placeholder.png -------------------------------------------------------------------------------- /feature/client/src/main/res/drawable/feature_client_ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/feature/client/src/main/res/drawable/feature_client_ic_launcher.png -------------------------------------------------------------------------------- /feature/client/src/main/res/xml/feature_client_path_provider.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /feature/collectionSheet/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /feature/collectionSheet/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/feature/collectionSheet/consumer-rules.pro -------------------------------------------------------------------------------- /feature/collectionSheet/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /feature/collectionSheet/src/main/res/drawable/feature_collection_sheet_ic_dp_placeholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/feature/collectionSheet/src/main/res/drawable/feature_collection_sheet_ic_dp_placeholder.png -------------------------------------------------------------------------------- /feature/data-table/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /feature/data-table/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/feature/data-table/consumer-rules.pro -------------------------------------------------------------------------------- /feature/data-table/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /feature/data-table/src/main/java/com/mifos/feature/dataTable/dataTableList/DataTableListNavArgs.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.feature.dataTable.dataTableList 11 | 12 | import com.mifos.core.objects.noncore.DataTable 13 | 14 | data class DataTableListNavArgs( 15 | 16 | val dataTableList: List, 17 | 18 | val requestType: Int, 19 | 20 | val payload: Any?, 21 | 22 | val formWidget: MutableList>, 23 | ) 24 | -------------------------------------------------------------------------------- /feature/document/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /feature/document/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/feature/document/consumer-rules.pro -------------------------------------------------------------------------------- /feature/document/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /feature/groups/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /feature/groups/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/feature/groups/consumer-rules.pro -------------------------------------------------------------------------------- /feature/groups/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /feature/loan/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /feature/loan/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/feature/loan/consumer-rules.pro -------------------------------------------------------------------------------- /feature/loan/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /feature/note/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /feature/note/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/feature/note/consumer-rules.pro -------------------------------------------------------------------------------- /feature/note/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /feature/note/src/main/res/values/res.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | Notes 13 | No notes found 14 | Failed to fetch notes 15 | No Internet 16 | 17 | -------------------------------------------------------------------------------- /feature/offline/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /feature/offline/build.gradle.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | plugins { 11 | alias(libs.plugins.mifos.android.feature) 12 | alias(libs.plugins.mifos.android.library.compose) 13 | alias(libs.plugins.mifos.android.library.jacoco) 14 | } 15 | 16 | android { 17 | namespace = "com.mifos.feature.offline" 18 | } 19 | 20 | dependencies { 21 | implementation(projects.core.domain) 22 | 23 | //material 24 | implementation (libs.androidx.material.v168) 25 | } -------------------------------------------------------------------------------- /feature/offline/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/feature/offline/consumer-rules.pro -------------------------------------------------------------------------------- /feature/offline/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /feature/passcode/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /feature/passcode/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | alias(libs.plugins.mifos.android.feature) 3 | alias(libs.plugins.mifos.android.library.compose) 4 | alias(libs.plugins.mifos.android.library.jacoco) 5 | } 6 | 7 | android { 8 | namespace = "com.mifos.feature.passcode" 9 | } 10 | 11 | dependencies { 12 | implementation(projects.core.domain) 13 | 14 | //DBFlow dependencies 15 | kapt(libs.dbflow.processor) 16 | implementation(libs.dbflow) 17 | kapt(libs.github.dbflow.processor) 18 | testImplementation(libs.hilt.android.testing) 19 | testImplementation(projects.core.testing) 20 | 21 | androidTestImplementation(projects.core.testing) 22 | 23 | // passcode dependency 24 | implementation("com.github.openMF.mifos-passcode:compose:1.0.3") 25 | } -------------------------------------------------------------------------------- /feature/passcode/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/feature/passcode/consumer-rules.pro -------------------------------------------------------------------------------- /feature/passcode/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /feature/passcode/src/main/java/com/mifos/feature/passcode/navigation/PasscodeScreens.kt: -------------------------------------------------------------------------------- 1 | package com.mifos.feature.passcode.navigation 2 | 3 | sealed class PasscodeScreens(val route: String) { 4 | 5 | data object PasscodeScreen : PasscodeScreens("passcode_screen") 6 | 7 | } -------------------------------------------------------------------------------- /feature/passcode/src/main/java/com/mifos/feature/passcode/passcode/PasscodeViewmodel.kt: -------------------------------------------------------------------------------- 1 | package com.mifos.feature.passcode.passcode 2 | 3 | import androidx.lifecycle.SavedStateHandle 4 | import androidx.lifecycle.ViewModel 5 | import com.mifos.core.common.utils.Constants 6 | import dagger.hilt.android.lifecycle.HiltViewModel 7 | import javax.inject.Inject 8 | 9 | @HiltViewModel 10 | class PasscodeViewmodel @Inject constructor( 11 | private val savedStateHandle: SavedStateHandle 12 | ) : ViewModel() { 13 | 14 | val passcodeStatus = 15 | savedStateHandle.getStateFlow(key = Constants.PASSCODE_INITIAL_LOGIN, initialValue = false) 16 | 17 | } -------------------------------------------------------------------------------- /feature/passcode/src/test/java/com/mifos/feature/passcode/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package com.mifos.feature.passcode 2 | 3 | import org.junit.Assert.assertEquals 4 | import org.junit.Test 5 | 6 | /** 7 | * Example local unit test, which will execute on the development machine (host). 8 | * 9 | * See [testing documentation](http://d.android.com/tools/testing). 10 | */ 11 | class ExampleUnitTest { 12 | @Test 13 | fun addition_isCorrect() { 14 | assertEquals(4, 2 + 2) 15 | } 16 | } -------------------------------------------------------------------------------- /feature/path-tracking/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /feature/path-tracking/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/feature/path-tracking/consumer-rules.pro -------------------------------------------------------------------------------- /feature/path-tracking/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /feature/path-tracking/src/main/java/com/mifos/feature/pathTracking/navigation/PathTrackingScreens.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.feature.pathTracking.navigation 11 | 12 | sealed class PathTrackingScreens(val route: String) { 13 | 14 | data object PathTrackingScreenRoute : PathTrackingScreens("path_tracking_screen_route") 15 | 16 | data object PathTrackingScreen : PathTrackingScreens("path_tracking_screen") 17 | } 18 | -------------------------------------------------------------------------------- /feature/report/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /feature/report/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/feature/report/consumer-rules.pro -------------------------------------------------------------------------------- /feature/report/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /feature/report/src/main/java/com/mifos/feature/report/report/ReportUiState.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.feature.report.report 11 | 12 | sealed class ReportUiState { 13 | 14 | data object Initial : ReportUiState() 15 | 16 | data class Message(val message: Int) : ReportUiState() 17 | } 18 | -------------------------------------------------------------------------------- /feature/report/src/main/java/com/mifos/feature/report/reportDetail/ReportDetailUiState.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.feature.report.reportDetail 11 | 12 | /** 13 | * Created by Aditya Gupta on 12/08/23. 14 | */ 15 | sealed class ReportDetailUiState { 16 | 17 | data object Loading : ReportDetailUiState() 18 | 19 | data class Error(val message: Int) : ReportDetailUiState() 20 | 21 | data object ParameterDetailsSuccess : ReportDetailUiState() 22 | } 23 | -------------------------------------------------------------------------------- /feature/report/src/main/java/com/mifos/feature/report/runReport/RunReportUiState.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.feature.report.runReport 11 | 12 | import com.mifos.core.objects.runreports.client.ClientReportTypeItem 13 | 14 | sealed class RunReportUiState { 15 | 16 | data object Loading : RunReportUiState() 17 | 18 | data class Error(val message: Int) : RunReportUiState() 19 | 20 | data class RunReports(val runReports: List) : RunReportUiState() 21 | } 22 | -------------------------------------------------------------------------------- /feature/savings/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /feature/savings/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/feature/savings/consumer-rules.pro -------------------------------------------------------------------------------- /feature/savings/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /feature/search/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /feature/search/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/feature/search/consumer-rules.pro -------------------------------------------------------------------------------- /feature/search/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /feature/search/src/main/java/com/mifos/feature/search/SearchUiState.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.feature.search 11 | 12 | import com.mifos.core.objects.SearchedEntity 13 | 14 | data class SearchUiState( 15 | val isLoading: Boolean = false, 16 | val error: String? = null, 17 | val searchedEntities: List = emptyList(), 18 | ) 19 | -------------------------------------------------------------------------------- /feature/search/src/main/java/com/mifos/feature/search/navigation/SearchScreens.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.feature.search.navigation 11 | 12 | sealed class SearchScreens(val route: String) { 13 | data object SearchScreenRoute : SearchScreens("search_screen_route") 14 | 15 | data object SearchScreen : SearchScreens("search_screen") 16 | } 17 | -------------------------------------------------------------------------------- /feature/settings/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /feature/settings/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /feature/settings/src/main/java/com/mifos/feature/settings/navigation/SettingsScreens.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.feature.settings.navigation 11 | 12 | /** 13 | * Created by Pronay Sarker on 22/08/2024 (4:31 PM) 14 | */ 15 | sealed class SettingsScreens(val route: String) { 16 | data object SettingsScreen : SettingsScreens("settings_screen") 17 | data object ChangeServerConfig : SettingsScreens("change_server_config") 18 | } 19 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Feb 02 11:29:16 IST 2024 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists -------------------------------------------------------------------------------- /keystores/release_keystore.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/keystores/release_keystore.keystore -------------------------------------------------------------------------------- /libs/country-code-picker/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /libs/country-code-picker/README.md: -------------------------------------------------------------------------------- 1 | ## A local fork of the country-code-picker library 2 | 3 | Source: https://github.com/jump-sdk/jetpack_compose_country_code_picker_emoji 4 | 5 | Forked so that we can make use of it while not bringing in m2 dependencies in our project unecessarily 6 | -------------------------------------------------------------------------------- /libs/country-code-picker/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /libs/material3-navigation/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /libs/material3-navigation/README.md: -------------------------------------------------------------------------------- 1 | ## A local fork of the material-navigation functionality from androidx.material 2 | 3 | This library provides a navigation solution for Compose projects using Material3 BottomSheets. 4 | It allows you to define your BottomSheet as navigation routes, 5 | eliminating the need for the androidx.compose.material.navigation and androidx.compose.material:material ! libraries. 6 | This simplifies your app's dependencies and ensures a consistent Material3 experience. 7 | This library also leverages the new functionality from androidx.navigation:navigation-compose:2.8.0-beta0X to allow you to define routes with serialized classes. -------------------------------------------------------------------------------- /libs/material3-navigation/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | -------------------------------------------------------------------------------- /libs/mifos-passcode/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /libs/mifos-passcode/README.md: -------------------------------------------------------------------------------- 1 | # :feature:passcode module 2 | ## Dependency graph 3 | ![Dependency graph](../../docs/images/graphs/dep_graph_feature_passcode.svg) 4 | -------------------------------------------------------------------------------- /libs/mifos-passcode/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /libs/mifos-passcode/src/main/kotlin/org/mifos/library/passcode/data/PasscodeRepository.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package org.mifos.library.passcode.data 11 | 12 | interface PasscodeRepository { 13 | val hasPasscode: Boolean 14 | 15 | fun getSavedPasscode(): String 16 | 17 | fun savePasscode(passcode: String) 18 | } 19 | -------------------------------------------------------------------------------- /libs/mifos-passcode/src/main/kotlin/org/mifos/library/passcode/theme/Color.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package org.mifos.library.passcode.theme 11 | 12 | import androidx.compose.ui.graphics.Color 13 | 14 | internal val blueTint = Color(0xFF03A9F4) 15 | -------------------------------------------------------------------------------- /libs/mifos-passcode/src/main/kotlin/org/mifos/library/passcode/utility/Constants.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package org.mifos.library.passcode.utility 11 | 12 | internal object Constants { 13 | const val STEPS_COUNT = 2 14 | const val PASSCODE_LENGTH = 4 15 | const val VIBRATE_FEEDBACK_DURATION = 300L 16 | } 17 | -------------------------------------------------------------------------------- /libs/mifos-passcode/src/main/kotlin/org/mifos/library/passcode/utility/Step.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package org.mifos.library.passcode.utility 11 | 12 | internal enum class Step(var index: Int) { 13 | Create(0), 14 | Confirm(1), 15 | } 16 | -------------------------------------------------------------------------------- /libs/mifos-passcode/src/main/res/drawable/lib_mifos_passcode_mifos_logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/libs/mifos-passcode/src/main/res/drawable/lib_mifos_passcode_mifos_logo.jpg -------------------------------------------------------------------------------- /libs/mifos-passcode/src/main/res/font/lib_mifos_passcode_lato_black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/libs/mifos-passcode/src/main/res/font/lib_mifos_passcode_lato_black.ttf -------------------------------------------------------------------------------- /libs/mifos-passcode/src/main/res/font/lib_mifos_passcode_lato_bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/libs/mifos-passcode/src/main/res/font/lib_mifos_passcode_lato_bold.ttf -------------------------------------------------------------------------------- /libs/mifos-passcode/src/main/res/font/lib_mifos_passcode_lato_regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/libs/mifos-passcode/src/main/res/font/lib_mifos_passcode_lato_regular.ttf -------------------------------------------------------------------------------- /libs/pullrefresh/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /libs/pullrefresh/README.md: -------------------------------------------------------------------------------- 1 | ## A local fork of the pullrefresh functionality from androidx.material 2 | 3 | Source: https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:compose/material/material/src/commonMain/kotlin/androidx/compose/material/pullrefresh/ 4 | 5 | Forked so that we can make use of it while not bringing in m2 dependencies in our project unecessarily 6 | -------------------------------------------------------------------------------- /libs/pullrefresh/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | -------------------------------------------------------------------------------- /lint/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /lint/lint-baseline.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /lint/src/main/kotlin/org/mifos/android/client/lint/config/Priorities.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md 9 | */ 10 | package org.mifos.android.client.lint.config 11 | 12 | object Priorities { 13 | const val HIGH = 10 14 | const val NORMAL = 5 15 | const val LOW = 3 16 | const val NONE = 1 17 | } 18 | -------------------------------------------------------------------------------- /lint/src/main/kotlin/org/mifos/android/client/lint/util/LintOption.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/mobile-wallet/blob/master/LICENSE.md 9 | */ 10 | package org.mifos.android.client.lint.util 11 | 12 | import com.android.tools.lint.client.api.Configuration 13 | 14 | /** 15 | * A layer of indirection for implementations of option loaders without needing to extend from 16 | * Detector. This goes along with [OptionLoadingDetector]. 17 | */ 18 | interface LintOption { 19 | fun load(configuration: Configuration) 20 | } 21 | -------------------------------------------------------------------------------- /lint/src/main/resources/META-INF/services/com.android.tools.lint.client.api.IssueRegistry: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/lint/src/main/resources/META-INF/services/com.android.tools.lint.client.api.IssueRegistry -------------------------------------------------------------------------------- /mifosng-android/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /mifosng-android/crashlytics.properties: -------------------------------------------------------------------------------- 1 | # 2 | # This project is licensed under the open source MPL V2. 3 | # See https://github.com/openMF/android-client/blob/master/LICENSE.md 4 | # 5 | 6 | #Contains API Secret used to validate your application. Commit to internal source control; avoid making secret public. 7 | #Sun Jun 29 03:19:32 GMT+05:30 2014 8 | apiSecret=0ccb3285f9b0a06b7cfca574db5011da29237d7effc9f296f7ac6e9732c18197 9 | -------------------------------------------------------------------------------- /mifosng-android/lint-baseline.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /mifosng-android/proguardTest-rules.pro: -------------------------------------------------------------------------------- 1 | # Proguard rules that are applied to your test apk/code. 2 | -ignorewarnings 3 | 4 | -keepattributes *Annotation* 5 | 6 | -dontnote junit.framework.** 7 | -dontnote junit.runner.** 8 | 9 | -dontwarn android.test.** 10 | -dontwarn android.support.test.** 11 | -dontwarn org.junit.** 12 | -dontwarn org.hamcrest.** 13 | -dontwarn com.squareup.javawriter.JavaWriter 14 | # Uncomment this if you use Mockito 15 | -dontwarn org.mockito.** -------------------------------------------------------------------------------- /mifosng-android/src/main/assets/fonts/Roboto-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/mifosng-android/src/main/assets/fonts/Roboto-Bold.ttf -------------------------------------------------------------------------------- /mifosng-android/src/main/assets/fonts/Roboto-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/mifosng-android/src/main/assets/fonts/Roboto-Light.ttf -------------------------------------------------------------------------------- /mifosng-android/src/main/assets/fonts/Roboto-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/mifosng-android/src/main/assets/fonts/Roboto-Medium.ttf -------------------------------------------------------------------------------- /mifosng-android/src/main/assets/fonts/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/mifosng-android/src/main/assets/fonts/Roboto-Regular.ttf -------------------------------------------------------------------------------- /mifosng-android/src/main/ic_launcher-playstore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/mifosng-android/src/main/ic_launcher-playstore.png -------------------------------------------------------------------------------- /mifosng-android/src/main/java/com/mifos/mifosxdroid/navigation/HomeScreens.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.mifosxdroid.navigation 11 | 12 | sealed class HomeScreens(val route: String) { 13 | 14 | data object HomeScreen : HomeScreens("home_screen") 15 | } 16 | -------------------------------------------------------------------------------- /mifosng-android/src/main/java/com/mifos/mifosxdroid/navigation/MifosNavGraph.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.mifosxdroid.navigation 11 | 12 | internal object MifosNavGraph { 13 | const val ROOT_GRAPH = "root_graph" 14 | const val AUTH_GRAPH = "auth_graph" 15 | const val PASSCODE_GRAPH = "passcode_graph" 16 | const val MAIN_GRAPH = "home_screen_route" 17 | const val SETTINGS_GRAPH = "settings_screen_route" 18 | } 19 | -------------------------------------------------------------------------------- /mifosng-android/src/main/java/com/mifos/mifosxdroid/utils/MifosResponseHandler.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ 10 | package com.mifos.mifosxdroid.utils 11 | 12 | /** 13 | * Created by Rajan Maurya on 08/07/16. 14 | */ 15 | object MifosResponseHandler { 16 | fun getResponse(userStatus: Boolean): String { 17 | return when (userStatus) { 18 | true -> "Saved into DB Successfully" 19 | false -> "created successfully" 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /mifosng-android/src/main/res/drawable-hdpi/ic_dp_placeholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/mifosng-android/src/main/res/drawable-hdpi/ic_dp_placeholder.png -------------------------------------------------------------------------------- /mifosng-android/src/main/res/drawable-xhdpi/mifos_logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/mifosng-android/src/main/res/drawable-xhdpi/mifos_logo.jpg -------------------------------------------------------------------------------- /mifosng-android/src/main/res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/mifosng-android/src/main/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /mifosng-android/src/main/res/drawable/drawer_profile_header.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/mifosng-android/src/main/res/drawable/drawer_profile_header.jpg -------------------------------------------------------------------------------- /mifosng-android/src/main/res/drawable/ic_splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/mifosng-android/src/main/res/drawable/ic_splash.png -------------------------------------------------------------------------------- /mifosng-android/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /mifosng-android/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /mifosng-android/src/main/res/mipmap-hdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/mifosng-android/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /mifosng-android/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/mifosng-android/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp -------------------------------------------------------------------------------- /mifosng-android/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/mifosng-android/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /mifosng-android/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/mifosng-android/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /mifosng-android/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/mifosng-android/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp -------------------------------------------------------------------------------- /mifosng-android/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/mifosng-android/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /mifosng-android/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/mifosng-android/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /mifosng-android/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/mifosng-android/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp -------------------------------------------------------------------------------- /mifosng-android/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/mifosng-android/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /mifosng-android/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/mifosng-android/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /mifosng-android/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/mifosng-android/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp -------------------------------------------------------------------------------- /mifosng-android/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/mifosng-android/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /mifosng-android/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/mifosng-android/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /mifosng-android/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/mifosng-android/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp -------------------------------------------------------------------------------- /mifosng-android/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openMF/android-client/b00bfe114ae70a6822c027379e7a14eef2952384/mifosng-android/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /mifosng-android/src/main/res/values/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | #FFFFFF 13 | -------------------------------------------------------------------------------- /mifosng-android/src/test/resources/documents.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 6, 4 | "parentEntityType": "clients", 5 | "parentEntityId": 9, 6 | "name": "Gghhh", 7 | "fileName": "Mess menu (14-01-2016).pdf", 8 | "size": 288541, 9 | "type": "application/pdf", 10 | "description": "Fff" 11 | } 12 | ] 13 | -------------------------------------------------------------------------------- /mifosng-android/src/test/resources/failureServerResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "developerMessage": "The request caused a data integrity issue to be fired by the database.", 3 | "httpStatusCode": "403", 4 | "defaultUserMessage": "Client with externalId `2525` already exists", 5 | "userMessageGlobalisationCode": "error.msg.client.duplicate.externalId", 6 | "errors": [ 7 | { 8 | "developerMessage": "Client with externalId `2525` already exists", 9 | "defaultUserMessage": "Client with externalId `2525` already exists", 10 | "userMessageGlobalisationCode": "error.msg.client.duplicate.externalId", 11 | "parameterName": "externalId", 12 | "value": null, 13 | "args": [ 14 | { 15 | "value": "2525" 16 | } 17 | ] 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /secrets.defaults.properties: -------------------------------------------------------------------------------- 1 | 2 | ## Update DEMO_SERVER_CONFIG according below mentioned your server config 3 | 4 | # PROTOCOL_HTTPS=https:// 5 | # API_ENDPOINT=demo.mifos.community 6 | # API_PATH=/fineract-provider/api/v1/ 7 | # PORT=80 8 | # TENANT=default 9 | 10 | # Separated By Comma (,) Without Space like below 11 | # PROTOCOL_HTTPS,API_ENDPOINT,API_PATH,PORT,TENANT 12 | 13 | DEMO_SERVER_CONFIG="{\'protocol\':\'https://\',\'end_point\':\'dev.mifos.io\',\'api_path\':\'/fineract-provider/api/v1/\',\'port\':\'80\',\'tenant\':\'default\'}" 14 | 15 | # Provide GEO API Key 16 | GEO_API_KEY=AIzaSyAZTZqvDGyyw21z2Ee7N-dE_WuZQwKL0 17 | -------------------------------------------------------------------------------- /spotless/copyright.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright $YEAR Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ -------------------------------------------------------------------------------- /spotless/copyright.kts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright $YEAR Mifos Initiative 3 | * 4 | * This Source Code Form is subject to the terms of the Mozilla Public 5 | * License, v. 2.0. If a copy of the MPL was not distributed with this 6 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 7 | * 8 | * See https://github.com/openMF/android-client/blob/master/LICENSE.md 9 | */ -------------------------------------------------------------------------------- /spotless/copyright.xml: -------------------------------------------------------------------------------- 1 | 2 | --------------------------------------------------------------------------------