diff --git a/core/common/build.gradle.kts b/core/common/build.gradle.kts index 4d3561c395e..3dfb4d4ea9e 100644 --- a/core/common/build.gradle.kts +++ b/core/common/build.gradle.kts @@ -1,3 +1,5 @@ +import org.gradle.kotlin.dsl.implementation + /* * Copyright 2024 Mifos Initiative * @@ -9,12 +11,10 @@ */ plugins { alias(libs.plugins.mifos.kmp.library) - id(libs.plugins.kotlin.parcelize.get().pluginId) - id("kotlinx-serialization") + alias(libs.plugins.kotlin.serialization) + + //done by the plugin - alias(libs.plugins.mifos.android.hilt) - alias(libs.plugins.mifos.android.library.jacoco) - alias(libs.plugins.secrets) } android { @@ -25,12 +25,56 @@ android { } } -secrets { - defaultPropertiesFileName = "secrets.defaults.properties" +kotlin { + + listOf( + iosX64(), + iosArm64(), + iosSimulatorArm64(), + ).forEach { + it.binaries.framework { + isStatic = false + export(libs.kermit.simple) + } + } + + sourceSets { + commonMain.dependencies { + implementation(libs.kotlinx.coroutines.core) + implementation(libs.kotlinx.serialization.json) + api(libs.coil.kt) + api(libs.coil.core) + api(libs.coil.svg) + api(libs.coil.network.ktor) + api(libs.kermit.logging) + api(libs.squareup.okio) + api(libs.jb.kotlin.stdlib) + api(libs.kotlinx.datetime) + } + + androidMain.dependencies { + implementation(libs.kotlinx.coroutines.android) + } + commonTest.dependencies { + implementation(libs.kotlinx.coroutines.test) + } + iosMain.dependencies { + api(libs.kermit.simple) + } + desktopMain.dependencies { + implementation(libs.kotlinx.coroutines.swing) + implementation(libs.kotlin.reflect) + } + jsMain.dependencies { + api(libs.jb.kotlin.stdlib.js) + api(libs.jb.kotlin.dom) + } + } } dependencies { -// implementation(projects.core.model) + implementation(projects.core.model) + implementation(project(":core:common")) testImplementation(libs.kotlinx.coroutines.test) testImplementation(libs.turbine) diff --git a/core/common/src/main/AndroidManifest.xml b/core/common/src/androidMain/AndroidManifest.xml similarity index 100% rename from core/common/src/main/AndroidManifest.xml rename to core/common/src/androidMain/AndroidManifest.xml diff --git a/core/common/src/androidMain/java/com/mifos/core/common/model/user/Role.kt b/core/common/src/androidMain/java/com/mifos/core/common/model/user/Role.kt new file mode 100644 index 00000000000..e69de29bb2d diff --git a/core/common/src/androidMain/java/com/mifos/core/common/model/user/User.kt b/core/common/src/androidMain/java/com/mifos/core/common/model/user/User.kt new file mode 100644 index 00000000000..e69de29bb2d diff --git a/core/common/src/androidMain/java/com/mifos/core/common/network/di/DispatchersModule.android.kt b/core/common/src/androidMain/java/com/mifos/core/common/network/di/DispatchersModule.android.kt new file mode 100644 index 00000000000..75ea7cd7585 --- /dev/null +++ b/core/common/src/androidMain/java/com/mifos/core/common/network/di/DispatchersModule.android.kt @@ -0,0 +1,23 @@ +/* + * Copyright 2024 Mifos Initiative + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + * + * See https://github.com/openMF/android-client/blob/master/LICENSE.md + */ +package com.mifos.core.common.network.di + + +import com.mifos.core.common.network.MifosDispatchers +import kotlinx.coroutines.CoroutineDispatcher +import kotlinx.coroutines.Dispatchers + +import org.koin.core.qualifier.named +import org.koin.dsl.module + +actual val ioDispatcherModule: org.koin.core.module.Module + get() = module { + single(named(MifosDispatchers.IO.name)) { Dispatchers.IO } + } diff --git a/core/common/src/main/java/com/mifos/core/common/utils/AndroidVersionUtil.kt b/core/common/src/androidMain/java/com/mifos/core/common/utils/AndroidVersionUtil.kt similarity index 100% rename from core/common/src/main/java/com/mifos/core/common/utils/AndroidVersionUtil.kt rename to core/common/src/androidMain/java/com/mifos/core/common/utils/AndroidVersionUtil.kt diff --git a/core/common/src/androidMain/java/com/mifos/core/common/utils/FileUtils.android.kt b/core/common/src/androidMain/java/com/mifos/core/common/utils/FileUtils.android.kt new file mode 100644 index 00000000000..17045806632 --- /dev/null +++ b/core/common/src/androidMain/java/com/mifos/core/common/utils/FileUtils.android.kt @@ -0,0 +1,22 @@ +package com.mifos.core.common.utils + +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.withContext +import java.io.File + +actual fun createPlatformFileUtils(): FileUtils = AndroidFileUtils() + +class AndroidFileUtils : FileUtils { + override suspend fun writeInputStreamDataToFile( + inputStream: ByteArray, + filePath: String + ): Boolean = withContext(Dispatchers.IO) { + try { + File(filePath).writeBytes(inputStream) + true + } catch (e: Exception) { + FileUtils.logger.e { "Android write error: ${e.message}" } + false + } + } +} \ No newline at end of file diff --git a/core/common/src/main/java/com/mifos/core/common/utils/LanguageHelper.kt b/core/common/src/androidMain/java/com/mifos/core/common/utils/LanguageHelper.kt similarity index 79% rename from core/common/src/main/java/com/mifos/core/common/utils/LanguageHelper.kt rename to core/common/src/androidMain/java/com/mifos/core/common/utils/LanguageHelper.kt index 523f4f971e2..4484a99d6a9 100644 --- a/core/common/src/main/java/com/mifos/core/common/utils/LanguageHelper.kt +++ b/core/common/src/androidMain/java/com/mifos/core/common/utils/LanguageHelper.kt @@ -1,12 +1,3 @@ -/* - * Copyright 2024 Mifos Initiative - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. - * - * See https://github.com/openMF/android-client/blob/master/LICENSE.md - */ package com.mifos.core.common.utils import android.content.Context @@ -15,9 +6,9 @@ import android.preference.PreferenceManager import com.mifos.core.common.R import java.util.Locale -object LanguageHelper { - // https://gunhansancar.com/change-language-programmatically-in-android/ - fun onAttach(context: Context): Context? { +actual object LanguageHelper { + actual fun onAttach(context: Any): Any? { + context as Context val preferences = PreferenceManager.getDefaultSharedPreferences(context) return if (preferences.getBoolean( context.getString(R.string.core_common_default_system_language), @@ -37,13 +28,14 @@ object LanguageHelper { } } - @JvmStatic - fun onAttach(context: Context, defaultLanguage: String): Context? { + actual fun onAttach(context: Any, defaultLanguage: String): Any? { + context as Context val lang = getPersistedData(context, defaultLanguage) return lang?.let { setLocale(context, it) } } - fun setLocale(context: Context?, language: String): Context? { + actual fun setLocale(context: Any?, language: String): Any? { + context as Context? return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { updateResources(context!!, language) } else { @@ -78,4 +70,4 @@ object LanguageHelper { resources?.updateConfiguration(configuration, resources.displayMetrics) return context } -} +} \ No newline at end of file diff --git a/core/common/src/androidMain/java/com/mifos/core/common/utils/Network.android.kt b/core/common/src/androidMain/java/com/mifos/core/common/utils/Network.android.kt new file mode 100644 index 00000000000..ffd9883ac5f --- /dev/null +++ b/core/common/src/androidMain/java/com/mifos/core/common/utils/Network.android.kt @@ -0,0 +1,25 @@ +package com.mifos.core.common.utils + +import android.content.Context +import android.net.ConnectivityManager +import android.net.NetworkCapabilities + + +actual object Network { + + lateinit var appContext: Context + + fun init(context: Context) { + appContext = context.applicationContext + } + + fun isOnline(): Boolean { + val connectivityManager = + appContext.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager + val capabilities = + connectivityManager.getNetworkCapabilities(connectivityManager.activeNetwork) + return capabilities?.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) == true || + capabilities?.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) == true || + capabilities?.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET) == true + } +} \ No newline at end of file diff --git a/core/common/src/androidMain/java/com/mifos/core/common/utils/NetworkUtilsWrapper.android.kt b/core/common/src/androidMain/java/com/mifos/core/common/utils/NetworkUtilsWrapper.android.kt new file mode 100644 index 00000000000..dcce0638d11 --- /dev/null +++ b/core/common/src/androidMain/java/com/mifos/core/common/utils/NetworkUtilsWrapper.android.kt @@ -0,0 +1,23 @@ +package com.mifos.core.common.utils + +import android.content.Context +import android.net.ConnectivityManager +import android.net.NetworkCapabilities +import androidx.annotation.MainThread + +actual class NetworkUtilsWrapper actual constructor() { + private var context: Context? = null + + fun initialize(context: Context) { + this.context = context.applicationContext + } + + @MainThread + fun isNetworkConnected(): Boolean { + val ctx = context ?: error("Call NetworkUtilsWrapper.initialize() first") + val connectivityManager = ctx.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager + val network = connectivityManager.activeNetwork ?: return false + val capabilities = connectivityManager.getNetworkCapabilities(network) ?: return false + return capabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) + } +} \ No newline at end of file diff --git a/core/common/src/main/java/com/mifos/core/common/utils/Parcelize.android.kt b/core/common/src/androidMain/java/com/mifos/core/common/utils/Parcelize.android.kt similarity index 82% rename from core/common/src/main/java/com/mifos/core/common/utils/Parcelize.android.kt rename to core/common/src/androidMain/java/com/mifos/core/common/utils/Parcelize.android.kt index 2e79735e3b4..2f5e762fdd5 100644 --- a/core/common/src/main/java/com/mifos/core/common/utils/Parcelize.android.kt +++ b/core/common/src/androidMain/java/com/mifos/core/common/utils/Parcelize.android.kt @@ -11,10 +11,6 @@ package com.mifos.core.common.utils import android.os.Parcel import android.os.Parcelable -import kotlinx.parcelize.IgnoredOnParcel -import kotlinx.parcelize.Parceler -import kotlinx.parcelize.Parcelize -import kotlinx.parcelize.TypeParceler actual typealias Parcelize = Parcelize diff --git a/core/common/src/main/res/values/strings.xml b/core/common/src/androidMain/res/values/strings.xml similarity index 100% rename from core/common/src/main/res/values/strings.xml rename to core/common/src/androidMain/res/values/strings.xml diff --git a/core/common/src/main/java/com/mifos/core/common/network/MifosDispatchers.kt b/core/common/src/commonMain/kotlin/MifosDispatchers.kt similarity index 72% rename from core/common/src/main/java/com/mifos/core/common/network/MifosDispatchers.kt rename to core/common/src/commonMain/kotlin/MifosDispatchers.kt index 7f959f1bcfe..79df42b07bb 100644 --- a/core/common/src/main/java/com/mifos/core/common/network/MifosDispatchers.kt +++ b/core/common/src/commonMain/kotlin/MifosDispatchers.kt @@ -7,16 +7,22 @@ * * See https://github.com/openMF/android-client/blob/master/LICENSE.md */ + + package com.mifos.core.common.network -import javax.inject.Qualifier -import kotlin.annotation.AnnotationRetention.RUNTIME +import org.koin.core.annotation.Qualifier @Qualifier -@Retention(RUNTIME) +@Retention(AnnotationRetention.RUNTIME) annotation class Dispatcher(val mifosDispatcher: MifosDispatchers) enum class MifosDispatchers { Default, IO, + Unconfined, } + +@Qualifier +@Retention(AnnotationRetention.RUNTIME) +annotation class ApplicationScope diff --git a/core/common/src/commonMain/kotlin/com/mifos/core/common/di/DispatchersModule.kt b/core/common/src/commonMain/kotlin/com/mifos/core/common/di/DispatchersModule.kt new file mode 100644 index 00000000000..c59357947e3 --- /dev/null +++ b/core/common/src/commonMain/kotlin/com/mifos/core/common/di/DispatchersModule.kt @@ -0,0 +1,22 @@ +package com.mifos.core.common.network.com.mifos.core.common.di + +import com.mifos.core.common.network.MifosDispatchers +import kotlinx.coroutines.CoroutineDispatcher +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.SupervisorJob +import org.koin.core.module.Module +import org.koin.core.qualifier.named +import org.koin.dsl.module + + +val DispatchersModule = module { + includes(ioDispatcherModule) + single(named(MifosDispatchers.Default.name)) { Dispatchers.Default } + single(named(MifosDispatchers.Unconfined.name)) { Dispatchers.Unconfined } + single(named("ApplicationScope")) { + CoroutineScope(SupervisorJob() + Dispatchers.Default) + } +} + +expect val ioDispatcherModule: Module \ No newline at end of file diff --git a/core/common/src/main/java/com/mifos/core/common/utils/BaseUrl.kt b/core/common/src/commonMain/kotlin/com/mifos/core/common/utils/BaseUrl.kt similarity index 94% rename from core/common/src/main/java/com/mifos/core/common/utils/BaseUrl.kt rename to core/common/src/commonMain/kotlin/com/mifos/core/common/utils/BaseUrl.kt index 8729031c87f..e2c22949f4e 100644 --- a/core/common/src/main/java/com/mifos/core/common/utils/BaseUrl.kt +++ b/core/common/src/commonMain/kotlin/com/mifos/core/common/utils/BaseUrl.kt @@ -9,7 +9,7 @@ */ package com.mifos.core.common.utils -import com.mifos.core.common.BuildConfig +import utils.asServerConfig object BaseUrl { diff --git a/core/common/src/main/java/com/mifos/core/common/utils/Constants.kt b/core/common/src/commonMain/kotlin/com/mifos/core/common/utils/Constants.kt similarity index 100% rename from core/common/src/main/java/com/mifos/core/common/utils/Constants.kt rename to core/common/src/commonMain/kotlin/com/mifos/core/common/utils/Constants.kt diff --git a/core/common/src/commonMain/kotlin/com/mifos/core/common/utils/DateHelper.kt b/core/common/src/commonMain/kotlin/com/mifos/core/common/utils/DateHelper.kt new file mode 100644 index 00000000000..fae22a3caf0 --- /dev/null +++ b/core/common/src/commonMain/kotlin/com/mifos/core/common/utils/DateHelper.kt @@ -0,0 +1,353 @@ +/* + * Copyright 2024 Mifos Initiative + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + * + * See https://github.com/openMF/android-client/blob/master/LICENSE.md + */ +package com.mifos.core.common.utils + +import kotlinx.datetime.Clock +import kotlinx.datetime.Instant +import kotlinx.datetime.LocalDate +import kotlinx.datetime.LocalDateTime +import kotlinx.datetime.Month +import kotlinx.datetime.TimeZone +import kotlinx.datetime.format +import kotlinx.datetime.format.FormatStringsInDatetimeFormats +import kotlinx.datetime.format.byUnicodePattern +import kotlinx.datetime.toLocalDateTime + +@OptIn(FormatStringsInDatetimeFormats::class) +object DateHelper { + /* + * This is the full month format for the date picker. + * "dd MM yyyy" is the format of the date picker. + */ + const val FULL_MONTH = "dd MM yyyy" + + /* + * This is the short month format for the date picker. + * "dd-MM-yyyy" is the format of the date picker. + */ + const val SHORT_MONTH = "dd-MM-yyyy" + + const val MONTH_FORMAT = "dd MMMM" + + private val fullMonthFormat = LocalDateTime.Format { + byUnicodePattern(FULL_MONTH) + } + + private val shortMonthFormat = LocalDateTime.Format { + byUnicodePattern(SHORT_MONTH) + } + + /** + * the result string uses the list given in a reverse order ([x, y, z] results in "z y x") + * + * @param integersOfDate [year-month-day] (ex [2016, 4, 14]) + * @return date in the format day month year (ex 14 Apr 2016) + */ + fun getDateAsString(integersOfDate: List): String { + val stringBuilder = StringBuilder() + stringBuilder.append(integersOfDate[2]) + .append(' ') + .append(getMonthName(integersOfDate[1])) + .append(' ') + .append(integersOfDate[0]) + return stringBuilder.toString() + } + + fun getDateAsString(integersOfDate: List, pattern: String): String { + return getFormatConverter( + currentFormat = FULL_MONTH, + requiredFormat = pattern, + dateString = getDateAsString(integersOfDate.map { it.toInt() }), + ) + } + + /** + * This Method converting the dd-MM-yyyy format type date string into dd MMMM yyyy + * + * @param format Final Format of date string + * @param dateString date string + * @return dd MMMM yyyy format date string. + */ + fun getSpecificFormat(format: String, dateString: String): String { + val pickerFormat = shortMonthFormat + val finalFormat = LocalDateTime.Format { byUnicodePattern(format) } + + return finalFormat.format(pickerFormat.parse(dateString)) + } + + private fun getFormatConverter( + currentFormat: String, + requiredFormat: String, + dateString: String, + ): String { + val pickerFormat = LocalDateTime.Format { byUnicodePattern(currentFormat) } + val finalFormat = LocalDateTime.Format { byUnicodePattern(requiredFormat) } + + return pickerFormat.parse(dateString).format(finalFormat) + } + + /** + * Gets the date string in the format "dd-MM-yyyy" from an array of integers representing the year, month, and day. + * + * @param dateComponents An array of three integers representing the year, month, and day, e.g. [2024, 11, 10] + * @return The date string in the format "dd-MM-yyyy", e.g. "10-11-2024" + */ + fun formatTransferDate(dateComponents: List, pattern: String = SHORT_MONTH): String { + require(dateComponents.size == 3) { "dateComponents must have exactly 3 elements" } + val (year, month, day) = dateComponents + + val localDate = LocalDate(year, Month(month), day) + return localDate.format(pattern) + } + + // Extension function to format LocalDate + fun LocalDate.format(pattern: String): String { + val year = this.year.toString().padStart(4, '0') + val month = this.monthNumber.toString().padStart(2, '0') + val day = this.dayOfMonth.toString().padStart(2, '0') + + return pattern + .replace("yyyy", year) + .replace("MM", month) + .replace("dd", day) + } + + /** + * @param month an integer from 1 to 12 + * @return string representation of the month like Jan or Feb..etc + */ + private fun getMonthName(month: Int): String { + return when (month) { + 1 -> "Jan" + 2 -> "Feb" + 3 -> "Mar" + 4 -> "Apr" + 5 -> "May" + 6 -> "Jun" + 7 -> "Jul" + 8 -> "Aug" + 9 -> "Sep" + 10 -> "Oct" + 11 -> "Nov" + 12 -> "Dec" + else -> throw IllegalArgumentException("Month should be between 1 and 12") + } + } + + /** + * Input timestamp string in milliseconds + * Example timestamp "1698278400000" + * Output examples: "dd-MM-yyyy" - "14-04-2016" + */ + fun getDateAsStringFromLong(timeInMillis: Long): String { + val instant = Instant.fromEpochMilliseconds(timeInMillis) + .toLocalDateTime(TimeZone.currentSystemDefault()) + + return instant.format(shortMonthFormat) + } + + /** + * Input timestamp string in milliseconds + * Example timestamp "1698278400000" + * Output examples: "14 April" + */ + fun getMonthAsStringFromLong(timeInMillis: Long): String { + val instant = Instant.fromEpochMilliseconds(timeInMillis) + .toLocalDateTime(TimeZone.currentSystemDefault()) + + val monthName = instant.month.name.lowercase().capitalize() + + return "${instant.dayOfMonth} $monthName" + } + + /** + * Gets the date string in the format "day month year" from an array of integers representing the day and month. + * + * @param integersOfDate An array of two integers representing the day and month, e.g. [11, 10] + * @return The date string in the format "day month year", e.g. "11 October" + */ + fun getDateMonthString(integersOfDate: List): String { + require(integersOfDate.size == 2) { "integersOfDate must have exactly 2 elements" } + val (day, month) = integersOfDate + + val monthName = when (month) { + 1 -> "January" + 2 -> "February" + 3 -> "March" + 4 -> "April" + 5 -> "May" + 6 -> "June" + 7 -> "July" + 8 -> "August" + 9 -> "September" + 10 -> "October" + 11 -> "November" + 12 -> "December" + else -> throw IllegalArgumentException("Invalid month value: $month") + } + + return "$day $monthName" + } + + /** + * Handles the specific format "yyyy-MM-dd HH:mm:ss.SSSSSS" + * For example "2024-09-19 05:41:18.558995" + * Possible outputs depending on current date: + * "Today at 05:41" + * "Tomorrow at 05:41" + */ + fun String.toFormattedDateTime(): String { + // Parse the datetime string + val dateTime = try { + // Split into date and time parts + val (datePart, timePart) = this.split(" ") + // Remove microseconds from time part + val simplifiedTime = timePart.split(".")[0] + // Combine date and simplified time + val isoString = "${datePart}T$simplifiedTime" + // Parse to LocalDateTime + LocalDateTime.parse(isoString) + } catch (e: Exception) { + return this // Return original string if parsing fails + } + + val timeZone = TimeZone.currentSystemDefault() + val now = Clock.System.now() + val nowDateTime = now.toLocalDateTime(timeZone) + + return when { + // Same year + nowDateTime.year == dateTime.year -> { + when { + // Same month + nowDateTime.monthNumber == dateTime.monthNumber -> { + when { + // Tomorrow + dateTime.dayOfMonth - nowDateTime.dayOfMonth == 1 -> { + "Tomorrow at ${dateTime.format()}" + } + // Today + dateTime.dayOfMonth == nowDateTime.dayOfMonth -> { + "Today at ${dateTime.format()}" + } + // Yesterday + nowDateTime.dayOfMonth - dateTime.dayOfMonth == 1 -> { + "Yesterday at ${dateTime.format()}" + } + // Same month but different day + else -> { + "${ + dateTime.month.name.lowercase().capitalize() + } ${dateTime.dayOfMonth}, ${dateTime.format()}" + } + } + } + // Different month, same year + else -> { + "${ + dateTime.month.name.lowercase().capitalize() + } ${dateTime.dayOfMonth}, ${dateTime.format()}" + } + } + } + // Different year + else -> { + "${ + dateTime.month.name.lowercase().capitalize() + } ${dateTime.dayOfMonth} ${dateTime.year}, ${dateTime.format()}" + } + } + } + + /** + * Input timestamp string in milliseconds + * Example timestamp "1698278400000" + * Output examples: + * "Today at 12:00" + * "Tomorrow at 15:30" + */ + fun String.toPrettyDate(): String { + val timestamp = this.toLong() + val instant = Instant.fromEpochMilliseconds(timestamp) + val timeZone = TimeZone.currentSystemDefault() + val nowDateTime = Clock.System.now().toLocalDateTime(timeZone) + val neededDateTime = instant.toLocalDateTime(timeZone) + + return when { + // Same year + nowDateTime.year == neededDateTime.year -> { + when { + // Same month + nowDateTime.monthNumber == neededDateTime.monthNumber -> { + when { + // Tomorrow + neededDateTime.dayOfMonth - nowDateTime.dayOfMonth == 1 -> { + val time = neededDateTime.format() + "Tomorrow at $time" + } + // Today + neededDateTime.dayOfMonth == nowDateTime.dayOfMonth -> { + val time = neededDateTime.format() + "Today at $time" + } + // Yesterday + nowDateTime.dayOfMonth - neededDateTime.dayOfMonth == 1 -> { + val time = neededDateTime.format() + "Yesterday at $time" + } + // Same month but different day + else -> { + "${ + neededDateTime.month.name.lowercase().capitalize() + } ${neededDateTime.dayOfMonth}, ${neededDateTime.format()}" + } + } + } + // Different month, same year + else -> { + "${ + neededDateTime.month.name.lowercase().capitalize() + } ${neededDateTime.dayOfMonth}, ${neededDateTime.format()}" + } + } + } + // Different year + else -> { + "${ + neededDateTime.month.name.lowercase().capitalize() + } ${neededDateTime.dayOfMonth} ${neededDateTime.year}, ${neededDateTime.format()}" + } + } + } + + // Helper function to format time + private fun LocalDateTime.format(): String { + return "${hour.toString().padStart(2, '0')}:${minute.toString().padStart(2, '0')}" + } + + // Extension to capitalize first letter + private fun String.capitalize() = replaceFirstChar { + if (it.isLowerCase()) it.titlecase() else it.toString() + } + + val currentDate = Clock.System.now().toLocalDateTime(TimeZone.currentSystemDefault()) + + /** + * This is the full date format for the date picker. + * "dd MM yyyy" is the format of the date picker. + */ + val formattedFullDate = currentDate.format(fullMonthFormat) + + /** + * This is the short date format for the date picker. + * "dd-MM-yyyy" is the format of the date picker. + */ + val formattedShortDate = currentDate.format(shortMonthFormat) +} \ No newline at end of file diff --git a/core/common/src/commonMain/kotlin/com/mifos/core/common/utils/FileUtils.kt b/core/common/src/commonMain/kotlin/com/mifos/core/common/utils/FileUtils.kt new file mode 100644 index 00000000000..4b12efc9061 --- /dev/null +++ b/core/common/src/commonMain/kotlin/com/mifos/core/common/utils/FileUtils.kt @@ -0,0 +1,43 @@ +/* + * Copyright 2024 Mifos Initiative + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + * + * See https://github.com/openMF/android-client/blob/master/LICENSE.md + */ +package com.mifos.core.common.utils + + +import co.touchlab.kermit.Logger +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.withContext + +/** + * Created by ishankhanna on 03/07/14. + */ +interface FileUtils { + suspend fun writeInputStreamDataToFile(inputStream: ByteArray, filePath: String): Boolean + + companion object { + val logger = Logger.withTag("FileUtils") + } +} + +expect fun createPlatformFileUtils(): FileUtils + +class CommonFileUtils : FileUtils { + override suspend fun writeInputStreamDataToFile( + inputStream: ByteArray, + filePath: String, + ): Boolean = + withContext(Dispatchers.Default) { + try { + true + } catch (e: Exception) { + FileUtils.logger.e { "Error writing file: ${e.message}" } + false + } + } +} diff --git a/core/common/src/main/java/com/mifos/core/common/model/user/Role.kt b/core/common/src/commonMain/kotlin/com/mifos/core/common/utils/LanguageHelper.kt similarity index 59% rename from core/common/src/main/java/com/mifos/core/common/model/user/Role.kt rename to core/common/src/commonMain/kotlin/com/mifos/core/common/utils/LanguageHelper.kt index 904d8897a99..f7d5574fa15 100644 --- a/core/common/src/main/java/com/mifos/core/common/model/user/Role.kt +++ b/core/common/src/commonMain/kotlin/com/mifos/core/common/utils/LanguageHelper.kt @@ -7,15 +7,11 @@ * * See https://github.com/openMF/android-client/blob/master/LICENSE.md */ -package com.mifos.core.common.model.user +package com.mifos.core.common.utils -/** - * Created by ishankhanna on 09/02/14. - */ -data class Role( - var id: Int = 0, - - var name: String? = null, - var description: String? = null, -) +expect object LanguageHelper { + fun onAttach(context: Any): Any? + fun onAttach(context: Any, defaultLanguage: String): Any? + fun setLocale(context: Any?, language: String): Any? +} diff --git a/core/common/src/commonMain/kotlin/com/mifos/core/common/utils/MapDeserializer.kt b/core/common/src/commonMain/kotlin/com/mifos/core/common/utils/MapDeserializer.kt new file mode 100644 index 00000000000..ad9f2f1abe7 --- /dev/null +++ b/core/common/src/commonMain/kotlin/com/mifos/core/common/utils/MapDeserializer.kt @@ -0,0 +1,60 @@ +/* + * Copyright 2024 Mifos Initiative + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + * + * See https://github.com/openMF/android-client/blob/master/LICENSE.md + */ +package utils + +import kotlinx.serialization.json.Json +import kotlinx.serialization.json.JsonArray +import kotlinx.serialization.json.JsonElement +import kotlinx.serialization.json.JsonObject +import kotlinx.serialization.json.JsonPrimitive +import kotlinx.serialization.json.boolean +import kotlinx.serialization.json.booleanOrNull +import kotlinx.serialization.json.double +import kotlinx.serialization.json.doubleOrNull +import kotlinx.serialization.json.long +import kotlinx.serialization.json.longOrNull + +/** + * A custom deserializer for converting JSON into a `Map`. + * This replaces the Gson-based deserializer with Kotlinx Serialization. + */ +object MapDeserializer { + + /** + * Deserializes a JSON string into a `Map`. + * + * @param jsonString The JSON string to deserialize. + * @return A `Map` representing the deserialized JSON. + */ + fun deserialize(jsonString: String): Map { + val jsonElement = Json.parseToJsonElement(jsonString) + return read(jsonElement) as? Map ?: emptyMap() + } + + /** + * Recursively reads a [JsonElement] and converts it into a Kotlin object. + * + * @param jsonElement The JSON element to read. + * @return A Kotlin object representing the JSON element. + */ + private fun read(jsonElement: JsonElement): Any? { + return when (jsonElement) { + is JsonArray -> jsonElement.map { read(it) } + is JsonObject -> jsonElement.entries.associate { (key, value) -> key to read(value) } + is JsonPrimitive -> when { + jsonElement.booleanOrNull != null -> jsonElement.boolean + jsonElement.longOrNull != null -> jsonElement.long + jsonElement.doubleOrNull != null -> jsonElement.double + else -> jsonElement.content + } + else -> null + } + } +} \ No newline at end of file diff --git a/core/common/src/commonMain/kotlin/com/mifos/core/common/utils/Network.kt b/core/common/src/commonMain/kotlin/com/mifos/core/common/utils/Network.kt new file mode 100644 index 00000000000..af68ad6fa2e --- /dev/null +++ b/core/common/src/commonMain/kotlin/com/mifos/core/common/utils/Network.kt @@ -0,0 +1,5 @@ +package com.mifos.core.common.network.com.mifos.core.common.utils + +expect object Network { + fun isOnline(): Boolean +} \ No newline at end of file diff --git a/core/common/src/commonMain/kotlin/com/mifos/core/common/utils/NetworkUtilsWrapper.kt b/core/common/src/commonMain/kotlin/com/mifos/core/common/utils/NetworkUtilsWrapper.kt new file mode 100644 index 00000000000..ab204168a7a --- /dev/null +++ b/core/common/src/commonMain/kotlin/com/mifos/core/common/utils/NetworkUtilsWrapper.kt @@ -0,0 +1,5 @@ +package com.mifos.core.common.network.com.mifos.core.common.utils + +expect class NetworkUtilsWrapper { + fun isNetworkConnected(): Boolean +} \ No newline at end of file diff --git a/core/common/src/main/java/com/mifos/core/common/utils/Resource.kt b/core/common/src/commonMain/kotlin/com/mifos/core/common/utils/Resource.kt similarity index 100% rename from core/common/src/main/java/com/mifos/core/common/utils/Resource.kt rename to core/common/src/commonMain/kotlin/com/mifos/core/common/utils/Resource.kt diff --git a/core/common/src/desktopMain/kotlin/com/mifos/core/common/di/DispatchersModule.desktop.kt b/core/common/src/desktopMain/kotlin/com/mifos/core/common/di/DispatchersModule.desktop.kt new file mode 100644 index 00000000000..703756dacd0 --- /dev/null +++ b/core/common/src/desktopMain/kotlin/com/mifos/core/common/di/DispatchersModule.desktop.kt @@ -0,0 +1,13 @@ +package com.mifos.core.common.di + +import com.mifos.core.common.network.MifosDispatchers +import kotlinx.coroutines.CoroutineDispatcher +import kotlinx.coroutines.Dispatchers +import org.koin.core.module.Module +import org.koin.core.qualifier.named +import org.koin.dsl.module + +actual val ioDispatcherModule: Module + get() = module { + single(named(MifosDispatchers.IO.name)) { Dispatchers.Default } + } \ No newline at end of file diff --git a/core/common/src/desktopMain/kotlin/com/mifos/core/common/utils/FileUtils.desktop.kt b/core/common/src/desktopMain/kotlin/com/mifos/core/common/utils/FileUtils.desktop.kt new file mode 100644 index 00000000000..c333a702f55 --- /dev/null +++ b/core/common/src/desktopMain/kotlin/com/mifos/core/common/utils/FileUtils.desktop.kt @@ -0,0 +1,2 @@ +package com.mifos.core.common.utils + diff --git a/core/common/src/desktopMain/kotlin/com/mifos/core/common/utils/LanguageHelper.desktop.kt b/core/common/src/desktopMain/kotlin/com/mifos/core/common/utils/LanguageHelper.desktop.kt new file mode 100644 index 00000000000..d58e3b74499 --- /dev/null +++ b/core/common/src/desktopMain/kotlin/com/mifos/core/common/utils/LanguageHelper.desktop.kt @@ -0,0 +1,20 @@ +package com.mifos.core.common.utils + +actual object LanguageHelper { + actual fun onAttach(context: Any): Any? { + // Desktop-specific implementation + val language = System.getProperty("user.language") + return setLocale(context, language) + } + + actual fun onAttach(context: Any, defaultLanguage: String): Any? { + // Desktop-specific implementation + return setLocale(context, defaultLanguage) + } + + actual fun setLocale(context: Any?, language: String): Any? { + // Desktop-specific implementation + System.setProperty("user.language", language) + return context + } +} \ No newline at end of file diff --git a/core/common/src/desktopMain/kotlin/com/mifos/core/common/utils/Network.desktop.kt b/core/common/src/desktopMain/kotlin/com/mifos/core/common/utils/Network.desktop.kt new file mode 100644 index 00000000000..c3f573e97a1 --- /dev/null +++ b/core/common/src/desktopMain/kotlin/com/mifos/core/common/utils/Network.desktop.kt @@ -0,0 +1,11 @@ +package com.mifos.core.common.utils + +actual object Network { + fun isOnline(): Boolean = try { + java.net.NetworkInterface.getNetworkInterfaces() + .toList() + .any { it.isUp && !it.isLoopback } + } catch (e: Exception) { + false + } +} \ No newline at end of file diff --git a/core/common/src/desktopMain/kotlin/com/mifos/core/common/utils/NetworkUtilsWrapper.desktop.kt b/core/common/src/desktopMain/kotlin/com/mifos/core/common/utils/NetworkUtilsWrapper.desktop.kt new file mode 100644 index 00000000000..ff5c5411866 --- /dev/null +++ b/core/common/src/desktopMain/kotlin/com/mifos/core/common/utils/NetworkUtilsWrapper.desktop.kt @@ -0,0 +1,8 @@ +package com.mifos.core.common.utils + +import java.net.InetSocketAddress +import java.net.Socket + +actual class NetworkUtilsWrapper actual constructor() { + fun isNetworkConnected(): Boolean = Network.isOnline() +} \ No newline at end of file diff --git a/core/common/src/jsMain/kotlin/com/mifos/core/common/di/DispatchersModule.js.kt b/core/common/src/jsMain/kotlin/com/mifos/core/common/di/DispatchersModule.js.kt new file mode 100644 index 00000000000..af47bac20e0 --- /dev/null +++ b/core/common/src/jsMain/kotlin/com/mifos/core/common/di/DispatchersModule.js.kt @@ -0,0 +1,14 @@ +package com.mifos.core.common.di + + +import com.mifos.core.common.network.MifosDispatchers +import kotlinx.coroutines.CoroutineDispatcher +import kotlinx.coroutines.Dispatchers +import org.koin.core.module.Module +import org.koin.core.qualifier.named +import org.koin.dsl.module + +actual val ioDispatcherModule: Module + get() = module { + single(named(MifosDispatchers.IO.name)) { Dispatchers.Default } + } \ No newline at end of file diff --git a/core/common/src/jsMain/kotlin/com/mifos/core/common/utils/FileUtils.js.kt b/core/common/src/jsMain/kotlin/com/mifos/core/common/utils/FileUtils.js.kt new file mode 100644 index 00000000000..8536f0ccaf6 --- /dev/null +++ b/core/common/src/jsMain/kotlin/com/mifos/core/common/utils/FileUtils.js.kt @@ -0,0 +1,11 @@ +package com.mifos.core.common.utils + +actual fun createPlatformFileUtils(): FileUtils = object : FileUtils { + override suspend fun writeInputStreamDataToFile( + inputStream: ByteArray, + filePath: String + ): Boolean { + FileUtils.logger.w { "File operations not supported in JS/Wasm" } + return false + } +} \ No newline at end of file diff --git a/core/common/src/jsMain/kotlin/com/mifos/core/common/utils/LanguageHelper.js.kt b/core/common/src/jsMain/kotlin/com/mifos/core/common/utils/LanguageHelper.js.kt new file mode 100644 index 00000000000..76ea9f5d526 --- /dev/null +++ b/core/common/src/jsMain/kotlin/com/mifos/core/common/utils/LanguageHelper.js.kt @@ -0,0 +1,20 @@ +package com.mifos.core.common.utils + +actual object LanguageHelper { + actual fun onAttach(context: Any): Any? { + // JS-specific implementation + val language = js("navigator.language") as String + return setLocale(context, language) + } + + actual fun onAttach(context: Any, defaultLanguage: String): Any? { + // JS-specific implementation + return setLocale(context, defaultLanguage) + } + + actual fun setLocale(context: Any?, language: String): Any? { + // JS-specific implementation + js("document.documentElement.lang = language") + return context + } +} \ No newline at end of file diff --git a/core/common/src/jsMain/kotlin/com/mifos/core/common/utils/Network.js.kt b/core/common/src/jsMain/kotlin/com/mifos/core/common/utils/Network.js.kt new file mode 100644 index 00000000000..f68d4cc23cb --- /dev/null +++ b/core/common/src/jsMain/kotlin/com/mifos/core/common/utils/Network.js.kt @@ -0,0 +1,6 @@ +package com.mifos.core.common.utils + +actual object Network { + fun isOnline(): Boolean = + js("(typeof window !== 'undefined' && window.navigator.onLine)") as Boolean +} \ No newline at end of file diff --git a/core/common/src/jsMain/kotlin/com/mifos/core/common/utils/NetworkUtilsWrapper.js.kt b/core/common/src/jsMain/kotlin/com/mifos/core/common/utils/NetworkUtilsWrapper.js.kt new file mode 100644 index 00000000000..8f3ca745904 --- /dev/null +++ b/core/common/src/jsMain/kotlin/com/mifos/core/common/utils/NetworkUtilsWrapper.js.kt @@ -0,0 +1,5 @@ +package com.mifos.core.common.utils + +actual class NetworkUtilsWrapper actual constructor() { + fun isNetworkConnected(): Boolean = Network.isOnline() +} \ No newline at end of file diff --git a/core/common/src/main/java/com/mifos/core/common/model/user/User.kt b/core/common/src/main/java/com/mifos/core/common/model/user/User.kt deleted file mode 100644 index 1af685c7ea7..00000000000 --- a/core/common/src/main/java/com/mifos/core/common/model/user/User.kt +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright 2024 Mifos Initiative - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. - * - * See https://github.com/openMF/android-client/blob/master/LICENSE.md - */ -package com.mifos.core.common.model.user - -class User { - var username: String? = null - - var userId = 0 - - var base64EncodedAuthenticationKey: String? = null - - var isAuthenticated = false - - var officeId = 0 - - var officeName: String? = null - - var roles: List = ArrayList() - - var permissions: List = ArrayList() -} diff --git a/core/common/src/main/java/com/mifos/core/common/network/di/CoroutineScopesModule.kt b/core/common/src/main/java/com/mifos/core/common/network/di/CoroutineScopesModule.kt deleted file mode 100644 index dc26b6db49d..00000000000 --- a/core/common/src/main/java/com/mifos/core/common/network/di/CoroutineScopesModule.kt +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2024 Mifos Initiative - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. - * - * See https://github.com/openMF/android-client/blob/master/LICENSE.md - */ -package com.mifos.core.common.network.di - -import com.mifos.core.common.network.Dispatcher -import com.mifos.core.common.network.MifosDispatchers.Default -import dagger.Module -import dagger.Provides -import dagger.hilt.InstallIn -import dagger.hilt.components.SingletonComponent -import kotlinx.coroutines.CoroutineDispatcher -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.SupervisorJob -import javax.inject.Qualifier -import javax.inject.Singleton - -@Retention(AnnotationRetention.RUNTIME) -@Qualifier -annotation class ApplicationScope - -@Module -@InstallIn(SingletonComponent::class) -internal object CoroutineScopesModule { - @Provides - @Singleton - @ApplicationScope - fun providesCoroutineScope( - @Dispatcher(Default) dispatcher: CoroutineDispatcher, - ): CoroutineScope = CoroutineScope(SupervisorJob() + dispatcher) -} diff --git a/core/common/src/main/java/com/mifos/core/common/network/di/DispatchersModule.kt b/core/common/src/main/java/com/mifos/core/common/network/di/DispatchersModule.kt deleted file mode 100644 index 06df95872a5..00000000000 --- a/core/common/src/main/java/com/mifos/core/common/network/di/DispatchersModule.kt +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright 2024 Mifos Initiative - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. - * - * See https://github.com/openMF/android-client/blob/master/LICENSE.md - */ -package com.mifos.core.common.network.di - -import com.mifos.core.common.network.Dispatcher -import com.mifos.core.common.network.MifosDispatchers.Default -import com.mifos.core.common.network.MifosDispatchers.IO -import dagger.Module -import dagger.Provides -import dagger.hilt.InstallIn -import dagger.hilt.components.SingletonComponent -import kotlinx.coroutines.CoroutineDispatcher -import kotlinx.coroutines.Dispatchers - -@Module -@InstallIn(SingletonComponent::class) -object DispatchersModule { - @Provides - @Dispatcher(IO) - fun providesIODispatcher(): CoroutineDispatcher = Dispatchers.IO - - @Provides - @Dispatcher(Default) - fun providesDefaultDispatcher(): CoroutineDispatcher = Dispatchers.Default -} diff --git a/core/common/src/main/java/com/mifos/core/common/utils/DateHelper.kt b/core/common/src/main/java/com/mifos/core/common/utils/DateHelper.kt deleted file mode 100644 index cf94c15a0c9..00000000000 --- a/core/common/src/main/java/com/mifos/core/common/utils/DateHelper.kt +++ /dev/null @@ -1,285 +0,0 @@ -/* - * Copyright 2024 Mifos Initiative - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. - * - * See https://github.com/openMF/android-client/blob/master/LICENSE.md - */ -package com.mifos.core.common.utils - -import java.text.DateFormat -import java.text.SimpleDateFormat -import java.util.Calendar -import java.util.Date -import java.util.Locale - -/** - * Created by ishankhanna on 30/05/14. - * - * This is a helper class that will be used to convert List Type Dates - * from MifosX into Simple Strings or Date Formats - */ -object DateHelper { - const val DATE_FORMAT_VALUE = "dd MMM yyyy" - const val DATE_TIME_FORMAT_VALUE = "dd MMMM yyyy HH:mm" - const val TIME_FORMAT_VALUE = "HH:mm a" - - /** - * @return current date formatted as day - month - year where month is a number from 1 to 12 - * (ex: 13 - 4 - 2014) - */ - val currentDateAsString: String - get() { - val calendar = Calendar.getInstance() - val year = calendar[Calendar.YEAR] - val month = calendar[Calendar.MONTH] - val day = calendar[Calendar.DAY_OF_MONTH] - return day.toString() + " - " + (month + 1) + " - " + year - } - - /** - * @return current date as [year-month-day] where month is a number from 1 to 12 (ex: [2014, - * 4, 14]) - */ - val currentDateAsListOfIntegers: List - get() { - val date: MutableList = ArrayList() - val calendar = Calendar.getInstance() - date.add(calendar[Calendar.YEAR]) - date.add(calendar[Calendar.MONTH] + 1) - date.add(calendar[Calendar.DAY_OF_MONTH]) - return date - } - - /** - * @param date formatted as day-month-year where month is an integer from 1 to 12 - * @return replaces month with a string like Jan or Feb..etc - */ - @JvmStatic - fun getDateAsStringUsedForCollectionSheetPayload(date: String?): String { - val builder = StringBuilder() - if (date != null) { - val splittedDate = date.split("-".toRegex()).dropLastWhile { it.isEmpty() } - .toTypedArray() - val month = splittedDate[1].toInt() - builder.append(splittedDate[0]) - builder.append('-') - builder.append(getMonthName(month)) - builder.append('-') - builder.append(splittedDate[2]) - } - return builder.toString() - // Return as dd-mmm-yyyy - } - - /** - * @param date formatted as day-month-year where month is an integer from 1 to 12 (ex: - * 14-4-2016) - * @return replaces month with a string like Jan or Feb...etc (ex: 14-Apr-2016) - */ - fun getDateAsStringUsedForDateofBirth(date: String?): String { - val builder = StringBuilder() - if (date != null) { - val splittedDate = date.split("-".toRegex()).dropLastWhile { it.isEmpty() } - .toTypedArray() - val month = splittedDate[1].toInt() - builder.append(splittedDate[0]) - builder.append('-') - builder.append(getMonthName(month)) - builder.append('-') - builder.append(splittedDate[2]) - } - return builder.toString() - // Return as dd-mmm-yyyy - } - - /** - * @return current date formatted as day month year where month is from 1 to 12 (ex 14 4 2016) - */ - val currentDateAsDateFormat: String - get() { - val calendar = Calendar.getInstance() - val year = calendar[Calendar.YEAR] - val month = calendar[Calendar.MONTH] - val day = calendar[Calendar.DAY_OF_MONTH] - return day.toString() + " " + (month + 1) + " " + year - } - - /** - * @return current date formatted as dd MMMM yyyy (ex: 14 April 2016) - */ - val currentDateAsNewDateFormat: String - get() { - val calendar = Calendar.getInstance() - val simpleDateFormat = SimpleDateFormat("dd MMMM yyyy") - val year = calendar[Calendar.YEAR] - val month = calendar[Calendar.MONTH] - val day = calendar[Calendar.DAY_OF_MONTH] - var date = day.toString() + " - " + (month + 1) + " - " + year - date = simpleDateFormat.format(calendar.time) - return date - } - - /** - * This method returns the String of date and time. Just need to pass the format in which you - * want. Example Pass the format "dd MMMM yyyy HH:mm" and you will get the date and time in - * this format "24 January 2017 18:32". - * - * @param format Format of Date and Time - * @return String of Date and Time - */ - @JvmStatic - fun getCurrentDateTime(format: String?): String { - val dateFormat: DateFormat = SimpleDateFormat(format, Locale.ENGLISH) - return dateFormat.format(Date()) - } - - /** - * the result string uses the list given in a reverse order ([x, y, z] results in "z y x") - * - * @param integersOfDate [year-month-day] (ex [2016, 4, 14]) - * @return date in the format day month year (ex 14 Apr 2016) - */ - @JvmStatic - fun getDateAsString(integersOfDate: List): String { - val stringBuilder = StringBuilder() - stringBuilder.append(integersOfDate[2]) - .append(' ') - .append(getMonthName(integersOfDate[1])) - .append(' ') - .append(integersOfDate[0]) - return stringBuilder.toString() - } - - /** - * @param date1 a list of 3 numbers [year, month, day] (Ex [2016, 4, 14]) - * @param date2 a list of 3 numbers [year, month, day] (Ex [2016, 3, 21]) - * @return zero if both date1 and date2 are equal, positive int if date1 > date2 - * and negative int if date1 < date2 - */ - fun dateComparator(date1: List, date2: List): Int { - /* - * Each List contains 3 items - * index 0 = Year - * index 1 = Month - * index 2 = Day - * - * Format is YYYY - MM - DD - */ - - // comparing years - return if (date1[0] == date2[0]) { - // now that years are equal lets compare months - if (date1[1] == date2[1]) { - // now that months are also equal lets compare days - if (date1[2] == date2[2]) { - 0 - } else if (date1[2] > date2[2]) { - 1 - } else { - -1 - } - } else if (date1[1] > date2[1]) { - 1 - } else { - -1 - } - } else if (date1[0] > date2[0]) { - 1 - } else { - -1 - } - } - - /** - * @param month an integer from 1 to 12 - * @return string representation of the month like Jan or Feb..etc - */ - @JvmStatic - fun getMonthName(month: Int): String { - var monthName = "" - when (month) { - 1 -> monthName = "Jan" - 2 -> monthName = "Feb" - 3 -> monthName = "Mar" - 4 -> monthName = "Apr" - 5 -> monthName = "May" - 6 -> monthName = "Jun" - 7 -> monthName = "Jul" - 8 -> monthName = "Aug" - 9 -> monthName = "Sep" - 10 -> monthName = "Oct" - 11 -> monthName = "Nov" - 12 -> monthName = "Dec" - } - return monthName - } - - /** - * ex: date = 11,4,2016 separator = , result = [11, 4, 2016] - * - * @param date string with tokken seperated by a seperator - * @param separator the strings that separates the tokkens to be parsed - */ - fun getDateList(date: String, separator: String): List { - val splittedDate = date.split(separator.toRegex()).dropLastWhile { it.isEmpty() } - .toTypedArray() - val dateList: MutableList = ArrayList() - for (i in 0..2) { - dateList.add(splittedDate[i].toInt()) - } - return dateList - } - - /** - * Method to convert a given date in dd MMM YYYY format to [dd, mm, yyyy] format. - * - * @param date Date String. e.g. "20 Aug 2017" - * @return List of Integers. e.g. [20, 08, 2017] - */ - fun convertDateAsListOfInteger(date: String): List { - val splitDate = date.split(" ".toRegex()).dropLastWhile { it.isEmpty() } - .toTypedArray() - val dateList: MutableList = ArrayList() - dateList.add(splitDate[0].toInt()) - dateList.add(getMonthNumberFromName(splitDate[1])) - dateList.add(splitDate[2].toInt()) - return dateList - } - - /** - * Method to convert a date in dd MMM YYYY format to [yyyy, mm, dd] format. - * - * @param date Date String; e.g. "20 Aug 2017" - * @return List of Integers in reverse order; e.g. [2017, 08, 20] - */ - fun convertDateAsReverseInteger(date: String): List { - val splitDate = date.split(" ".toRegex()).dropLastWhile { it.isEmpty() } - .toTypedArray() - val dateList: MutableList = ArrayList() - dateList.add(splitDate[2].toInt()) - dateList.add(getMonthNumberFromName(splitDate[1])) - dateList.add(splitDate[0].toInt()) - return dateList - } - - fun getMonthNumberFromName(month: String?): Int { - return when (month) { - "Jan" -> 1 - "Feb" -> 2 - "Mar" -> 3 - "Apr" -> 4 - "May" -> 5 - "Jun" -> 6 - "Jul" -> 7 - "Aug" -> 8 - "Sep" -> 9 - "Oct" -> 10 - "Nov" -> 11 - "Dec" -> 12 - else -> -1 - } - } -} diff --git a/core/common/src/main/java/com/mifos/core/common/utils/FileUtils.kt b/core/common/src/main/java/com/mifos/core/common/utils/FileUtils.kt deleted file mode 100644 index 39188be2372..00000000000 --- a/core/common/src/main/java/com/mifos/core/common/utils/FileUtils.kt +++ /dev/null @@ -1,206 +0,0 @@ -/* - * Copyright 2024 Mifos Initiative - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. - * - * See https://github.com/openMF/android-client/blob/master/LICENSE.md - */ -package com.mifos.core.common.utils - -import android.annotation.TargetApi -import android.content.ContentUris -import android.content.Context -import android.database.Cursor -import android.net.Uri -import android.os.Build -import android.os.Environment -import android.provider.DocumentsContract -import android.provider.MediaStore -import android.util.Log -import android.webkit.MimeTypeMap -import com.mifos.core.common.utils.AndroidVersionUtil.isApiVersionGreaterOrEqual -import java.io.File -import java.io.FileOutputStream -import java.io.InputStream -import java.io.OutputStream - -/** - * Created by ishankhanna on 03/07/14. - */ -object FileUtils { - val LOG_TAG = FileUtils::class.java.simpleName - fun getPathReal(context: Context, uri: Uri): String? { - return if (isApiVersionGreaterOrEqual(Build.VERSION_CODES.KITKAT)) { - getPathRealOnKitkatAboveVersion(context, uri) - } else { - getPathOnKitkatBelowVersion(context, uri) - } - } - - private fun getPathOnKitkatBelowVersion(context: Context, uri: Uri): String? { - if ("content".equals(uri.scheme, ignoreCase = true)) { - val projection = arrayOf("_data") - var cursor: Cursor? = null - try { - cursor = context.contentResolver.query(uri, projection, null, null, null) - val columnindex = cursor!!.getColumnIndexOrThrow("_data") - if (cursor.moveToFirst()) { - return cursor.getString(columnindex) - } - } catch (e: Exception) { - // Eat it - } - } else if ("file".equals(uri.scheme, ignoreCase = true)) { - return uri.path - } - return null - } - - @TargetApi(Build.VERSION_CODES.KITKAT) - fun getPathRealOnKitkatAboveVersion(context: Context, uri: Uri): String? { - val isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT - var resultPath: String? = null - - if (isKitKat && DocumentsContract.isDocumentUri(context, uri)) { - when { - isExternalStorageDocument(uri) -> { - val docId = DocumentsContract.getDocumentId(uri) - val split = docId.split(":".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray() - val type = split[0] - if ("primary".equals(type, ignoreCase = true)) { - resultPath = "${Environment.getExternalStorageDirectory()}/${split[1]}" - } - // TODO() Handle non-primary volumes - } - isDownloadsDocument(uri) -> { - val id = DocumentsContract.getDocumentId(uri) - val contentUri = ContentUris.withAppendedId( - Uri.parse("content://downloads/public_downloads"), - id.toLong(), - ) - resultPath = getDataColumn(context, contentUri, null, null) - } - isMediaDocument(uri) -> { - val docId = DocumentsContract.getDocumentId(uri) - val split = docId.split(":") - val type = split[0] - val contentUri = when (type) { - "image" -> MediaStore.Images.Media.EXTERNAL_CONTENT_URI - "video" -> MediaStore.Video.Media.EXTERNAL_CONTENT_URI - "audio" -> MediaStore.Audio.Media.EXTERNAL_CONTENT_URI - else -> null - } - val selection = "_id=?" - val selectionArgs = arrayOf(split[1]) - resultPath = getDataColumn(context, contentUri, selection, selectionArgs) - } - } - } else if ("content".equals(uri.scheme, ignoreCase = true)) { - resultPath = if (isGooglePhotosUri(uri)) { - uri.lastPathSegment - } else { - getDataColumn(context, uri, null, null) - } - } else if ("file".equals(uri.scheme, ignoreCase = true)) { - resultPath = uri.path - } - - return resultPath - } - - fun getDataColumn( - context: Context, - uri: Uri?, - selection: String?, - selectionArgs: Array?, - ): String? { - var cursor: Cursor? = null - val column = "_data" - val projection = arrayOf( - column, - ) - try { - cursor = context.contentResolver.query( - uri!!, projection, selection, selectionArgs, - null, - ) - if (cursor != null && cursor.moveToFirst()) { - val index = cursor.getColumnIndexOrThrow(column) - return cursor.getString(index) - } - } finally { - cursor?.close() - } - return null - } - - /** - * @param uri The Uri to check. - * @return Whether the Uri authority is ExternalStorageProvider. - */ - fun isExternalStorageDocument(uri: Uri): Boolean { - return "com.android.externalstorage.documents" == uri.authority - } - - /** - * @param uri The Uri to check. - * @return Whether the Uri authority is DownloadsProvider. - */ - fun isDownloadsDocument(uri: Uri): Boolean { - return "com.android.providers.downloads.documents" == uri.authority - } - - /** - * @param uri The Uri to check. - * @return Whether the Uri authority is MediaProvider. - */ - fun isMediaDocument(uri: Uri): Boolean { - return "com.android.providers.media.documents" == uri.authority - } - - /** - * @param uri The Uri to check. - * @return Whether the Uri authority is Google Photos. - */ - fun isGooglePhotosUri(uri: Uri): Boolean { - return "com.google.android.apps.photos.content" == uri.authority - } - - /** - * This Method for getting File Mime Type - * - * @param filePath Path of the file - * @return String Mime Type - */ - fun getMimeType(filePath: String?): String? { - var type: String? = null - val extension = MimeTypeMap.getFileExtensionFromUrl(filePath) - if (extension != null) { - type = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension) - } - return type - } - - /** - * This Method for writing InputStream into File. - * - * @param in InputStream - * @param file File - */ - fun writeInputStreamDataToFile(inputStream: InputStream, file: File?) { - try { - val out: OutputStream = FileOutputStream(file) - val buf = ByteArray(1024) - var len: Int - while (inputStream.read(buf).also { len = it } > 0) { - out.write(buf, 0, len) - } - out.close() - inputStream.close() - } catch (e: Exception) { - Log.d(LOG_TAG, e.localizedMessage) - } - } -} diff --git a/core/common/src/main/java/com/mifos/core/common/utils/MapDeserializer.kt b/core/common/src/main/java/com/mifos/core/common/utils/MapDeserializer.kt deleted file mode 100644 index 2f741f88241..00000000000 --- a/core/common/src/main/java/com/mifos/core/common/utils/MapDeserializer.kt +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright 2024 Mifos Initiative - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. - * - * See https://github.com/openMF/android-client/blob/master/LICENSE.md - */ -package com.mifos.core.common.utils - -import com.google.gson.JsonDeserializationContext -import com.google.gson.JsonDeserializer -import com.google.gson.JsonElement -import com.google.gson.JsonParseException -import java.lang.reflect.Type - -class MapDeserializer : JsonDeserializer?> { - @Throws(JsonParseException::class) - override fun deserialize( - json: JsonElement, - typeOfT: Type, - context: JsonDeserializationContext, - ): Map? { - return read(json) as Map? - } - - fun read(jsonElement: JsonElement): Any? { - return when { - jsonElement.isJsonArray -> { - val list = jsonElement.asJsonArray.map { read(it) } - list - } - jsonElement.isJsonObject -> { - jsonElement.asJsonObject.entrySet().associate { (key, value) -> key to read(value) } - } - jsonElement.isJsonPrimitive -> { - val prim = jsonElement.asJsonPrimitive - when { - prim.isBoolean -> prim.asBoolean - prim.isString -> prim.asString - prim.isNumber -> { - val num = prim.asNumber - if (Math.ceil(num.toDouble()) == num.toLong().toDouble()) num.toLong() else num.toDouble() - } - else -> null - } - } - else -> null - } - } -} diff --git a/core/common/src/main/java/com/mifos/core/common/utils/Network.kt b/core/common/src/main/java/com/mifos/core/common/utils/Network.kt deleted file mode 100644 index b828c50589d..00000000000 --- a/core/common/src/main/java/com/mifos/core/common/utils/Network.kt +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright 2024 Mifos Initiative - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. - * - * See https://github.com/openMF/android-client/blob/master/LICENSE.md - */ -package com.mifos.core.common.utils - -import android.content.Context -import android.net.ConnectivityManager -import android.net.NetworkCapabilities - -/** - * Created by Aditya Gupta on 11/02/24. - */ - -object Network { - - fun isOnline(context: Context): Boolean { - val connectivityManager = - context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager - val capabilities = - connectivityManager.getNetworkCapabilities(connectivityManager.activeNetwork) - if (capabilities != null) { - if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)) { - return true - } else if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)) { - return true - } else if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET)) { - return true - } - } - return false - } -} diff --git a/core/common/src/main/java/com/mifos/core/common/utils/NetworkUtilsWrapper.kt b/core/common/src/main/java/com/mifos/core/common/utils/NetworkUtilsWrapper.kt deleted file mode 100644 index 95dce34211c..00000000000 --- a/core/common/src/main/java/com/mifos/core/common/utils/NetworkUtilsWrapper.kt +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright 2024 Mifos Initiative - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. - * - * See https://github.com/openMF/android-client/blob/master/LICENSE.md - */ -package com.mifos.core.common.utils - -import android.content.Context -import android.net.ConnectivityManager -import android.net.NetworkCapabilities -import androidx.annotation.MainThread -import dagger.hilt.android.qualifiers.ApplicationContext -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -class NetworkUtilsWrapper @Inject constructor( - @ApplicationContext private val context: Context, -) { - - @MainThread - fun isNetworkConnected(): Boolean { - val connectivityManager = - context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager - val network = connectivityManager.activeNetwork ?: return false - val networkCapabilities = - connectivityManager.getNetworkCapabilities(network) ?: return false - - return networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) - } -} diff --git a/core/common/src/main/java/com/mifos/core/common/utils/Utils.kt b/core/common/src/main/java/com/mifos/core/common/utils/Utils.kt deleted file mode 100644 index ece73b26978..00000000000 --- a/core/common/src/main/java/com/mifos/core/common/utils/Utils.kt +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 2024 Mifos Initiative - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. - * - * See https://github.com/openMF/android-client/blob/master/LICENSE.md - */ -package com.mifos.core.common.utils - -import java.text.DateFormat -import java.util.Calendar -import java.util.TimeZone - -object Utils { - fun getStringOfDate(dateObj: List): String { - val calendar = Calendar.getInstance(TimeZone.getTimeZone("UTC")) - dateObj.getOrNull(0)?.let { year -> - calendar.set(Calendar.YEAR, year) - } - dateObj.getOrNull(1)?.let { month -> - calendar.set(Calendar.MONTH, month - 1) - } - dateObj.getOrNull(2)?.let { day -> - calendar.set(Calendar.DAY_OF_MONTH, day) - } - val dateFormat = DateFormat.getDateInstance(DateFormat.MEDIUM) - return dateFormat.format(calendar.time) - } -} diff --git a/core/common/src/nativeMain/kotlin/com/mifos/core/common/di/DispatchersModule.native.kt b/core/common/src/nativeMain/kotlin/com/mifos/core/common/di/DispatchersModule.native.kt new file mode 100644 index 00000000000..950a53665bb --- /dev/null +++ b/core/common/src/nativeMain/kotlin/com/mifos/core/common/di/DispatchersModule.native.kt @@ -0,0 +1,14 @@ +package com.mifos.core.common.di + +import com.mifos.core.common.network.MifosDispatchers +import kotlinx.coroutines.CoroutineDispatcher +import org.koin.core.module.Module +import org.koin.dsl.module +import org.koin.core.qualifier.named +import kotlinx.coroutines.Dispatchers + + +actual val ioDispatcherModule: Module + get() = module { + single(named(MifosDispatchers.IO.name)) { Dispatchers.Default } + } \ No newline at end of file diff --git a/core/common/src/nativeMain/kotlin/com/mifos/core/common/utils/FileUtils.native.kt b/core/common/src/nativeMain/kotlin/com/mifos/core/common/utils/FileUtils.native.kt new file mode 100644 index 00000000000..f05c8a16c4c --- /dev/null +++ b/core/common/src/nativeMain/kotlin/com/mifos/core/common/utils/FileUtils.native.kt @@ -0,0 +1,36 @@ +package com.mifos.core.common.utils + +import kotlinx.cinterop.BetaInteropApi +import kotlinx.cinterop.ExperimentalForeignApi +import kotlinx.cinterop.allocArrayOf +import kotlinx.cinterop.memScoped +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.withContext +import platform.Foundation.NSData +import platform.Foundation.create +import platform.Foundation.writeToFile + +// iOS implementation +@BetaInteropApi +@OptIn(ExperimentalForeignApi::class) +actual fun createPlatformFileUtils(): FileUtils = object : FileUtils { + override suspend fun writeInputStreamDataToFile( + inputStream: ByteArray, + filePath: String, + ): Boolean = + withContext(Dispatchers.Default) { + try { + val nsData = inputStream.toNSData() + nsData.writeToFile(filePath, true) + true + } catch (e: Exception) { + FileUtils.logger.w { "File operations not supported in nativeIOS" } + false + } + } + + @BetaInteropApi + fun ByteArray.toNSData(): NSData = memScoped { + NSData.create(bytes = allocArrayOf(this@toNSData), length = this@toNSData.size.toULong()) + } +} \ No newline at end of file diff --git a/core/common/src/nativeMain/kotlin/com/mifos/core/common/utils/LanguageHelper.native.kt b/core/common/src/nativeMain/kotlin/com/mifos/core/common/utils/LanguageHelper.native.kt new file mode 100644 index 00000000000..e99668616a2 --- /dev/null +++ b/core/common/src/nativeMain/kotlin/com/mifos/core/common/utils/LanguageHelper.native.kt @@ -0,0 +1,31 @@ +package com.mifos.core.common.utils + +import platform.Foundation.NSLocale +import platform.Foundation.NSUserDefaults +import platform.Foundation.preferredLanguages + +actual object LanguageHelper { + actual fun onAttach(context: Any): Any? { + val userDefaults = NSUserDefaults.standardUserDefaults + val storedLanguage = userDefaults.stringForKey("language") + val systemLanguage = (NSLocale.preferredLanguages.firstOrNull() as? String) + ?.substringBefore('_') + + val language = storedLanguage ?: systemLanguage ?: "en" + return setLocale(context, language) + } + + actual fun onAttach(context: Any, defaultLanguage: String): Any? { + val userDefaults = NSUserDefaults.standardUserDefaults + val language = userDefaults.stringForKey("language") ?: defaultLanguage + return setLocale(context, language) + } + + actual fun setLocale(context: Any?, language: String): Any? { + NSUserDefaults.standardUserDefaults.apply { + setObject(language, forKey = "language") + synchronize() + } + return context + } +} \ No newline at end of file diff --git a/core/common/src/nativeMain/kotlin/com/mifos/core/common/utils/Network.native.kt b/core/common/src/nativeMain/kotlin/com/mifos/core/common/utils/Network.native.kt new file mode 100644 index 00000000000..c3ed088c27c --- /dev/null +++ b/core/common/src/nativeMain/kotlin/com/mifos/core/common/utils/Network.native.kt @@ -0,0 +1,17 @@ +package com.mifos.core.common.utils + +import kotlinx.cinterop.ExperimentalForeignApi +import platform.SystemConfiguration.SCNetworkReachabilityCreateWithName +import platform.SystemConfiguration.SCNetworkReachabilityGetFlags +import platform.SystemConfiguration.SCNetworkReachabilityFlags +import platform.darwin.* +import kotlin.experimental.ExperimentalNativeApi + +actual object Network { + @OptIn(ExperimentalNativeApi::class) + fun isOnline(): Boolean = Platform.isNetworkAvailable() // Implement in native code +} + +private fun Platform.isNetworkAvailable() { + // +} diff --git a/core/common/src/nativeMain/kotlin/com/mifos/core/common/utils/NetworkUtilsWrapper.native.kt b/core/common/src/nativeMain/kotlin/com/mifos/core/common/utils/NetworkUtilsWrapper.native.kt new file mode 100644 index 00000000000..c2a4dc2ad99 --- /dev/null +++ b/core/common/src/nativeMain/kotlin/com/mifos/core/common/utils/NetworkUtilsWrapper.native.kt @@ -0,0 +1,5 @@ +package com.mifos.core.common.utils + +actual class NetworkUtilsWrapper actual constructor() { + fun isNetworkConnected(): Boolean = Network.isOnline() +} \ No newline at end of file diff --git a/core/common/src/wasmJsMain/kotlin/com/mifos/core/common/di/DispatchersModule.wasmJs.kt b/core/common/src/wasmJsMain/kotlin/com/mifos/core/common/di/DispatchersModule.wasmJs.kt new file mode 100644 index 00000000000..16861a2ceb9 --- /dev/null +++ b/core/common/src/wasmJsMain/kotlin/com/mifos/core/common/di/DispatchersModule.wasmJs.kt @@ -0,0 +1,13 @@ +package com.mifos.core.common.di + + +import kotlinx.coroutines.CoroutineDispatcher +import kotlinx.coroutines.Dispatchers +import org.koin.core.module.Module +import org.koin.core.qualifier.named +import org.koin.dsl.module + +actual val ioDispatcherModule: Module + get() = module { + single(named(MifosDispatchers.IO.name)) { Dispatchers.Default } + } \ No newline at end of file diff --git a/core/common/src/wasmJsMain/kotlin/com/mifos/core/common/utils/FileUtils.wasmJs.kt b/core/common/src/wasmJsMain/kotlin/com/mifos/core/common/utils/FileUtils.wasmJs.kt new file mode 100644 index 00000000000..8536f0ccaf6 --- /dev/null +++ b/core/common/src/wasmJsMain/kotlin/com/mifos/core/common/utils/FileUtils.wasmJs.kt @@ -0,0 +1,11 @@ +package com.mifos.core.common.utils + +actual fun createPlatformFileUtils(): FileUtils = object : FileUtils { + override suspend fun writeInputStreamDataToFile( + inputStream: ByteArray, + filePath: String + ): Boolean { + FileUtils.logger.w { "File operations not supported in JS/Wasm" } + return false + } +} \ No newline at end of file diff --git a/core/common/src/wasmJsMain/kotlin/com/mifos/core/common/utils/LanguageHelper.wasmJs.kt b/core/common/src/wasmJsMain/kotlin/com/mifos/core/common/utils/LanguageHelper.wasmJs.kt new file mode 100644 index 00000000000..f392eb8505f --- /dev/null +++ b/core/common/src/wasmJsMain/kotlin/com/mifos/core/common/utils/LanguageHelper.wasmJs.kt @@ -0,0 +1,20 @@ +package com.mifos.core.common.utils + +actual object LanguageHelper { + actual fun onAttach(context: Any): Any? { + // WASM-specific implementation + val language = js("navigator.language") as String + return setLocale(context, language) + } + + actual fun onAttach(context: Any, defaultLanguage: String): Any? { + // WASM-specific implementation + return setLocale(context, defaultLanguage) + } + + actual fun setLocale(context: Any?, language: String): Any? { + // WASM-specific implementation + js("document.documentElement.lang = language") + return context + } +} \ No newline at end of file diff --git a/core/common/src/wasmJsMain/kotlin/com/mifos/core/common/utils/Network.wasmJs.kt b/core/common/src/wasmJsMain/kotlin/com/mifos/core/common/utils/Network.wasmJs.kt new file mode 100644 index 00000000000..f68d4cc23cb --- /dev/null +++ b/core/common/src/wasmJsMain/kotlin/com/mifos/core/common/utils/Network.wasmJs.kt @@ -0,0 +1,6 @@ +package com.mifos.core.common.utils + +actual object Network { + fun isOnline(): Boolean = + js("(typeof window !== 'undefined' && window.navigator.onLine)") as Boolean +} \ No newline at end of file diff --git a/core/common/src/wasmJsMain/kotlin/com/mifos/core/common/utils/NetworkUtilsWrapper.wasmJs.kt b/core/common/src/wasmJsMain/kotlin/com/mifos/core/common/utils/NetworkUtilsWrapper.wasmJs.kt new file mode 100644 index 00000000000..c2a4dc2ad99 --- /dev/null +++ b/core/common/src/wasmJsMain/kotlin/com/mifos/core/common/utils/NetworkUtilsWrapper.wasmJs.kt @@ -0,0 +1,5 @@ +package com.mifos.core.common.utils + +actual class NetworkUtilsWrapper actual constructor() { + fun isNetworkConnected(): Boolean = Network.isOnline() +} \ No newline at end of file diff --git a/core/database/src/main/java/com/mifos/core/databasehelper/DatabaseHelperClient.kt b/core/database/src/main/java/com/mifos/core/databasehelper/DatabaseHelperClient.kt index 8dcfa53f22e..a577253bcde 100644 --- a/core/database/src/main/java/com/mifos/core/databasehelper/DatabaseHelperClient.kt +++ b/core/database/src/main/java/com/mifos/core/databasehelper/DatabaseHelperClient.kt @@ -12,8 +12,6 @@ package com.mifos.core.databasehelper import com.google.gson.Gson import com.google.gson.GsonBuilder import com.google.gson.reflect.TypeToken -import com.mifos.core.common.utils.Constants -import com.mifos.core.common.utils.MapDeserializer import com.mifos.core.entity.accounts.loan.LoanAccount import com.mifos.core.entity.accounts.loan.LoanAccount_Table import com.mifos.core.entity.accounts.savings.SavingsAccount @@ -45,6 +43,7 @@ import com.raizlabs.android.dbflow.sql.language.Delete import com.raizlabs.android.dbflow.sql.language.SQLite import rx.Observable import rx.functions.Func0 +import utils.MapDeserializer import java.lang.reflect.Type import javax.inject.Inject import javax.inject.Singleton diff --git a/core/datastore/src/main/java/com/mifos/core/datastore/PrefManager.kt b/core/datastore/src/main/java/com/mifos/core/datastore/PrefManager.kt index d8ca072efb6..93cd0c4020b 100644 --- a/core/datastore/src/main/java/com/mifos/core/datastore/PrefManager.kt +++ b/core/datastore/src/main/java/com/mifos/core/datastore/PrefManager.kt @@ -14,9 +14,7 @@ import android.content.SharedPreferences import android.preference.PreferenceManager import com.mifos.core.common.BuildConfig import com.mifos.core.common.model.user.User -import com.mifos.core.common.utils.Constants -import com.mifos.core.common.utils.asServerConfig -import com.mifos.core.model.ServerConfig +import asServerConfig import dagger.hilt.android.qualifiers.ApplicationContext import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/ActivateCenterUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/ActivateCenterUseCase.kt index 8e5bce3a04c..56bef03fcbd 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/ActivateCenterUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/ActivateCenterUseCase.kt @@ -9,12 +9,13 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.ActivateRepository -import com.mifos.core.objects.clients.ActivatePayload +import com.mifos.core.model.objects.clients.ActivatePayload import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow import org.openapitools.client.models.PostCentersCenterIdResponse +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource +import com.mifos.core.common.utils.Resource import javax.inject.Inject class ActivateCenterUseCase @Inject constructor(private val activateRepository: ActivateRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/ActivateClientUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/ActivateClientUseCase.kt index 05235b65de6..29a28b23a92 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/ActivateClientUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/ActivateClientUseCase.kt @@ -9,12 +9,12 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.ActivateRepository -import com.mifos.core.objects.clients.ActivatePayload +import com.mifos.core.model.objects.clients.ActivatePayload import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow import org.openapitools.client.models.PostClientsClientIdResponse +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class ActivateClientUseCase @Inject constructor(private val activateRepository: ActivateRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/ActivateGroupUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/ActivateGroupUseCase.kt index 7bf1e41fd98..8b81ea4e7dc 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/ActivateGroupUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/ActivateGroupUseCase.kt @@ -9,16 +9,16 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.ActivateRepository +import com.mifos.core.model.objects.clients.ActivatePayload import com.mifos.core.network.GenericResponse -import com.mifos.core.objects.clients.ActivatePayload import kotlinx.coroutines.channels.awaitClose import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.callbackFlow import rx.Subscriber import rx.android.schedulers.AndroidSchedulers import rx.schedulers.Schedulers +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class ActivateGroupUseCase @Inject constructor(private val activateRepository: ActivateRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/ActivateSavingsUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/ActivateSavingsUseCase.kt index c9fbaae9856..654ad0f9963 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/ActivateSavingsUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/ActivateSavingsUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.SavingsAccountActivateRepository import com.mifos.core.network.GenericResponse import kotlinx.coroutines.channels.awaitClose diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/AddClientPinpointLocationUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/AddClientPinpointLocationUseCase.kt index e6c74c35eb0..7b218d174d1 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/AddClientPinpointLocationUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/AddClientPinpointLocationUseCase.kt @@ -9,11 +9,11 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.PinPointClientRepository import com.mifos.core.network.GenericResponse import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class AddClientPinpointLocationUseCase @Inject constructor(private val pinPointClientRepository: PinPointClientRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/AddDataTableEntryUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/AddDataTableEntryUseCase.kt index c8d5e409864..93458acd6fa 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/AddDataTableEntryUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/AddDataTableEntryUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.DataTableRowDialogRepository import com.mifos.core.network.GenericResponse import kotlinx.coroutines.flow.Flow diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/AllDatabaseCenterPayloadUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/AllDatabaseCenterPayloadUseCase.kt index 0ef33a0206d..f06aa4182f8 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/AllDatabaseCenterPayloadUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/AllDatabaseCenterPayloadUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.SyncCenterPayloadsRepository import com.mifos.core.entity.center.CenterPayload import kotlinx.coroutines.channels.awaitClose diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/AllDatabaseGroupPayloadUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/AllDatabaseGroupPayloadUseCase.kt index 21e7f9277bd..7f0b0f6264a 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/AllDatabaseGroupPayloadUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/AllDatabaseGroupPayloadUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.SyncGroupPayloadsRepository import com.mifos.core.entity.group.GroupPayload import kotlinx.coroutines.channels.awaitClose diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/AllSavingsAccountTransactionsUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/AllSavingsAccountTransactionsUseCase.kt index f3d0025326c..7a17cbd992b 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/AllSavingsAccountTransactionsUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/AllSavingsAccountTransactionsUseCase.kt @@ -9,7 +9,7 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.SyncSavingsAccountTransactionRepository import com.mifos.core.entity.accounts.savings.SavingsAccountTransactionRequest import kotlinx.coroutines.channels.awaitClose diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/ApproveCheckerUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/ApproveCheckerUseCase.kt index 03d7420a971..732bd7c72f0 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/ApproveCheckerUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/ApproveCheckerUseCase.kt @@ -9,11 +9,11 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.CheckerInboxRepository import com.mifos.core.network.GenericResponse import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class ApproveCheckerUseCase @Inject constructor(val repository: CheckerInboxRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/ApproveSavingsApplicationUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/ApproveSavingsApplicationUseCase.kt index b4c0d97586b..d391560258f 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/ApproveSavingsApplicationUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/ApproveSavingsApplicationUseCase.kt @@ -9,16 +9,16 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.SavingsAccountApprovalRepository +import com.mifos.core.model.objects.account.loan.SavingsApproval import com.mifos.core.network.GenericResponse -import com.mifos.core.objects.account.loan.SavingsApproval import kotlinx.coroutines.channels.awaitClose import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.callbackFlow import rx.Subscriber import rx.android.schedulers.AndroidSchedulers import rx.schedulers.Schedulers +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject /** diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/ClientTemplateUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/ClientTemplateUseCase.kt index 4bb529b3ece..aa1610832d0 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/ClientTemplateUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/ClientTemplateUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.CreateNewClientRepository import com.mifos.core.entity.templates.clients.ClientsTemplate import kotlinx.coroutines.channels.awaitClose @@ -18,6 +17,7 @@ import kotlinx.coroutines.flow.callbackFlow import rx.Subscriber import rx.android.schedulers.AndroidSchedulers import rx.schedulers.Schedulers +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject /** diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateCenterUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateCenterUseCase.kt index 827eeeaa5f0..267f417a250 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateCenterUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateCenterUseCase.kt @@ -9,16 +9,16 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.SyncCenterPayloadsRepository import com.mifos.core.entity.center.CenterPayload -import com.mifos.core.objects.responses.SaveResponse +import com.mifos.core.model.objects.responses.SaveResponse import kotlinx.coroutines.channels.awaitClose import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.callbackFlow import rx.Subscriber import rx.android.schedulers.AndroidSchedulers import rx.schedulers.Schedulers +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject /** diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateChargesUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateChargesUseCase.kt index 71d69a8f196..241f2610027 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateChargesUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateChargesUseCase.kt @@ -9,12 +9,12 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.ChargeDialogRepository -import com.mifos.core.objects.clients.ChargeCreationResponse -import com.mifos.core.payloads.ChargesPayload +import com.mifos.core.model.objects.clients.ChargeCreationResponse +import com.mifos.core.model.objects.payloads.ChargesPayload import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class CreateChargesUseCase @Inject constructor(private val repository: ChargeDialogRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateClientIdentifierUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateClientIdentifierUseCase.kt index 5fb48ac715a..55af8c814c1 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateClientIdentifierUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateClientIdentifierUseCase.kt @@ -9,12 +9,12 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.ClientIdentifierDialogRepository -import com.mifos.core.objects.noncoreobjects.IdentifierCreationResponse -import com.mifos.core.objects.noncoreobjects.IdentifierPayload +import com.mifos.core.model.objects.noncoreobjects.IdentifierCreationResponse +import com.mifos.core.model.objects.noncoreobjects.IdentifierPayload import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class CreateClientIdentifierUseCase @Inject constructor(private val repository: ClientIdentifierDialogRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateDocumentUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateDocumentUseCase.kt index 9896e9de05a..efdcb4664a2 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateDocumentUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateDocumentUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.SignatureRepository import com.mifos.core.network.GenericResponse import kotlinx.coroutines.channels.awaitClose @@ -19,6 +18,7 @@ import okhttp3.MultipartBody import rx.Subscriber import rx.android.schedulers.AndroidSchedulers import rx.schedulers.Schedulers +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class CreateDocumentUseCase @Inject constructor(private val repository: SignatureRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateGroupLoansAccountUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateGroupLoansAccountUseCase.kt index 7b9ca8a483b..a3f84042abb 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateGroupLoansAccountUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateGroupLoansAccountUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.GroupLoanAccountRepository import com.mifos.core.entity.accounts.loan.Loans import com.mifos.core.model.objects.payloads.GroupLoanPayload @@ -19,6 +18,7 @@ import kotlinx.coroutines.flow.callbackFlow import rx.Subscriber import rx.android.schedulers.AndroidSchedulers import rx.schedulers.Schedulers +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class CreateGroupLoansAccountUseCase @Inject constructor(private val repository: GroupLoanAccountRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateGroupUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateGroupUseCase.kt index c8031c3204e..ef97c92d804 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateGroupUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateGroupUseCase.kt @@ -9,16 +9,16 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.CreateNewGroupRepository import com.mifos.core.entity.group.GroupPayload -import com.mifos.core.objects.responses.SaveResponse +import com.mifos.core.model.objects.responses.SaveResponse import kotlinx.coroutines.channels.awaitClose import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.callbackFlow import rx.Subscriber import rx.android.schedulers.AndroidSchedulers import rx.schedulers.Schedulers +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class CreateGroupUseCase @Inject constructor(private val repository: CreateNewGroupRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateLoanAccountUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateLoanAccountUseCase.kt index a875137ee0b..66e14a2a57b 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateLoanAccountUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateLoanAccountUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.LoanAccountRepository import com.mifos.core.entity.accounts.loan.Loans import com.mifos.core.network.model.LoansPayload @@ -19,6 +18,7 @@ import kotlinx.coroutines.flow.callbackFlow import rx.Subscriber import rx.android.schedulers.AndroidSchedulers import rx.schedulers.Schedulers +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class CreateLoanAccountUseCase @Inject constructor(private val loanAccountRepository: LoanAccountRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateLoanChargesUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateLoanChargesUseCase.kt index 5656a41d037..2537207e620 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateLoanChargesUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateLoanChargesUseCase.kt @@ -9,12 +9,12 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.LoanChargeDialogRepository -import com.mifos.core.objects.clients.ChargeCreationResponse -import com.mifos.core.payloads.ChargesPayload +import com.mifos.core.model.objects.clients.ChargeCreationResponse +import com.mifos.core.model.objects.payloads.ChargesPayload import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class CreateLoanChargesUseCase @Inject constructor(private val repository: LoanChargeDialogRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateNewCenterUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateNewCenterUseCase.kt index 505590d42ff..6a81aa4d686 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateNewCenterUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateNewCenterUseCase.kt @@ -9,16 +9,16 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.CreateNewCenterRepository import com.mifos.core.entity.center.CenterPayload -import com.mifos.core.objects.responses.SaveResponse +import com.mifos.core.model.objects.responses.SaveResponse import kotlinx.coroutines.channels.awaitClose import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.callbackFlow import rx.Subscriber import rx.android.schedulers.AndroidSchedulers import rx.schedulers.Schedulers +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class CreateNewCenterUseCase @Inject constructor(private val repository: CreateNewCenterRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateNewGroupUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateNewGroupUseCase.kt index c820069fbb4..b2d0d14af78 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateNewGroupUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateNewGroupUseCase.kt @@ -9,16 +9,16 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.CreateNewGroupRepository import com.mifos.core.entity.group.GroupPayload -import com.mifos.core.objects.responses.SaveResponse +import com.mifos.core.model.objects.responses.SaveResponse import kotlinx.coroutines.channels.awaitClose import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.callbackFlow import rx.Subscriber import rx.android.schedulers.AndroidSchedulers import rx.schedulers.Schedulers +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject /** diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateSavingsAccountUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateSavingsAccountUseCase.kt index 4c6cbe947d6..b36b4b99af3 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateSavingsAccountUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/CreateSavingsAccountUseCase.kt @@ -9,16 +9,16 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.SavingsAccountRepository -import com.mifos.core.entity.client.Savings import com.mifos.core.model.objects.payloads.SavingsPayload +import com.mifos.room.entities.client.Savings import kotlinx.coroutines.channels.awaitClose import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.callbackFlow import rx.Subscriber import rx.android.schedulers.AndroidSchedulers import rx.schedulers.Schedulers +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject /** diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/DeleteAndUpdateCenterPayloadsUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/DeleteAndUpdateCenterPayloadsUseCase.kt index eaf96886acc..30a84e689ac 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/DeleteAndUpdateCenterPayloadsUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/DeleteAndUpdateCenterPayloadsUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.SyncCenterPayloadsRepository import com.mifos.core.entity.center.CenterPayload import kotlinx.coroutines.channels.awaitClose @@ -18,6 +17,7 @@ import kotlinx.coroutines.flow.callbackFlow import rx.Subscriber import rx.android.schedulers.AndroidSchedulers import rx.schedulers.Schedulers +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject /** diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/DeleteAndUpdateGroupPayloadUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/DeleteAndUpdateGroupPayloadUseCase.kt index c593ff396dc..76c444b3ff4 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/DeleteAndUpdateGroupPayloadUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/DeleteAndUpdateGroupPayloadUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.SyncGroupPayloadsRepository import com.mifos.core.entity.group.GroupPayload import kotlinx.coroutines.channels.awaitClose @@ -18,6 +17,7 @@ import kotlinx.coroutines.flow.callbackFlow import rx.Subscriber import rx.android.schedulers.AndroidSchedulers import rx.schedulers.Schedulers +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject /** diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/DeleteAndUpdateTransactionsUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/DeleteAndUpdateTransactionsUseCase.kt index f1a0c6351ca..e1e7cce6d5f 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/DeleteAndUpdateTransactionsUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/DeleteAndUpdateTransactionsUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.SyncSavingsAccountTransactionRepository import com.mifos.core.entity.accounts.savings.SavingsAccountTransactionRequest import kotlinx.coroutines.channels.awaitClose @@ -18,6 +17,7 @@ import kotlinx.coroutines.flow.callbackFlow import rx.Subscriber import rx.android.schedulers.AndroidSchedulers import rx.schedulers.Schedulers +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject /** diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/DeleteCheckerUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/DeleteCheckerUseCase.kt index 623695b96f7..18d59689624 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/DeleteCheckerUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/DeleteCheckerUseCase.kt @@ -9,11 +9,11 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.CheckerInboxRepository import com.mifos.core.network.GenericResponse import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class DeleteCheckerUseCase @Inject constructor(private val repository: CheckerInboxRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/DeleteClientAddressPinpointUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/DeleteClientAddressPinpointUseCase.kt index 24e19059877..2ad5d72129e 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/DeleteClientAddressPinpointUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/DeleteClientAddressPinpointUseCase.kt @@ -9,11 +9,11 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.PinPointClientRepository import com.mifos.core.network.GenericResponse import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class DeleteClientAddressPinpointUseCase @Inject constructor(private val pinPointClientRepository: PinPointClientRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/DeleteClientImageUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/DeleteClientImageUseCase.kt index b0ede715ce4..ed34764fce5 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/DeleteClientImageUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/DeleteClientImageUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.ClientDetailsRepository import kotlinx.coroutines.channels.awaitClose import kotlinx.coroutines.flow.Flow @@ -18,6 +17,7 @@ import okhttp3.ResponseBody import rx.Subscriber import rx.android.schedulers.AndroidSchedulers import rx.schedulers.Schedulers +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject /** diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/DeleteDataTableEntryUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/DeleteDataTableEntryUseCase.kt index 75d1536cc2b..56d6f5c6f84 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/DeleteDataTableEntryUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/DeleteDataTableEntryUseCase.kt @@ -9,11 +9,11 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.DataTableDataRepository import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow import org.openapitools.client.models.DeleteDataTablesDatatableAppTableIdDatatableIdResponse +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class DeleteDataTableEntryUseCase @Inject constructor(private val repository: DataTableDataRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/DeleteIdentifierUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/DeleteIdentifierUseCase.kt index dfd134051d7..6e890395ccd 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/DeleteIdentifierUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/DeleteIdentifierUseCase.kt @@ -9,11 +9,11 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.ClientIdentifiersRepository import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow import org.openapitools.client.models.DeleteClientsClientIdIdentifiersIdentifierIdResponse +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class DeleteIdentifierUseCase @Inject constructor(private val repository: ClientIdentifiersRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/DownloadDocumentUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/DownloadDocumentUseCase.kt index 9f9e5c9176f..d9562ca242a 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/DownloadDocumentUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/DownloadDocumentUseCase.kt @@ -9,11 +9,11 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.DocumentListRepository import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow import okhttp3.ResponseBody +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class DownloadDocumentUseCase @Inject constructor(private val repository: DocumentListRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/FetchCenterDetailsUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/FetchCenterDetailsUseCase.kt index f904e71f963..4c8317e056d 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/FetchCenterDetailsUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/FetchCenterDetailsUseCase.kt @@ -9,11 +9,11 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.GenerateCollectionSheetRepository import com.mifos.room.entities.collectionsheet.CenterDetail import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class FetchCenterDetailsUseCase @Inject constructor( diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/FetchCollectionSheetUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/FetchCollectionSheetUseCase.kt index bbb94e1ea2f..a74cfd00e45 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/FetchCollectionSheetUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/FetchCollectionSheetUseCase.kt @@ -9,12 +9,12 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.GenerateCollectionSheetRepository -import com.mifos.core.objects.collectionsheets.CollectionSheetRequestPayload import com.mifos.room.entities.collectionsheet.CollectionSheetResponse +import com.mifos.core.model.objects.collectionsheets.CollectionSheetRequestPayload import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class FetchCollectionSheetUseCase @Inject constructor(private val repository: GenerateCollectionSheetRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/FetchGroupsAssociatedWithCenterUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/FetchGroupsAssociatedWithCenterUseCase.kt index db0f6e9682a..94731312ad4 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/FetchGroupsAssociatedWithCenterUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/FetchGroupsAssociatedWithCenterUseCase.kt @@ -9,11 +9,11 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.GenerateCollectionSheetRepository import com.mifos.room.entities.group.CenterWithAssociations import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class FetchGroupsAssociatedWithCenterUseCase @Inject constructor( diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/FetchProductiveCollectionSheetUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/FetchProductiveCollectionSheetUseCase.kt index 1f2ebfdc5ac..ac68b530ed3 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/FetchProductiveCollectionSheetUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/FetchProductiveCollectionSheetUseCase.kt @@ -9,12 +9,12 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.GenerateCollectionSheetRepository -import com.mifos.core.objects.collectionsheets.CollectionSheetRequestPayload +import com.mifos.core.model.objects.collectionsheets.CollectionSheetRequestPayload import com.mifos.room.entities.collectionsheet.CollectionSheetResponse import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class FetchProductiveCollectionSheetUseCase @Inject constructor( diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetAllChargesV2UseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetAllChargesV2UseCase.kt index e7263139c32..d14e4fe2d61 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetAllChargesV2UseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetAllChargesV2UseCase.kt @@ -9,11 +9,11 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.ChargeDialogRepository -import com.mifos.core.objects.template.client.ChargeTemplate +import com.mifos.core.model.objects.template.client.ChargeTemplate import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class GetAllChargesV2UseCase @Inject constructor(private val repository: ChargeDialogRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetAllChargesV3UseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetAllChargesV3UseCase.kt index 9bdbf194890..e47000b351e 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetAllChargesV3UseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetAllChargesV3UseCase.kt @@ -9,11 +9,11 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.LoanChargeDialogRepository import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow import okhttp3.ResponseBody +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class GetAllChargesV3UseCase @Inject constructor(private val repository: LoanChargeDialogRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetAllLoanUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetAllLoanUseCase.kt index 7fa05a6ebf2..5bce1d86be4 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetAllLoanUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetAllLoanUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.LoanAccountRepository import kotlinx.coroutines.channels.awaitClose import kotlinx.coroutines.flow.Flow @@ -17,11 +16,13 @@ import kotlinx.coroutines.flow.callbackFlow import rx.Subscriber import rx.android.schedulers.AndroidSchedulers import rx.schedulers.Schedulers +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource +import com.mifos.core.model.objects.organisations.LoanProducts import javax.inject.Inject class GetAllLoanUseCase @Inject constructor(private val loanAccountRepository: LoanAccountRepository) { - suspend operator fun invoke(): Flow>> = callbackFlow { + suspend operator fun invoke(): Flow>> = callbackFlow { try { trySend(Resource.Loading()) loanAccountRepository.allLoans() diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetCenterDetailsUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetCenterDetailsUseCase.kt index 72b4313268a..0e04ee005d6 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetCenterDetailsUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetCenterDetailsUseCase.kt @@ -9,13 +9,13 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.CenterDetailsRepository -import com.mifos.core.objects.groups.CenterInfo +import com.mifos.core.model.objects.groups.CenterInfo import com.mifos.room.entities.group.CenterWithAssociations import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow import kotlinx.coroutines.flow.zip +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class GetCenterDetailsUseCase @Inject constructor(private val repository: CenterDetailsRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetCenterListDbUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetCenterListDbUseCase.kt index ac752a4d759..68fd065acbb 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetCenterListDbUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetCenterListDbUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.CenterListRepository import com.mifos.core.entity.group.Center import com.mifos.core.objects.clients.Page @@ -18,6 +17,7 @@ import kotlinx.coroutines.flow.flow import rx.Subscriber import rx.android.schedulers.AndroidSchedulers import rx.schedulers.Schedulers +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject import kotlin.coroutines.resume import kotlin.coroutines.resumeWithException diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetCentersInOfficeUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetCentersInOfficeUseCase.kt index 38930887f8c..0a2c432edee 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetCentersInOfficeUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetCentersInOfficeUseCase.kt @@ -9,11 +9,11 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.GenerateCollectionSheetRepository import com.mifos.core.entity.group.Center import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class GetCentersInOfficeUseCase @Inject constructor( diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetCheckerInboxBadgesUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetCheckerInboxBadgesUseCase.kt index dbc82daa785..bb20e235fde 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetCheckerInboxBadgesUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetCheckerInboxBadgesUseCase.kt @@ -9,11 +9,11 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.CheckerInboxTasksRepository import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow import kotlinx.coroutines.flow.zip +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject /** diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetCheckerTasksUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetCheckerTasksUseCase.kt index 42118abc93b..b0dfe0411fc 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetCheckerTasksUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetCheckerTasksUseCase.kt @@ -9,11 +9,11 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.CheckerInboxRepository -import com.mifos.core.objects.checkerinboxtask.CheckerTask +import com.mifos.core.model.objects.checkerinboxtask.CheckerTask import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class GetCheckerTasksUseCase @Inject constructor(private val repository: CheckerInboxRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetClientDetailsUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetClientDetailsUseCase.kt index 1a20e6ba5db..42b69c77844 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetClientDetailsUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetClientDetailsUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.ClientDetailsRepository import com.mifos.room.entities.zipmodels.ClientAndClientAccounts import kotlinx.coroutines.Dispatchers @@ -17,6 +16,7 @@ import kotlinx.coroutines.async import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow import kotlinx.coroutines.withContext +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject /** diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetClientIdentifierTemplateUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetClientIdentifierTemplateUseCase.kt index 70892ea2d88..65fe63c9cc9 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetClientIdentifierTemplateUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetClientIdentifierTemplateUseCase.kt @@ -9,11 +9,11 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.ClientIdentifierDialogRepository -import com.mifos.core.objects.noncoreobjects.IdentifierTemplate +import com.mifos.core.model.objects.noncoreobjects.IdentifierTemplate import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class GetClientIdentifierTemplateUseCase @Inject constructor(private val repository: ClientIdentifierDialogRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetClientIdentifiersUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetClientIdentifiersUseCase.kt index ccf0d71e5f5..1ab8e30977e 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetClientIdentifiersUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetClientIdentifiersUseCase.kt @@ -9,11 +9,11 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.ClientIdentifiersRepository -import com.mifos.core.objects.noncoreobjects.Identifier +import com.mifos.core.model.objects.noncoreobjects.Identifier import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class GetClientIdentifiersUseCase @Inject constructor(private val clientIdentifiersRepository: ClientIdentifiersRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetClientPinpointLocationsUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetClientPinpointLocationsUseCase.kt index d25c325d2c6..0af3fb5d7e9 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetClientPinpointLocationsUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetClientPinpointLocationsUseCase.kt @@ -9,15 +9,16 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.PinPointClientRepository import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource +import com.mifos.core.model.objects.clients.ClientAddressResponse import javax.inject.Inject class GetClientPinpointLocationsUseCase @Inject constructor(private val pinPointClientRepository: PinPointClientRepository) { - suspend operator fun invoke(clientId: Int): Flow>> = flow { + suspend operator fun invoke(clientId: Int): Flow>> = flow { try { emit(Resource.Loading()) val response = pinPointClientRepository.getClientPinpointLocations(clientId) diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetClientSavingsAccountTemplateByProductUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetClientSavingsAccountTemplateByProductUseCase.kt index 46da4cce28d..e004aff6db1 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetClientSavingsAccountTemplateByProductUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetClientSavingsAccountTemplateByProductUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.SavingsAccountRepository import com.mifos.room.entities.templates.savings.SavingProductsTemplate import kotlinx.coroutines.channels.awaitClose @@ -18,6 +17,7 @@ import kotlinx.coroutines.flow.callbackFlow import rx.Subscriber import rx.android.schedulers.AndroidSchedulers import rx.schedulers.Schedulers +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject /** diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetDataTableInfoUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetDataTableInfoUseCase.kt index 787746b0b13..fb21e564564 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetDataTableInfoUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetDataTableInfoUseCase.kt @@ -10,10 +10,10 @@ package com.mifos.core.domain.useCases import com.google.gson.JsonArray -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.DataTableDataRepository import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class GetDataTableInfoUseCase @Inject constructor(private val repository: DataTableDataRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetDocumentsListUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetDocumentsListUseCase.kt index b402c02b545..3cce250b39c 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetDocumentsListUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetDocumentsListUseCase.kt @@ -9,11 +9,11 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.DocumentListRepository -import com.mifos.core.objects.noncoreobjects.Document +import com.mifos.core.model.objects.noncoreobjects.Document import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class GetDocumentsListUseCase @Inject constructor(private val repository: DocumentListRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetGroupAssociateClientsUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetGroupAssociateClientsUseCase.kt index 5d1b6696868..7e1290f3b2c 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetGroupAssociateClientsUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetGroupAssociateClientsUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.GroupDetailsRepository import com.mifos.core.entity.client.Client import com.mifos.room.entities.group.GroupWithAssociations @@ -19,6 +18,7 @@ import kotlinx.coroutines.flow.callbackFlow import rx.Subscriber import rx.android.schedulers.AndroidSchedulers import rx.schedulers.Schedulers +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class GetGroupAssociateClientsUseCase @Inject constructor(private val groupDetailsRepository: GroupDetailsRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetGroupDetailsUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetGroupDetailsUseCase.kt index 2779e1e47a6..2a3da8f90ab 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetGroupDetailsUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetGroupDetailsUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.GroupDetailsRepository import com.mifos.room.entities.zipmodels.GroupAndGroupAccounts import kotlinx.coroutines.channels.awaitClose @@ -19,6 +18,7 @@ import rx.Observable import rx.Subscriber import rx.android.schedulers.AndroidSchedulers import rx.schedulers.Schedulers +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class GetGroupDetailsUseCase @Inject constructor(private val repository: GroupDetailsRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetGroupLoansAccountTemplateUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetGroupLoansAccountTemplateUseCase.kt index 04e382376a5..50c85337b6b 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetGroupLoansAccountTemplateUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetGroupLoansAccountTemplateUseCase.kt @@ -9,15 +9,15 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.GroupLoanAccountRepository -import com.mifos.core.objects.template.loan.GroupLoanTemplate +import com.mifos.core.model.objects.template.loan.GroupLoanTemplate import kotlinx.coroutines.channels.awaitClose import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.callbackFlow import rx.Subscriber import rx.android.schedulers.AndroidSchedulers import rx.schedulers.Schedulers +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class GetGroupLoansAccountTemplateUseCase @Inject constructor(private val repository: GroupLoanAccountRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetGroupOfficesUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetGroupOfficesUseCase.kt index 19230bef7d5..ac5d620f62a 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetGroupOfficesUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetGroupOfficesUseCase.kt @@ -9,11 +9,11 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.CreateNewGroupRepository import com.mifos.core.entity.organisation.Office import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject /** diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetGroupSavingsAccountTemplateByProductUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetGroupSavingsAccountTemplateByProductUseCase.kt index 9d5a2d67228..eef45ba0bc9 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetGroupSavingsAccountTemplateByProductUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetGroupSavingsAccountTemplateByProductUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.SavingsAccountRepository import com.mifos.room.entities.templates.savings.SavingProductsTemplate import kotlinx.coroutines.channels.awaitClose @@ -18,6 +17,7 @@ import kotlinx.coroutines.flow.callbackFlow import rx.Subscriber import rx.android.schedulers.AndroidSchedulers import rx.schedulers.Schedulers +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject /** diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetGroupsByCenterUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetGroupsByCenterUseCase.kt index 9a89fc4c9a9..229e3e70293 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetGroupsByCenterUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetGroupsByCenterUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.GroupListRepository import com.mifos.room.entities.group.CenterWithAssociations import kotlinx.coroutines.channels.awaitClose @@ -18,6 +17,7 @@ import kotlinx.coroutines.flow.callbackFlow import rx.Subscriber import rx.android.schedulers.AndroidSchedulers import rx.schedulers.Schedulers +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class GetGroupsByCenterUseCase @Inject constructor(private val repository: GroupListRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetGroupsByOfficeUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetGroupsByOfficeUseCase.kt index 479dea167b4..3e097408f67 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetGroupsByOfficeUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetGroupsByOfficeUseCase.kt @@ -9,11 +9,11 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.GenerateCollectionSheetRepository import com.mifos.core.entity.group.Group import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class GetGroupsByOfficeUseCase @Inject constructor( diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetGroupsUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetGroupsUseCase.kt index 39540ec62fb..fb486518052 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetGroupsUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetGroupsUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.GroupListRepository import com.mifos.room.entities.group.GroupWithAssociations import kotlinx.coroutines.channels.awaitClose @@ -18,6 +17,7 @@ import kotlinx.coroutines.flow.callbackFlow import rx.Subscriber import rx.android.schedulers.AndroidSchedulers import rx.schedulers.Schedulers +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class GetGroupsUseCase @Inject constructor(private val repository: GroupListRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetIndividualCollectionSheetUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetIndividualCollectionSheetUseCase.kt index 81b9ed9759a..0b737d5e157 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetIndividualCollectionSheetUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetIndividualCollectionSheetUseCase.kt @@ -9,12 +9,12 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.NewIndividualCollectionSheetRepository import com.mifos.core.network.model.RequestCollectionSheetPayload import com.mifos.room.entities.collectionsheet.IndividualCollectionSheet import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class GetIndividualCollectionSheetUseCase @Inject constructor(private val repository: NewIndividualCollectionSheetRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetListOfLoanChargesUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetListOfLoanChargesUseCase.kt index 7cc15938ee6..3bff2a7a382 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetListOfLoanChargesUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetListOfLoanChargesUseCase.kt @@ -9,11 +9,11 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.LoanChargeRepository import com.mifos.core.entity.client.Charges import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class GetListOfLoanChargesUseCase @Inject constructor(private val repository: LoanChargeRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetLoansAccountTemplateUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetLoansAccountTemplateUseCase.kt index 3e53f9fdeea..1467dfb27ce 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetLoansAccountTemplateUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetLoansAccountTemplateUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.LoanAccountRepository import com.mifos.room.entities.templates.loans.LoanTemplate import kotlinx.coroutines.channels.awaitClose @@ -18,6 +17,7 @@ import kotlinx.coroutines.flow.callbackFlow import rx.Subscriber import rx.android.schedulers.AndroidSchedulers import rx.schedulers.Schedulers +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class GetLoansAccountTemplateUseCase @Inject constructor(private val loanAccountRepository: LoanAccountRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetOfficeListUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetOfficeListUseCase.kt index 83ae5903066..93a049890e1 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetOfficeListUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetOfficeListUseCase.kt @@ -9,11 +9,11 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.NewIndividualCollectionSheetRepository import com.mifos.core.entity.organisation.Office import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class GetOfficeListUseCase @Inject constructor(private val repository: NewIndividualCollectionSheetRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetReportCategoryUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetReportCategoryUseCase.kt index b9cc7634f25..6892a4e3bee 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetReportCategoryUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetReportCategoryUseCase.kt @@ -9,11 +9,11 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.ReportCategoryRepository -import com.mifos.core.objects.runreport.client.ClientReportTypeItem +import com.mifos.core.model.objects.runreport.client.ClientReportTypeItem import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class GetReportCategoryUseCase @Inject constructor(private val repository: ReportCategoryRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetReportFullParameterListUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetReportFullParameterListUseCase.kt index efc5195ea78..2c43768f1d2 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetReportFullParameterListUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetReportFullParameterListUseCase.kt @@ -9,11 +9,11 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.ReportDetailRepository -import com.mifos.core.objects.runreport.FullParameterListResponse +import com.mifos.core.model.objects.runreport.FullParameterListResponse import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class GetReportFullParameterListUseCase @Inject constructor(private val repository: ReportDetailRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetReportParameterDetailsUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetReportParameterDetailsUseCase.kt index 3e3dbe15ee9..c967b32b752 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetReportParameterDetailsUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetReportParameterDetailsUseCase.kt @@ -9,11 +9,11 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.ReportDetailRepository -import com.mifos.core.objects.runreport.FullParameterListResponse +import com.mifos.core.model.objects.runreport.FullParameterListResponse import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class GetReportParameterDetailsUseCase @Inject constructor(private val repository: ReportDetailRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetRunReportOfficesUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetRunReportOfficesUseCase.kt index cc012849780..2796484bd09 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetRunReportOfficesUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetRunReportOfficesUseCase.kt @@ -9,11 +9,12 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.ReportDetailRepository +import com.mifos.core.model.objects.runreport.FullParameterListResponse import com.mifos.core.objects.runreport.FullParameterListResponse import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class GetRunReportOfficesUseCase @Inject constructor(private val repository: ReportDetailRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetRunReportProductUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetRunReportProductUseCase.kt index 1d60abfe58c..4b0c8424565 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetRunReportProductUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetRunReportProductUseCase.kt @@ -9,11 +9,11 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.ReportDetailRepository -import com.mifos.core.objects.runreport.FullParameterListResponse +import com.mifos.core.model.objects.runreport.FullParameterListResponse import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class GetRunReportProductUseCase @Inject constructor(private val repository: ReportDetailRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetRunReportWithQueryUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetRunReportWithQueryUseCase.kt index 145d0326af5..57f01fcffe4 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetRunReportWithQueryUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetRunReportWithQueryUseCase.kt @@ -9,11 +9,11 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.ReportDetailRepository -import com.mifos.core.objects.runreport.FullParameterListResponse +import com.mifos.core.model.objects.runreport.FullParameterListResponse import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class GetRunReportWithQueryUseCase @Inject constructor(private val repository: ReportDetailRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetSavingsAccountTransactionTemplateUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetSavingsAccountTransactionTemplateUseCase.kt index dd27eaa7320..22850a7e766 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetSavingsAccountTransactionTemplateUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetSavingsAccountTransactionTemplateUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.SavingsAccountTransactionRepository import com.mifos.core.entity.templates.savings.SavingsAccountTransactionTemplate import kotlinx.coroutines.channels.awaitClose @@ -18,6 +17,7 @@ import kotlinx.coroutines.flow.callbackFlow import rx.Subscriber import rx.android.schedulers.AndroidSchedulers import rx.schedulers.Schedulers +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject /** diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetSavingsAccountTransactionUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetSavingsAccountTransactionUseCase.kt index 95e895569ed..f34271d61d0 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetSavingsAccountTransactionUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetSavingsAccountTransactionUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.SavingsAccountTransactionRepository import com.mifos.core.entity.accounts.savings.SavingsAccountTransactionRequest import kotlinx.coroutines.channels.awaitClose @@ -18,6 +17,7 @@ import kotlinx.coroutines.flow.callbackFlow import rx.Subscriber import rx.android.schedulers.AndroidSchedulers import rx.schedulers.Schedulers +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject /** diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetSavingsAccountUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetSavingsAccountUseCase.kt index 8ea0c3aeb84..79eaad84724 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetSavingsAccountUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetSavingsAccountUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.SavingsAccountSummaryRepository import com.mifos.core.entity.accounts.savings.SavingsAccountWithAssociations import kotlinx.coroutines.channels.awaitClose @@ -18,6 +17,7 @@ import kotlinx.coroutines.flow.callbackFlow import rx.Subscriber import rx.android.schedulers.AndroidSchedulers import rx.schedulers.Schedulers +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject /** diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetStaffInOfficeForCreateNewClientUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetStaffInOfficeForCreateNewClientUseCase.kt index 5c1cb9a7933..64abfb1e75d 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetStaffInOfficeForCreateNewClientUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetStaffInOfficeForCreateNewClientUseCase.kt @@ -9,11 +9,11 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.CreateNewClientRepository import com.mifos.core.entity.organisation.Staff import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject /** diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetStaffInOfficeUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetStaffInOfficeUseCase.kt index 1636c29a919..0cfe425f746 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetStaffInOfficeUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetStaffInOfficeUseCase.kt @@ -9,11 +9,11 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.NewIndividualCollectionSheetRepository import com.mifos.core.entity.organisation.Staff import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class GetStaffInOfficeUseCase @Inject constructor(private val repository: NewIndividualCollectionSheetRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetUserPathTrackingUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetUserPathTrackingUseCase.kt index 271756179d5..db4cb10d8cf 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/GetUserPathTrackingUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/GetUserPathTrackingUseCase.kt @@ -9,11 +9,11 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.PathTrackingRepository -import com.mifos.core.objects.users.UserLocation +import com.mifos.core.model.objects.users.UserLocation import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject class GetUserPathTrackingUseCase @Inject constructor(private val repository: PathTrackingRepository) { diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/LoadSavingsAccountsAndTemplateUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/LoadSavingsAccountsAndTemplateUseCase.kt index db83f75ff54..f686dcad146 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/LoadSavingsAccountsAndTemplateUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/LoadSavingsAccountsAndTemplateUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.SavingsAccountRepository import com.mifos.room.entities.zipmodels.SavingProductsAndTemplate import kotlinx.coroutines.channels.awaitClose @@ -19,6 +18,7 @@ import rx.Observable import rx.Subscriber import rx.android.schedulers.AndroidSchedulers import rx.schedulers.Schedulers +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import javax.inject.Inject /** diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/LoginUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/LoginUseCase.kt index 8d6ea671efd..e82c0dcfec0 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/LoginUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/LoginUseCase.kt @@ -9,11 +9,11 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.LoginRepository import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow import org.openapitools.client.models.PostAuthenticationResponse +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource /** * Created by Aditya Gupta on 11/02/24. diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/ProcessTransactionUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/ProcessTransactionUseCase.kt index f9620ad4e9a..d0f6dc7f828 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/ProcessTransactionUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/ProcessTransactionUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.SavingsAccountTransactionRepository import com.mifos.core.entity.accounts.savings.SavingsAccountTransactionRequest import com.mifos.core.objects.account.saving.SavingsAccountTransactionResponse diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/RejectCheckerUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/RejectCheckerUseCase.kt index ec30a099b8f..5eb563d4c08 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/RejectCheckerUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/RejectCheckerUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.CheckerInboxRepository import com.mifos.core.network.GenericResponse import kotlinx.coroutines.flow.Flow diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/RemoveDocumentUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/RemoveDocumentUseCase.kt index c5483875b81..b0b1ce281d3 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/RemoveDocumentUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/RemoveDocumentUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.DocumentListRepository import com.mifos.core.network.GenericResponse import kotlinx.coroutines.flow.Flow diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/SaveIndividualCollectionSheetUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/SaveIndividualCollectionSheetUseCase.kt index ce6ecdbd38b..89e7c1f3217 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/SaveIndividualCollectionSheetUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/SaveIndividualCollectionSheetUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.IndividualCollectionSheetDetailsRepository import com.mifos.core.network.GenericResponse import com.mifos.core.network.model.IndividualCollectionSheetPayload diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/SubmitCollectionSheetUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/SubmitCollectionSheetUseCase.kt index 3125545f562..bfa8230b3cb 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/SubmitCollectionSheetUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/SubmitCollectionSheetUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.GenerateCollectionSheetRepository import com.mifos.core.network.GenericResponse import com.mifos.room.entities.collectionsheet.CollectionSheetPayload diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/SubmitProductiveSheetUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/SubmitProductiveSheetUseCase.kt index a5f858f5100..94b096eb826 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/SubmitProductiveSheetUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/SubmitProductiveSheetUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.GenerateCollectionSheetRepository import com.mifos.core.network.GenericResponse import com.mifos.room.entities.collectionsheet.ProductiveCollectionSheetPayload diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/UpdateCenterPayloadUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/UpdateCenterPayloadUseCase.kt index aa127b52d4f..9fbfe44b553 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/UpdateCenterPayloadUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/UpdateCenterPayloadUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.SyncCenterPayloadsRepository import com.mifos.core.entity.center.CenterPayload import kotlinx.coroutines.channels.awaitClose diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/UpdateClientPinpointUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/UpdateClientPinpointUseCase.kt index 61e907b89e8..96244eeeffb 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/UpdateClientPinpointUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/UpdateClientPinpointUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.PinPointClientRepository import com.mifos.core.network.GenericResponse import kotlinx.coroutines.flow.Flow diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/UpdateGroupPayloadUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/UpdateGroupPayloadUseCase.kt index 931a02cefc6..aba32dfa627 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/UpdateGroupPayloadUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/UpdateGroupPayloadUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.SyncGroupPayloadsRepository import com.mifos.core.entity.group.GroupPayload import kotlinx.coroutines.channels.awaitClose diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/UpdateLoanRepaymentTransactionSavingsUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/UpdateLoanRepaymentTransactionSavingsUseCase.kt index 10e82069843..dc0bc6b2e25 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/UpdateLoanRepaymentTransactionSavingsUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/UpdateLoanRepaymentTransactionSavingsUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.SyncSavingsAccountTransactionRepository import com.mifos.core.entity.accounts.savings.SavingsAccountTransactionRequest import kotlinx.coroutines.channels.awaitClose diff --git a/core/domain/src/main/java/com/mifos/core/domain/useCases/UploadClientImageUseCase.kt b/core/domain/src/main/java/com/mifos/core/domain/useCases/UploadClientImageUseCase.kt index 57b03be6e55..8dcbe34cfef 100644 --- a/core/domain/src/main/java/com/mifos/core/domain/useCases/UploadClientImageUseCase.kt +++ b/core/domain/src/main/java/com/mifos/core/domain/useCases/UploadClientImageUseCase.kt @@ -9,7 +9,6 @@ */ package com.mifos.core.domain.useCases -import com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.ClientDetailsRepository import kotlinx.coroutines.channels.awaitClose import kotlinx.coroutines.flow.Flow diff --git a/core/common/src/main/java/com/mifos/core/common/utils/JsonExtension.kt b/core/model/src/commonMain/kotlin/com/mifos/core/model/objects/JsonExtension.kt similarity index 51% rename from core/common/src/main/java/com/mifos/core/common/utils/JsonExtension.kt rename to core/model/src/commonMain/kotlin/com/mifos/core/model/objects/JsonExtension.kt index 90a21b2e86b..7a15eae0cb0 100644 --- a/core/common/src/main/java/com/mifos/core/common/utils/JsonExtension.kt +++ b/core/model/src/commonMain/kotlin/com/mifos/core/model/objects/JsonExtension.kt @@ -7,12 +7,14 @@ * * See https://github.com/openMF/android-client/blob/master/LICENSE.md */ -package com.mifos.core.common.utils +package com.mifos.core.model.objects -import com.google.gson.Gson -import core.mifos.core.model.ServerConfig +import kotlin.text.replace -fun String.asServerConfig(): core.mifos.core.model.ServerConfig { - val jsonString = this.replace("'", "\"") - return Gson().fromJson(jsonString, core.mifos.core.model.ServerConfig::class.java) + +import kotlinx.serialization.json.Json + +fun String.asServerConfig(): ServerConfig { + val jsonString = this.replace("'", "\"") // Ensuring valid JSON + return Json.decodeFromString(jsonString) } diff --git a/core/common/src/main/java/com/mifos/core/common/utils/Page.kt b/core/model/src/commonMain/kotlin/com/mifos/core/model/objects/Page.kt similarity index 92% rename from core/common/src/main/java/com/mifos/core/common/utils/Page.kt rename to core/model/src/commonMain/kotlin/com/mifos/core/model/objects/Page.kt index 3a4ff42ab24..6bb86ec5795 100644 --- a/core/common/src/main/java/com/mifos/core/common/utils/Page.kt +++ b/core/model/src/commonMain/kotlin/com/mifos/core/model/objects/Page.kt @@ -7,7 +7,7 @@ * * See https://github.com/openMF/android-client/blob/master/LICENSE.md */ -package com.mifos.core.common.utils +package com.mifos.core.model.objects /** * Created by ishankhanna on 09/02/14. diff --git a/core/common/src/commonMain/kotlin/com/mifos/core/common/utils/ServerConfig.kt b/core/model/src/commonMain/kotlin/com/mifos/core/model/objects/ServerConfig.kt similarity index 84% rename from core/common/src/commonMain/kotlin/com/mifos/core/common/utils/ServerConfig.kt rename to core/model/src/commonMain/kotlin/com/mifos/core/model/objects/ServerConfig.kt index f0de6cbcc22..6075e52a5a0 100644 --- a/core/common/src/commonMain/kotlin/com/mifos/core/common/utils/ServerConfig.kt +++ b/core/model/src/commonMain/kotlin/com/mifos/core/model/objects/ServerConfig.kt @@ -7,7 +7,10 @@ * * See https://github.com/openMF/android-client/blob/master/LICENSE.md */ -package com.mifos.core.common.utils +package com.mifos.core.model.objects + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable @Serializable data class ServerConfig( diff --git a/core/common/src/main/java/com/mifos/core/common/enums/MifosAppLanguage.kt b/core/model/src/commonMain/kotlin/com/mifos/core/model/objects/enums/MifosAppLanguage.kt similarity index 92% rename from core/common/src/main/java/com/mifos/core/common/enums/MifosAppLanguage.kt rename to core/model/src/commonMain/kotlin/com/mifos/core/model/objects/enums/MifosAppLanguage.kt index 600c788746a..eece8efc0a7 100644 --- a/core/common/src/main/java/com/mifos/core/common/enums/MifosAppLanguage.kt +++ b/core/model/src/commonMain/kotlin/com/mifos/core/model/objects/enums/MifosAppLanguage.kt @@ -7,7 +7,10 @@ * * See https://github.com/openMF/android-client/blob/master/LICENSE.md */ -package com.mifos.core.common.enums +package com.mifos.core.model.objects.enums + +import kotlin.collections.find +import kotlin.text.equals enum class MifosAppLanguage(val code: String, val displayName: String) { diff --git a/core/network/src/main/java/com/mifos/core/network/BaseUrl.kt b/core/network/src/main/java/com/mifos/core/network/BaseUrl.kt index 7297ae829ab..8535aa96df0 100644 --- a/core/network/src/main/java/com/mifos/core/network/BaseUrl.kt +++ b/core/network/src/main/java/com/mifos/core/network/BaseUrl.kt @@ -10,7 +10,7 @@ package com.mifos.core.network import com.mifos.core.common.BuildConfig -import com.mifos.core.common.utils.asServerConfig +import asServerConfig /** * @author fomenkoo diff --git a/feature/activate/src/main/java/com/mifos/feature/activate/ActivateScreen.kt b/feature/activate/src/main/java/com/mifos/feature/activate/ActivateScreen.kt index 9244b1a208e..c0ba01ea218 100644 --- a/feature/activate/src/main/java/com/mifos/feature/activate/ActivateScreen.kt +++ b/feature/activate/src/main/java/com/mifos/feature/activate/ActivateScreen.kt @@ -47,7 +47,6 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import com.mifos.core.common.utils.Constants import com.mifos.core.designsystem.component.MifosCircularProgress import com.mifos.core.designsystem.component.MifosDatePickerTextField import com.mifos.core.designsystem.component.MifosScaffold diff --git a/feature/activate/src/main/java/com/mifos/feature/activate/ActivateViewModel.kt b/feature/activate/src/main/java/com/mifos/feature/activate/ActivateViewModel.kt index 6e28f82bb28..db85c9e9509 100644 --- a/feature/activate/src/main/java/com/mifos/feature/activate/ActivateViewModel.kt +++ b/feature/activate/src/main/java/com/mifos/feature/activate/ActivateViewModel.kt @@ -12,8 +12,6 @@ package com.mifos.feature.activate import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Constants -import com.mifos.core.common.utils.Resource import com.mifos.core.domain.useCases.ActivateCenterUseCase import com.mifos.core.domain.useCases.ActivateClientUseCase import com.mifos.core.domain.useCases.ActivateGroupUseCase diff --git a/feature/activate/src/main/java/com/mifos/feature/activate/navigation/ActivateNavigation.kt b/feature/activate/src/main/java/com/mifos/feature/activate/navigation/ActivateNavigation.kt index 7a18a0a4e19..0b99729ee15 100644 --- a/feature/activate/src/main/java/com/mifos/feature/activate/navigation/ActivateNavigation.kt +++ b/feature/activate/src/main/java/com/mifos/feature/activate/navigation/ActivateNavigation.kt @@ -14,7 +14,6 @@ import androidx.navigation.NavGraphBuilder import androidx.navigation.NavType import androidx.navigation.compose.composable import androidx.navigation.navArgument -import com.mifos.core.common.utils.Constants import com.mifos.feature.activate.ActivateScreen /** diff --git a/feature/activate/src/main/java/com/mifos/feature/activate/navigation/ActivateScreens.kt b/feature/activate/src/main/java/com/mifos/feature/activate/navigation/ActivateScreens.kt index 882c186dbad..2f90590c6d2 100644 --- a/feature/activate/src/main/java/com/mifos/feature/activate/navigation/ActivateScreens.kt +++ b/feature/activate/src/main/java/com/mifos/feature/activate/navigation/ActivateScreens.kt @@ -9,8 +9,6 @@ */ package com.mifos.feature.activate.navigation -import com.mifos.core.common.utils.Constants - /** * Created by Pronay Sarker on 18/08/2024 (1:40 PM) */ diff --git a/feature/auth/src/main/java/com/mifos/feature/auth/login/LoginViewModel.kt b/feature/auth/src/main/java/com/mifos/feature/auth/login/LoginViewModel.kt index 6e6fa2f0787..d7ade6f9db8 100644 --- a/feature/auth/src/main/java/com/mifos/feature/auth/login/LoginViewModel.kt +++ b/feature/auth/src/main/java/com/mifos/feature/auth/login/LoginViewModel.kt @@ -13,8 +13,7 @@ import android.content.Context import android.util.Log import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Network -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.datastore.PrefManager import com.mifos.core.domain.useCases.PasswordValidationUseCase import com.mifos.core.domain.useCases.UsernameValidationUseCase @@ -91,7 +90,7 @@ class LoginViewModel @Inject constructor( is Resource.Error -> { _loginUiState.value = LoginUiState.ShowError(R.string.feature_auth_error_login_failed) - Log.e("@@@", "login: ${result.message}") + Log.e("@@@", "login: ${Resource.message}") } is Resource.Loading -> { @@ -99,7 +98,7 @@ class LoginViewModel @Inject constructor( } is Resource.Success -> { - result.data?.let { onLoginSuccessful(it, username, password) } + Resource.data?.let { onLoginSuccessful(it, username, password) } } } } diff --git a/feature/center/src/main/java/com/mifos/feature/center/centerDetails/CenterDetailsScreen.kt b/feature/center/src/main/java/com/mifos/feature/center/centerDetails/CenterDetailsScreen.kt index defa1f19a04..a048a1ba45c 100644 --- a/feature/center/src/main/java/com/mifos/feature/center/centerDetails/CenterDetailsScreen.kt +++ b/feature/center/src/main/java/com/mifos/feature/center/centerDetails/CenterDetailsScreen.kt @@ -50,7 +50,6 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import com.mifos.core.common.utils.Utils import com.mifos.core.designsystem.component.MifosCircularProgress import com.mifos.core.designsystem.component.MifosMenuDropDownItem import com.mifos.core.designsystem.component.MifosScaffold diff --git a/feature/center/src/main/java/com/mifos/feature/center/centerDetails/CenterDetailsViewModel.kt b/feature/center/src/main/java/com/mifos/feature/center/centerDetails/CenterDetailsViewModel.kt index 83e555ee7d3..9c1a74ec1ba 100644 --- a/feature/center/src/main/java/com/mifos/feature/center/centerDetails/CenterDetailsViewModel.kt +++ b/feature/center/src/main/java/com/mifos/feature/center/centerDetails/CenterDetailsViewModel.kt @@ -12,8 +12,7 @@ package com.mifos.feature.center.centerDetails import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Constants -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.domain.useCases.GetCenterDetailsUseCase import com.mifos.core.objects.groups.CenterInfo import com.mifos.feature.center.R @@ -46,7 +45,7 @@ class CenterDetailsViewModel @Inject constructor( is Resource.Loading -> _centerDetailsUiState.value = CenterDetailsUiState.Loading is Resource.Success -> { - result.data?.let { + Resource.data?.let { _centerDetailsUiState.value = CenterDetailsUiState.CenterDetails( it.first, if (it.second.isNotEmpty()) it.second[0] else CenterInfo(), diff --git a/feature/center/src/main/java/com/mifos/feature/center/centerGroupList/GroupListViewModel.kt b/feature/center/src/main/java/com/mifos/feature/center/centerGroupList/GroupListViewModel.kt index 1f31a9cdbd1..a3506b0f2a4 100644 --- a/feature/center/src/main/java/com/mifos/feature/center/centerGroupList/GroupListViewModel.kt +++ b/feature/center/src/main/java/com/mifos/feature/center/centerGroupList/GroupListViewModel.kt @@ -12,8 +12,7 @@ package com.mifos.feature.center.centerGroupList import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Constants -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.domain.useCases.GetGroupsByCenterUseCase import com.mifos.core.domain.useCases.GetGroupsUseCase import com.mifos.feature.center.R @@ -52,7 +51,7 @@ class GroupListViewModel @Inject constructor( is Resource.Success -> _groupListUiState.value = - GroupListUiState.GroupList(result.data ?: CenterWithAssociations()) + GroupListUiState.GroupList(Resource.data ?: CenterWithAssociations()) } } } @@ -66,7 +65,7 @@ class GroupListViewModel @Inject constructor( is Resource.Loading -> _groupListUiState.value = GroupListUiState.Loading - is Resource.Success -> _groupAssociationState.value = result.data + is Resource.Success -> _groupAssociationState.value = Resource.data } } } diff --git a/feature/center/src/main/java/com/mifos/feature/center/centerList/ui/CenterListViewModel.kt b/feature/center/src/main/java/com/mifos/feature/center/centerList/ui/CenterListViewModel.kt index 3af23f94def..0847368cded 100644 --- a/feature/center/src/main/java/com/mifos/feature/center/centerList/ui/CenterListViewModel.kt +++ b/feature/center/src/main/java/com/mifos/feature/center/centerList/ui/CenterListViewModel.kt @@ -11,7 +11,7 @@ package com.mifos.feature.center.centerList.ui import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.CenterListRepository import com.mifos.core.datastore.PrefManager import com.mifos.core.domain.useCases.GetCenterListDbUseCase @@ -67,7 +67,7 @@ class CenterListViewModel @Inject constructor( is Resource.Success -> _centerListUiState.value = - CenterListUiState.CenterListDb(result.data ?: emptyList()) + CenterListUiState.CenterListDb(Resource.data ?: emptyList()) } } } diff --git a/feature/center/src/main/java/com/mifos/feature/center/createCenter/CreateNewCenterViewModel.kt b/feature/center/src/main/java/com/mifos/feature/center/createCenter/CreateNewCenterViewModel.kt index a3583d40f5a..dccd6caf738 100644 --- a/feature/center/src/main/java/com/mifos/feature/center/createCenter/CreateNewCenterViewModel.kt +++ b/feature/center/src/main/java/com/mifos/feature/center/createCenter/CreateNewCenterViewModel.kt @@ -11,7 +11,7 @@ package com.mifos.feature.center.createCenter import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.domain.useCases.CreateNewCenterUseCase import com.mifos.core.domain.useCases.GetOfficeListUseCase import com.mifos.core.entity.center.CenterPayload @@ -46,7 +46,7 @@ class CreateNewCenterViewModel @Inject constructor( is Resource.Success -> _createNewCenterUiState.value = - CreateNewCenterUiState.Offices(result.data ?: emptyList()) + CreateNewCenterUiState.Offices(Resource.data ?: emptyList()) } } } diff --git a/feature/center/src/main/java/com/mifos/feature/center/navigation/CenterNavigation.kt b/feature/center/src/main/java/com/mifos/feature/center/navigation/CenterNavigation.kt index fd270ef825f..e1c1cf1fa3a 100644 --- a/feature/center/src/main/java/com/mifos/feature/center/navigation/CenterNavigation.kt +++ b/feature/center/src/main/java/com/mifos/feature/center/navigation/CenterNavigation.kt @@ -16,7 +16,6 @@ import androidx.navigation.NavType import androidx.navigation.compose.composable import androidx.navigation.navArgument import androidx.navigation.navigation -import com.mifos.core.common.utils.Constants import com.mifos.core.entity.client.Client import com.mifos.feature.center.centerDetails.CenterDetailsScreen import com.mifos.feature.center.centerGroupList.GroupListScreen diff --git a/feature/center/src/main/java/com/mifos/feature/center/navigation/CenterScreens.kt b/feature/center/src/main/java/com/mifos/feature/center/navigation/CenterScreens.kt index 648d8d5117d..682ce8348ee 100644 --- a/feature/center/src/main/java/com/mifos/feature/center/navigation/CenterScreens.kt +++ b/feature/center/src/main/java/com/mifos/feature/center/navigation/CenterScreens.kt @@ -9,7 +9,6 @@ */ package com.mifos.feature.center.navigation -import com.mifos.core.common.utils.Constants sealed class CenterScreens(val route: String) { data object CenterListScreen : CenterScreens("center_list_screen") diff --git a/feature/center/src/main/java/com/mifos/feature/center/syncCentersDialog/SyncCentersDialogViewModel.kt b/feature/center/src/main/java/com/mifos/feature/center/syncCentersDialog/SyncCentersDialogViewModel.kt index 16249a1583e..b4a2b4c2a5f 100644 --- a/feature/center/src/main/java/com/mifos/feature/center/syncCentersDialog/SyncCentersDialogViewModel.kt +++ b/feature/center/src/main/java/com/mifos/feature/center/syncCentersDialog/SyncCentersDialogViewModel.kt @@ -11,8 +11,6 @@ package com.mifos.feature.center.syncCentersDialog import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Constants -import com.mifos.core.common.utils.NetworkUtilsWrapper import com.mifos.core.data.repository.SyncCentersDialogRepository import com.mifos.core.datastore.PrefManager import com.mifos.core.designsystem.icon.MifosIcons diff --git a/feature/checker-inbox-task/src/main/java/com/mifos/feature/checkerInboxTask/checkerInbox/CheckerInboxViewModel.kt b/feature/checker-inbox-task/src/main/java/com/mifos/feature/checkerInboxTask/checkerInbox/CheckerInboxViewModel.kt index 5a75ab3930e..f1aaff066f4 100644 --- a/feature/checker-inbox-task/src/main/java/com/mifos/feature/checkerInboxTask/checkerInbox/CheckerInboxViewModel.kt +++ b/feature/checker-inbox-task/src/main/java/com/mifos/feature/checkerInboxTask/checkerInbox/CheckerInboxViewModel.kt @@ -11,7 +11,7 @@ package com.mifos.feature.checkerInboxTask.checkerInbox import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.domain.useCases.ApproveCheckerUseCase import com.mifos.core.domain.useCases.DeleteCheckerUseCase import com.mifos.core.domain.useCases.GetCheckerTasksUseCase @@ -51,7 +51,7 @@ class CheckerInboxViewModel @Inject constructor( is Resource.Success -> _checkerInboxUiState.value = - CheckerInboxUiState.CheckerTasksList(result.data ?: emptyList()) + CheckerInboxUiState.CheckerTasksList(Resource.data ?: emptyList()) } } } diff --git a/feature/checker-inbox-task/src/main/java/com/mifos/feature/checkerInboxTask/checkerInboxTasks/CheckerInboxTasksViewModel.kt b/feature/checker-inbox-task/src/main/java/com/mifos/feature/checkerInboxTask/checkerInboxTasks/CheckerInboxTasksViewModel.kt index 74bbe77bf1e..ca39b78ac71 100644 --- a/feature/checker-inbox-task/src/main/java/com/mifos/feature/checkerInboxTask/checkerInboxTasks/CheckerInboxTasksViewModel.kt +++ b/feature/checker-inbox-task/src/main/java/com/mifos/feature/checkerInboxTask/checkerInboxTasks/CheckerInboxTasksViewModel.kt @@ -11,7 +11,7 @@ package com.mifos.feature.checkerInboxTask.checkerInboxTasks import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.domain.useCases.GetCheckerInboxBadgesUseCase import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.Dispatchers @@ -48,7 +48,7 @@ class CheckerInboxTasksViewModel @Inject constructor( when (result) { is Resource.Error -> { _checkerInboxTasksUiState.value = - CheckerInboxTasksUiState.Error(result.message.toString()) + CheckerInboxTasksUiState.Error(Resource.message.toString()) } is Resource.Loading -> { @@ -57,8 +57,8 @@ class CheckerInboxTasksViewModel @Inject constructor( is Resource.Success -> { _checkerInboxTasksUiState.value = CheckerInboxTasksUiState.Success( - result.data?.first.toString(), - result.data?.second.toString(), + Resource.data?.first.toString(), + Resource.data?.second.toString(), ) } } diff --git a/feature/client/src/main/java/com/mifos/feature/client/clientChargeDialog/ChargeDialogViewModel.kt b/feature/client/src/main/java/com/mifos/feature/client/clientChargeDialog/ChargeDialogViewModel.kt index 5352388a9ff..addecff2b89 100644 --- a/feature/client/src/main/java/com/mifos/feature/client/clientChargeDialog/ChargeDialogViewModel.kt +++ b/feature/client/src/main/java/com/mifos/feature/client/clientChargeDialog/ChargeDialogViewModel.kt @@ -11,7 +11,7 @@ package com.mifos.feature.client.clientChargeDialog import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.domain.useCases.CreateChargesUseCase import com.mifos.core.domain.useCases.GetAllChargesV2UseCase import com.mifos.core.objects.template.client.ChargeTemplate @@ -46,7 +46,7 @@ class ChargeDialogViewModel @Inject constructor( is Resource.Success -> _chargeDialogUiState.value = ChargeDialogUiState.AllChargesV2( - result.data ?: ChargeTemplate( + Resource.data ?: ChargeTemplate( false, emptyList(), ), diff --git a/feature/client/src/main/java/com/mifos/feature/client/clientCharges/ClientChargesViewModel.kt b/feature/client/src/main/java/com/mifos/feature/client/clientCharges/ClientChargesViewModel.kt index cbd7d900835..bdf5357406c 100644 --- a/feature/client/src/main/java/com/mifos/feature/client/clientCharges/ClientChargesViewModel.kt +++ b/feature/client/src/main/java/com/mifos/feature/client/clientCharges/ClientChargesViewModel.kt @@ -12,7 +12,6 @@ package com.mifos.feature.client.clientCharges import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Constants import com.mifos.core.data.repository.ClientChargeRepository import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.Dispatchers diff --git a/feature/client/src/main/java/com/mifos/feature/client/clientDetails/ui/ClientDetailsScreen.kt b/feature/client/src/main/java/com/mifos/feature/client/clientDetails/ui/ClientDetailsScreen.kt index 4c455154145..d66ede2f8ca 100644 --- a/feature/client/src/main/java/com/mifos/feature/client/clientDetails/ui/ClientDetailsScreen.kt +++ b/feature/client/src/main/java/com/mifos/feature/client/clientDetails/ui/ClientDetailsScreen.kt @@ -94,7 +94,6 @@ import coil.compose.AsyncImage import com.google.accompanist.permissions.ExperimentalPermissionsApi import com.google.accompanist.permissions.isGranted import com.google.accompanist.permissions.rememberMultiplePermissionsState -import com.mifos.core.common.utils.Utils import com.mifos.core.designsystem.component.MifosCircularProgress import com.mifos.core.designsystem.component.MifosMenuDropDownItem import com.mifos.core.designsystem.component.MifosScaffold diff --git a/feature/client/src/main/java/com/mifos/feature/client/clientDetails/ui/ClientDetailsViewModel.kt b/feature/client/src/main/java/com/mifos/feature/client/clientDetails/ui/ClientDetailsViewModel.kt index 7348fb0c694..c9cfb61688a 100644 --- a/feature/client/src/main/java/com/mifos/feature/client/clientDetails/ui/ClientDetailsViewModel.kt +++ b/feature/client/src/main/java/com/mifos/feature/client/clientDetails/ui/ClientDetailsViewModel.kt @@ -15,8 +15,7 @@ import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import coil.request.ImageResult -import com.mifos.core.common.utils.Constants -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.domain.useCases.DeleteClientImageUseCase import com.mifos.core.domain.useCases.GetClientDetailsUseCase import com.mifos.core.domain.useCases.UploadClientImageUseCase @@ -93,7 +92,7 @@ class ClientDetailsViewModel @Inject constructor( when (result) { is Resource.Error -> { _clientDetailsUiState.value = - ClientDetailsUiState.ShowError(result.message ?: "Unexpected error") + ClientDetailsUiState.ShowError(Resource.message ?: "Unexpected error") _showLoading.value = false } @@ -113,16 +112,16 @@ class ClientDetailsViewModel @Inject constructor( when (result) { is Resource.Error -> { _clientDetailsUiState.value = - ClientDetailsUiState.ShowError(result.message.toString()) + ClientDetailsUiState.ShowError(Resource.message.toString()) _showLoading.value = false } is Resource.Loading -> _showLoading.value = true is Resource.Success -> { - _client.value = result.data?.client - loanAccounts.value = result.data?.clientAccounts?.loanAccounts - _savingsAccounts.value = result.data?.clientAccounts?.savingsAccounts + _client.value = Resource.data?.client + loanAccounts.value = Resource.data?.clientAccounts?.loanAccounts + _savingsAccounts.value = Resource.data?.clientAccounts?.savingsAccounts _showLoading.value = false } } diff --git a/feature/client/src/main/java/com/mifos/feature/client/clientIdentifiers/ClientIdentifiersViewModel.kt b/feature/client/src/main/java/com/mifos/feature/client/clientIdentifiers/ClientIdentifiersViewModel.kt index c9aa0332c28..36c200fccf0 100644 --- a/feature/client/src/main/java/com/mifos/feature/client/clientIdentifiers/ClientIdentifiersViewModel.kt +++ b/feature/client/src/main/java/com/mifos/feature/client/clientIdentifiers/ClientIdentifiersViewModel.kt @@ -12,8 +12,7 @@ package com.mifos.feature.client.clientIdentifiers import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Constants -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.domain.useCases.DeleteIdentifierUseCase import com.mifos.core.domain.useCases.GetClientIdentifiersUseCase import com.mifos.feature.client.R @@ -61,7 +60,7 @@ class ClientIdentifiersViewModel @Inject constructor( is Resource.Success -> _clientIdentifiersUiState.value = - ClientIdentifiersUiState.ClientIdentifiers(result.data ?: emptyList()) + ClientIdentifiersUiState.ClientIdentifiers(Resource.data ?: emptyList()) } } } diff --git a/feature/client/src/main/java/com/mifos/feature/client/clientIdentifiersDialog/ClientIdentifiersDialogViewModel.kt b/feature/client/src/main/java/com/mifos/feature/client/clientIdentifiersDialog/ClientIdentifiersDialogViewModel.kt index 55f8407b202..ffcaf77764c 100644 --- a/feature/client/src/main/java/com/mifos/feature/client/clientIdentifiersDialog/ClientIdentifiersDialogViewModel.kt +++ b/feature/client/src/main/java/com/mifos/feature/client/clientIdentifiersDialog/ClientIdentifiersDialogViewModel.kt @@ -11,7 +11,7 @@ package com.mifos.feature.client.clientIdentifiersDialog import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.domain.useCases.CreateClientIdentifierUseCase import com.mifos.core.domain.useCases.GetClientIdentifierTemplateUseCase import com.mifos.core.objects.noncoreobjects.IdentifierPayload @@ -48,7 +48,7 @@ class ClientIdentifiersDialogViewModel @Inject constructor( is Resource.Success -> _clientIdentifierDialogUiState.value = ClientIdentifierDialogUiState.ClientIdentifierTemplate( - result.data ?: IdentifierTemplate(), + Resource.data ?: IdentifierTemplate(), ) } } diff --git a/feature/client/src/main/java/com/mifos/feature/client/clientPinpoint/PinPointClientViewModel.kt b/feature/client/src/main/java/com/mifos/feature/client/clientPinpoint/PinPointClientViewModel.kt index 377e1f3d406..941545a12e7 100644 --- a/feature/client/src/main/java/com/mifos/feature/client/clientPinpoint/PinPointClientViewModel.kt +++ b/feature/client/src/main/java/com/mifos/feature/client/clientPinpoint/PinPointClientViewModel.kt @@ -12,7 +12,7 @@ package com.mifos.feature.client.clientPinpoint import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.domain.useCases.AddClientPinpointLocationUseCase import com.mifos.core.domain.useCases.DeleteClientAddressPinpointUseCase import com.mifos.core.domain.useCases.GetClientPinpointLocationsUseCase @@ -64,10 +64,10 @@ class PinPointClientViewModel @Inject constructor( is Resource.Success -> _pinPointClientUiState.value = - if (result.data.isNullOrEmpty()) { + if (Resource.data.isNullOrEmpty()) { PinPointClientUiState.Error(R.string.feature_client_no_pinpoint_found) } else { - PinPointClientUiState.ClientPinpointLocations(result.data ?: emptyList()) + PinPointClientUiState.ClientPinpointLocations(Resource.data ?: emptyList()) } } } diff --git a/feature/client/src/main/java/com/mifos/feature/client/clientSignature/SignatureScreen.kt b/feature/client/src/main/java/com/mifos/feature/client/clientSignature/SignatureScreen.kt index 63b7a5fce3e..04486a8af30 100644 --- a/feature/client/src/main/java/com/mifos/feature/client/clientSignature/SignatureScreen.kt +++ b/feature/client/src/main/java/com/mifos/feature/client/clientSignature/SignatureScreen.kt @@ -51,7 +51,6 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.core.graphics.applyCanvas import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import com.mifos.core.common.utils.Constants import com.mifos.core.designsystem.component.MifosCircularProgress import com.mifos.core.designsystem.component.MifosDrawingCanvas import com.mifos.core.designsystem.component.MifosScaffold diff --git a/feature/client/src/main/java/com/mifos/feature/client/clientSignature/SignatureViewModel.kt b/feature/client/src/main/java/com/mifos/feature/client/clientSignature/SignatureViewModel.kt index 8a79cd264cc..cd2d1cee30d 100644 --- a/feature/client/src/main/java/com/mifos/feature/client/clientSignature/SignatureViewModel.kt +++ b/feature/client/src/main/java/com/mifos/feature/client/clientSignature/SignatureViewModel.kt @@ -12,8 +12,6 @@ package com.mifos.feature.client.clientSignature import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Constants -import com.mifos.core.common.utils.Resource import com.mifos.core.domain.useCases.CreateDocumentUseCase import com.mifos.feature.client.R import dagger.hilt.android.lifecycle.HiltViewModel diff --git a/feature/client/src/main/java/com/mifos/feature/client/clientSurveySubmit/SurveySubmitViewModel.kt b/feature/client/src/main/java/com/mifos/feature/client/clientSurveySubmit/SurveySubmitViewModel.kt index af39cb3b539..e2e091e7223 100644 --- a/feature/client/src/main/java/com/mifos/feature/client/clientSurveySubmit/SurveySubmitViewModel.kt +++ b/feature/client/src/main/java/com/mifos/feature/client/clientSurveySubmit/SurveySubmitViewModel.kt @@ -11,7 +11,6 @@ package com.mifos.feature.client.clientSurveySubmit import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel -import com.mifos.core.common.utils.Constants import com.mifos.core.data.repository.SurveySubmitRepository import com.mifos.core.datastore.PrefManager import com.mifos.core.objects.surveys.Scorecard diff --git a/feature/client/src/main/java/com/mifos/feature/client/createNewClient/CreateNewClientViewModel.kt b/feature/client/src/main/java/com/mifos/feature/client/createNewClient/CreateNewClientViewModel.kt index 298d5f6479c..801acc9e9e1 100644 --- a/feature/client/src/main/java/com/mifos/feature/client/createNewClient/CreateNewClientViewModel.kt +++ b/feature/client/src/main/java/com/mifos/feature/client/createNewClient/CreateNewClientViewModel.kt @@ -12,7 +12,7 @@ package com.mifos.feature.client.createNewClient import android.util.Log import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.CreateNewClientRepository import com.mifos.core.domain.useCases.GetOfficeListUseCase import com.mifos.core.domain.useCases.GetStaffInOfficeForCreateNewClientUseCase @@ -92,7 +92,7 @@ class CreateNewClientViewModel @Inject constructor( } is Resource.Success -> { - _showOffices.value = result.data ?: emptyList() + _showOffices.value = Resource.data ?: emptyList() } } } @@ -108,7 +108,7 @@ class CreateNewClientViewModel @Inject constructor( is Resource.Loading -> Unit - is Resource.Success -> _staffInOffices.value = result.data ?: emptyList() + is Resource.Success -> _staffInOffices.value = Resource.data ?: emptyList() } } } diff --git a/feature/client/src/main/java/com/mifos/feature/client/navigation/ClientNavigation.kt b/feature/client/src/main/java/com/mifos/feature/client/navigation/ClientNavigation.kt index 56461fda90d..5d5c99d1317 100644 --- a/feature/client/src/main/java/com/mifos/feature/client/navigation/ClientNavigation.kt +++ b/feature/client/src/main/java/com/mifos/feature/client/navigation/ClientNavigation.kt @@ -16,7 +16,6 @@ import androidx.navigation.NavType import androidx.navigation.compose.composable import androidx.navigation.navArgument import androidx.navigation.navigation -import com.mifos.core.common.utils.Constants import com.mifos.core.entity.accounts.savings.DepositType import com.mifos.core.entity.client.ClientPayload import com.mifos.core.entity.noncore.DataTable diff --git a/feature/client/src/main/java/com/mifos/feature/client/navigation/ClientScreens.kt b/feature/client/src/main/java/com/mifos/feature/client/navigation/ClientScreens.kt index 45e763e30cf..6ace46c941b 100644 --- a/feature/client/src/main/java/com/mifos/feature/client/navigation/ClientScreens.kt +++ b/feature/client/src/main/java/com/mifos/feature/client/navigation/ClientScreens.kt @@ -9,8 +9,6 @@ */ package com.mifos.feature.client.navigation -import com.mifos.core.common.utils.Constants - sealed class ClientScreens(val route: String) { data object ClientListScreen : ClientScreens("client_list_screen") diff --git a/feature/client/src/main/java/com/mifos/feature/client/syncClientDialog/SyncClientsDialogViewModel.kt b/feature/client/src/main/java/com/mifos/feature/client/syncClientDialog/SyncClientsDialogViewModel.kt index 91ac6b6a96e..be2e75659de 100644 --- a/feature/client/src/main/java/com/mifos/feature/client/syncClientDialog/SyncClientsDialogViewModel.kt +++ b/feature/client/src/main/java/com/mifos/feature/client/syncClientDialog/SyncClientsDialogViewModel.kt @@ -11,8 +11,6 @@ package com.mifos.feature.client.syncClientDialog import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Constants -import com.mifos.core.common.utils.NetworkUtilsWrapper import com.mifos.core.data.repository.SyncClientsDialogRepository import com.mifos.core.datastore.PrefManager import com.mifos.core.designsystem.icon.MifosIcons diff --git a/feature/collectionSheet/src/main/java/com/mifos/feature/individualCollectionSheet/generateCollectionSheet/GenerateCollectionSheetViewModel.kt b/feature/collectionSheet/src/main/java/com/mifos/feature/individualCollectionSheet/generateCollectionSheet/GenerateCollectionSheetViewModel.kt index 69c08d85c46..e26433264b4 100644 --- a/feature/collectionSheet/src/main/java/com/mifos/feature/individualCollectionSheet/generateCollectionSheet/GenerateCollectionSheetViewModel.kt +++ b/feature/collectionSheet/src/main/java/com/mifos/feature/individualCollectionSheet/generateCollectionSheet/GenerateCollectionSheetViewModel.kt @@ -11,8 +11,7 @@ package com.mifos.feature.individualCollectionSheet.generateCollectionSheet import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Constants -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.domain.useCases.FetchCenterDetailsUseCase import com.mifos.core.domain.useCases.FetchCollectionSheetUseCase import com.mifos.core.domain.useCases.FetchProductiveCollectionSheetUseCase @@ -88,10 +87,10 @@ class GenerateCollectionSheetViewModel @Inject constructor( GenerateCollectionSheetUiState.Loading is Resource.Success -> { - _officeListState.value = result.data ?: emptyList() - if (result.data?.isNotEmpty() == true) { + _officeListState.value = Resource.data ?: emptyList() + if (Resource.data?.isNotEmpty() == true) { loadStaffInOffice( - result.data?.get(0)?.id ?: -1, + Resource.data?.get(0)?.id ?: -1, ) } } @@ -111,15 +110,15 @@ class GenerateCollectionSheetViewModel @Inject constructor( is Resource.Loading -> Unit is Resource.Success -> { - _staffListState.value = result.data ?: emptyList() - if (result.data?.isNotEmpty() == true) { + _staffListState.value = Resource.data ?: emptyList() + if (Resource.data?.isNotEmpty() == true) { loadCentersInOffice( officeId, - result.data?.get(0)?.id ?: -1, + Resource.data?.get(0)?.id ?: -1, ) loadGroupsInOffice( officeId, - result.data?.get(0)?.id ?: -1, + Resource.data?.get(0)?.id ?: -1, ) } } @@ -147,7 +146,7 @@ class GenerateCollectionSheetViewModel @Inject constructor( is Resource.Loading -> Unit is Resource.Success -> { - _centerListState.value = result.data ?: emptyList() + _centerListState.value = Resource.data ?: emptyList() } } } @@ -172,7 +171,7 @@ class GenerateCollectionSheetViewModel @Inject constructor( is Resource.Loading -> Unit is Resource.Success -> { - _groupListState.value = result.data ?: emptyList() + _groupListState.value = Resource.data ?: emptyList() _generateCollectionSheetUiState.value = GenerateCollectionSheetUiState.Success } @@ -201,7 +200,7 @@ class GenerateCollectionSheetViewModel @Inject constructor( is Resource.Loading -> Unit - is Resource.Success -> _centerDetailsState.value = result.data + is Resource.Success -> _centerDetailsState.value = Resource.data } } } @@ -220,7 +219,7 @@ class GenerateCollectionSheetViewModel @Inject constructor( is Resource.Loading -> Unit - is Resource.Success -> _collectionSheetState.value = it.data + is Resource.Success -> _collectionSheetState.value = Resource.data } } } @@ -239,7 +238,7 @@ class GenerateCollectionSheetViewModel @Inject constructor( is Resource.Loading -> Unit - is Resource.Success -> _collectionSheetState.value = it.data + is Resource.Success -> _collectionSheetState.value = Resource.data } } } diff --git a/feature/collectionSheet/src/main/java/com/mifos/feature/individualCollectionSheet/individualCollectionSheetDetails/IndividualCollectionSheetDetailsViewModel.kt b/feature/collectionSheet/src/main/java/com/mifos/feature/individualCollectionSheet/individualCollectionSheetDetails/IndividualCollectionSheetDetailsViewModel.kt index a4ab2e1bd16..5f527efa3dc 100644 --- a/feature/collectionSheet/src/main/java/com/mifos/feature/individualCollectionSheet/individualCollectionSheetDetails/IndividualCollectionSheetDetailsViewModel.kt +++ b/feature/collectionSheet/src/main/java/com/mifos/feature/individualCollectionSheet/individualCollectionSheetDetails/IndividualCollectionSheetDetailsViewModel.kt @@ -13,8 +13,6 @@ import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.google.gson.Gson -import com.mifos.core.common.utils.Constants -import com.mifos.core.common.utils.Resource import com.mifos.core.domain.useCases.SaveIndividualCollectionSheetUseCase import com.mifos.core.network.model.IndividualCollectionSheetPayload import com.mifos.core.objects.collectionsheets.LoanAndClientName diff --git a/feature/collectionSheet/src/main/java/com/mifos/feature/individualCollectionSheet/navigation/CollectionSheetNavigation.kt b/feature/collectionSheet/src/main/java/com/mifos/feature/individualCollectionSheet/navigation/CollectionSheetNavigation.kt index dd058facc72..0e2ff87a6a3 100644 --- a/feature/collectionSheet/src/main/java/com/mifos/feature/individualCollectionSheet/navigation/CollectionSheetNavigation.kt +++ b/feature/collectionSheet/src/main/java/com/mifos/feature/individualCollectionSheet/navigation/CollectionSheetNavigation.kt @@ -16,7 +16,6 @@ import androidx.navigation.compose.composable import androidx.navigation.navArgument import androidx.navigation.navigation import com.google.gson.Gson -import com.mifos.core.common.utils.Constants import com.mifos.core.network.model.IndividualCollectionSheetPayload import com.mifos.core.objects.collectionsheets.LoanAndClientName import com.mifos.feature.individualCollectionSheet.generateCollectionSheet.GenerateCollectionSheetScreen diff --git a/feature/collectionSheet/src/main/java/com/mifos/feature/individualCollectionSheet/navigation/CollectionSheetScreens.kt b/feature/collectionSheet/src/main/java/com/mifos/feature/individualCollectionSheet/navigation/CollectionSheetScreens.kt index 8d8bafa16d1..b406ec460c1 100644 --- a/feature/collectionSheet/src/main/java/com/mifos/feature/individualCollectionSheet/navigation/CollectionSheetScreens.kt +++ b/feature/collectionSheet/src/main/java/com/mifos/feature/individualCollectionSheet/navigation/CollectionSheetScreens.kt @@ -10,7 +10,6 @@ package com.mifos.feature.individualCollectionSheet.navigation import com.google.gson.Gson -import com.mifos.core.common.utils.Constants import com.mifos.room.entities.collectionsheet.IndividualCollectionSheet /** diff --git a/feature/collectionSheet/src/main/java/com/mifos/feature/individualCollectionSheet/newIndividualCollectionSheet/ui/NewIndividualCollectionSheetViewModel.kt b/feature/collectionSheet/src/main/java/com/mifos/feature/individualCollectionSheet/newIndividualCollectionSheet/ui/NewIndividualCollectionSheetViewModel.kt index 8c2b225ad3b..b38d13bc9ff 100644 --- a/feature/collectionSheet/src/main/java/com/mifos/feature/individualCollectionSheet/newIndividualCollectionSheet/ui/NewIndividualCollectionSheetViewModel.kt +++ b/feature/collectionSheet/src/main/java/com/mifos/feature/individualCollectionSheet/newIndividualCollectionSheet/ui/NewIndividualCollectionSheetViewModel.kt @@ -11,7 +11,7 @@ package com.mifos.feature.individualCollectionSheet.newIndividualCollectionSheet import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.domain.useCases.GetIndividualCollectionSheetUseCase import com.mifos.core.domain.useCases.GetOfficeListUseCase import com.mifos.core.domain.useCases.GetStaffInOfficeUseCase @@ -47,7 +47,7 @@ class NewIndividualCollectionSheetViewModel @Inject constructor( is Resource.Error -> { _newIndividualCollectionSheetUiState.value = _newIndividualCollectionSheetUiState.value.copy( - error = result.message, + error = Resource.message, ) } @@ -62,7 +62,7 @@ class NewIndividualCollectionSheetViewModel @Inject constructor( _newIndividualCollectionSheetUiState.value = _newIndividualCollectionSheetUiState.value.copy( isLoading = false, - officeList = result.data ?: emptyList(), + officeList = Resource.data ?: emptyList(), ) } } @@ -75,7 +75,7 @@ class NewIndividualCollectionSheetViewModel @Inject constructor( is Resource.Error -> { _newIndividualCollectionSheetUiState.value = _newIndividualCollectionSheetUiState.value.copy( - error = result.message, + error = Resource.message, ) } @@ -85,7 +85,7 @@ class NewIndividualCollectionSheetViewModel @Inject constructor( is Resource.Success -> { _newIndividualCollectionSheetUiState.value = _newIndividualCollectionSheetUiState.value.copy( - staffList = result.data ?: emptyList(), + staffList = Resource.data ?: emptyList(), ) } } @@ -99,7 +99,7 @@ class NewIndividualCollectionSheetViewModel @Inject constructor( is Resource.Error -> { _newIndividualCollectionSheetUiState.value = _newIndividualCollectionSheetUiState.value.copy( - error = result.message, + error = Resource.message, ) } @@ -109,7 +109,7 @@ class NewIndividualCollectionSheetViewModel @Inject constructor( is Resource.Success -> { _newIndividualCollectionSheetUiState.value = _newIndividualCollectionSheetUiState.value.copy( - individualCollectionSheet = result.data + individualCollectionSheet = Resource.data ?: IndividualCollectionSheet(), ) } diff --git a/feature/collectionSheet/src/main/java/com/mifos/feature/individualCollectionSheet/paymentDetails/PaymentDetailsViewModel.kt b/feature/collectionSheet/src/main/java/com/mifos/feature/individualCollectionSheet/paymentDetails/PaymentDetailsViewModel.kt index 3f25e78e988..e0777debadf 100644 --- a/feature/collectionSheet/src/main/java/com/mifos/feature/individualCollectionSheet/paymentDetails/PaymentDetailsViewModel.kt +++ b/feature/collectionSheet/src/main/java/com/mifos/feature/individualCollectionSheet/paymentDetails/PaymentDetailsViewModel.kt @@ -14,7 +14,6 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import coil.request.ImageResult import com.google.gson.Gson -import com.mifos.core.common.utils.Constants import com.mifos.core.network.model.IndividualCollectionSheetPayload import com.mifos.core.network.utils.ImageLoaderUtils import com.mifos.core.objects.collectionsheets.LoanAndClientName diff --git a/feature/data-table/src/main/java/com/mifos/feature/dataTable/dataTable/DataTableViewModel.kt b/feature/data-table/src/main/java/com/mifos/feature/dataTable/dataTable/DataTableViewModel.kt index 7a74c9e2aed..39145c942ce 100644 --- a/feature/data-table/src/main/java/com/mifos/feature/dataTable/dataTable/DataTableViewModel.kt +++ b/feature/data-table/src/main/java/com/mifos/feature/dataTable/dataTable/DataTableViewModel.kt @@ -13,7 +13,6 @@ import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.google.gson.Gson -import com.mifos.core.common.utils.Constants import com.mifos.core.data.repository.DataTableRepository import com.mifos.core.objects.nav.DataTableNavigationArg import dagger.hilt.android.lifecycle.HiltViewModel diff --git a/feature/data-table/src/main/java/com/mifos/feature/dataTable/dataTableData/DataTableDataViewModel.kt b/feature/data-table/src/main/java/com/mifos/feature/dataTable/dataTableData/DataTableDataViewModel.kt index 7c6bd197519..2e49b1af171 100644 --- a/feature/data-table/src/main/java/com/mifos/feature/dataTable/dataTableData/DataTableDataViewModel.kt +++ b/feature/data-table/src/main/java/com/mifos/feature/dataTable/dataTableData/DataTableDataViewModel.kt @@ -14,8 +14,7 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.google.gson.Gson import com.google.gson.JsonArray -import com.mifos.core.common.utils.Constants -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.domain.useCases.DeleteDataTableEntryUseCase import com.mifos.core.domain.useCases.GetDataTableInfoUseCase import com.mifos.feature.data_table.R @@ -66,7 +65,7 @@ class DataTableDataViewModel @Inject constructor( is Resource.Success -> _dataTableDataUiState.value = - DataTableDataUiState.DataTableInfo(result.data ?: JsonArray()) + DataTableDataUiState.DataTableInfo(Resource.data ?: JsonArray()) } } } diff --git a/feature/data-table/src/main/java/com/mifos/feature/dataTable/dataTableList/DataTableListViewModel.kt b/feature/data-table/src/main/java/com/mifos/feature/dataTable/dataTableList/DataTableListViewModel.kt index 875876bbfd0..10ff28b8167 100644 --- a/feature/data-table/src/main/java/com/mifos/feature/dataTable/dataTableList/DataTableListViewModel.kt +++ b/feature/data-table/src/main/java/com/mifos/feature/dataTable/dataTableList/DataTableListViewModel.kt @@ -12,7 +12,6 @@ package com.mifos.feature.dataTable.dataTableList import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import com.google.gson.Gson -import com.mifos.core.common.utils.Constants import com.mifos.core.data.repository.DataTableListRepository import com.mifos.core.datastore.PrefManager import com.mifos.core.entity.accounts.loan.Loans diff --git a/feature/data-table/src/main/java/com/mifos/feature/dataTable/dataTableRowDialog/DataTableRowDialogViewModel.kt b/feature/data-table/src/main/java/com/mifos/feature/dataTable/dataTableRowDialog/DataTableRowDialogViewModel.kt index 85120a278b5..fab39594c0e 100644 --- a/feature/data-table/src/main/java/com/mifos/feature/dataTable/dataTableRowDialog/DataTableRowDialogViewModel.kt +++ b/feature/data-table/src/main/java/com/mifos/feature/dataTable/dataTableRowDialog/DataTableRowDialogViewModel.kt @@ -11,7 +11,6 @@ package com.mifos.feature.dataTable.dataTableRowDialog import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Resource import com.mifos.core.domain.useCases.AddDataTableEntryUseCase import com.mifos.feature.data_table.R import dagger.hilt.android.lifecycle.HiltViewModel diff --git a/feature/data-table/src/main/java/com/mifos/feature/dataTable/navigation/DataTableNavigation.kt b/feature/data-table/src/main/java/com/mifos/feature/dataTable/navigation/DataTableNavigation.kt index 5ff83b1fb53..f53834c3bcb 100644 --- a/feature/data-table/src/main/java/com/mifos/feature/dataTable/navigation/DataTableNavigation.kt +++ b/feature/data-table/src/main/java/com/mifos/feature/dataTable/navigation/DataTableNavigation.kt @@ -16,7 +16,6 @@ import androidx.navigation.compose.composable import androidx.navigation.navArgument import androidx.navigation.navigation import com.google.gson.Gson -import com.mifos.core.common.utils.Constants import com.mifos.core.entity.client.Client import com.mifos.core.entity.noncore.DataTable import com.mifos.core.objects.nav.DataTableNavigationArg diff --git a/feature/data-table/src/main/java/com/mifos/feature/dataTable/navigation/DataTableScreens.kt b/feature/data-table/src/main/java/com/mifos/feature/dataTable/navigation/DataTableScreens.kt index 2c297b6ea1e..b191940391f 100644 --- a/feature/data-table/src/main/java/com/mifos/feature/dataTable/navigation/DataTableScreens.kt +++ b/feature/data-table/src/main/java/com/mifos/feature/dataTable/navigation/DataTableScreens.kt @@ -9,8 +9,6 @@ */ package com.mifos.feature.dataTable.navigation -import com.mifos.core.common.utils.Constants - sealed class DataTableScreens(val route: String) { data object DataTableScreenRoute : DataTableScreens("data_table_screen_route") diff --git a/feature/document/src/main/java/com/mifos/feature/document/documentDialog/DocumentDialogScreen.kt b/feature/document/src/main/java/com/mifos/feature/document/documentDialog/DocumentDialogScreen.kt index 15f08eaf6c5..ca23998a16b 100644 --- a/feature/document/src/main/java/com/mifos/feature/document/documentDialog/DocumentDialogScreen.kt +++ b/feature/document/src/main/java/com/mifos/feature/document/documentDialog/DocumentDialogScreen.kt @@ -63,7 +63,6 @@ import androidx.core.content.ContextCompat import androidx.core.content.PermissionChecker import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import com.mifos.core.common.utils.FileUtils import com.mifos.core.designsystem.component.MifosCircularProgress import com.mifos.core.designsystem.component.MifosOutlinedTextField import com.mifos.core.designsystem.icon.MifosIcons diff --git a/feature/document/src/main/java/com/mifos/feature/document/documentList/DocumentListViewModel.kt b/feature/document/src/main/java/com/mifos/feature/document/documentList/DocumentListViewModel.kt index 1a937218590..243de007c32 100644 --- a/feature/document/src/main/java/com/mifos/feature/document/documentList/DocumentListViewModel.kt +++ b/feature/document/src/main/java/com/mifos/feature/document/documentList/DocumentListViewModel.kt @@ -12,8 +12,7 @@ package com.mifos.feature.document.documentList import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Constants -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.domain.useCases.DownloadDocumentUseCase import com.mifos.core.domain.useCases.GetDocumentsListUseCase import com.mifos.core.domain.useCases.RemoveDocumentUseCase @@ -66,7 +65,7 @@ class DocumentListViewModel @Inject constructor( is Resource.Success -> _documentListUiState.value = - DocumentListUiState.DocumentList(result.data ?: emptyList()) + DocumentListUiState.DocumentList(Resource.data ?: emptyList()) } } } diff --git a/feature/document/src/main/java/com/mifos/feature/document/navigation/DocumentNavigation.kt b/feature/document/src/main/java/com/mifos/feature/document/navigation/DocumentNavigation.kt index 1b9c0a2342e..72728f2ea98 100644 --- a/feature/document/src/main/java/com/mifos/feature/document/navigation/DocumentNavigation.kt +++ b/feature/document/src/main/java/com/mifos/feature/document/navigation/DocumentNavigation.kt @@ -14,7 +14,6 @@ import androidx.navigation.NavGraphBuilder import androidx.navigation.NavType import androidx.navigation.compose.composable import androidx.navigation.navArgument -import com.mifos.core.common.utils.Constants import com.mifos.feature.document.documentList.DocumentListScreen /** diff --git a/feature/document/src/main/java/com/mifos/feature/document/navigation/DocumentScreens.kt b/feature/document/src/main/java/com/mifos/feature/document/navigation/DocumentScreens.kt index bf8ce0645e8..70383eb53b3 100644 --- a/feature/document/src/main/java/com/mifos/feature/document/navigation/DocumentScreens.kt +++ b/feature/document/src/main/java/com/mifos/feature/document/navigation/DocumentScreens.kt @@ -9,8 +9,6 @@ */ package com.mifos.feature.document.navigation -import com.mifos.core.common.utils.Constants - /** * Created by Pronay Sarker on 17/08/2024 (4:00 AM) */ diff --git a/feature/groups/src/main/java/com/mifos/feature/groups/createNewGroup/CreateNewGroupScreen.kt b/feature/groups/src/main/java/com/mifos/feature/groups/createNewGroup/CreateNewGroupScreen.kt index 5e6d778c734..acaaeea9d6d 100644 --- a/feature/groups/src/main/java/com/mifos/feature/groups/createNewGroup/CreateNewGroupScreen.kt +++ b/feature/groups/src/main/java/com/mifos/feature/groups/createNewGroup/CreateNewGroupScreen.kt @@ -62,7 +62,6 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import com.mifos.core.common.utils.Network import com.mifos.core.designsystem.component.MifosCircularProgress import com.mifos.core.designsystem.component.MifosDatePickerTextField import com.mifos.core.designsystem.component.MifosOutlinedTextField diff --git a/feature/groups/src/main/java/com/mifos/feature/groups/createNewGroup/CreateNewGroupViewModel.kt b/feature/groups/src/main/java/com/mifos/feature/groups/createNewGroup/CreateNewGroupViewModel.kt index 3fa77afafbc..85277ef11da 100644 --- a/feature/groups/src/main/java/com/mifos/feature/groups/createNewGroup/CreateNewGroupViewModel.kt +++ b/feature/groups/src/main/java/com/mifos/feature/groups/createNewGroup/CreateNewGroupViewModel.kt @@ -11,7 +11,7 @@ package com.mifos.feature.groups.createNewGroup import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.datastore.PrefManager import com.mifos.core.domain.useCases.CreateNewGroupUseCase import com.mifos.core.domain.useCases.GetGroupOfficesUseCase @@ -56,11 +56,11 @@ class CreateNewGroupViewModel @Inject constructor( is Resource.Error -> _createNewGroupUiState.value = - CreateNewGroupUiState.ShowFetchingError(result.message.toString()) + CreateNewGroupUiState.ShowFetchingError(Resource.message.toString()) is Resource.Success -> _createNewGroupUiState.value = - CreateNewGroupUiState.ShowOffices(result.data ?: emptyList()) + CreateNewGroupUiState.ShowOffices(Resource.data ?: emptyList()) } } } @@ -70,7 +70,7 @@ class CreateNewGroupViewModel @Inject constructor( when (result) { is Resource.Error -> _createNewGroupUiState.value = - CreateNewGroupUiState.ShowFetchingError(result.message.toString()) + CreateNewGroupUiState.ShowFetchingError(Resource.message.toString()) is Resource.Loading -> _createNewGroupUiState.value = @@ -78,7 +78,7 @@ class CreateNewGroupViewModel @Inject constructor( is Resource.Success -> _createNewGroupUiState.value = - result.data?.let { CreateNewGroupUiState.ShowGroupCreatedSuccessfully(it) }!! + Resource.data?.let { CreateNewGroupUiState.ShowGroupCreatedSuccessfully(it) }!! } } } diff --git a/feature/groups/src/main/java/com/mifos/feature/groups/groupDetails/GroupDetailsScreen.kt b/feature/groups/src/main/java/com/mifos/feature/groups/groupDetails/GroupDetailsScreen.kt index a07e82fff70..9d6b2a022c8 100644 --- a/feature/groups/src/main/java/com/mifos/feature/groups/groupDetails/GroupDetailsScreen.kt +++ b/feature/groups/src/main/java/com/mifos/feature/groups/groupDetails/GroupDetailsScreen.kt @@ -68,8 +68,6 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import com.mifos.core.common.utils.Constants -import com.mifos.core.common.utils.Utils import com.mifos.core.designsystem.component.MifosCircularProgress import com.mifos.core.designsystem.component.MifosMenuDropDownItem import com.mifos.core.designsystem.component.MifosScaffold diff --git a/feature/groups/src/main/java/com/mifos/feature/groups/groupDetails/GroupDetailsViewModel.kt b/feature/groups/src/main/java/com/mifos/feature/groups/groupDetails/GroupDetailsViewModel.kt index 1792567897b..1e0b085cfeb 100644 --- a/feature/groups/src/main/java/com/mifos/feature/groups/groupDetails/GroupDetailsViewModel.kt +++ b/feature/groups/src/main/java/com/mifos/feature/groups/groupDetails/GroupDetailsViewModel.kt @@ -12,8 +12,7 @@ package com.mifos.feature.groups.groupDetails import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Constants -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.domain.useCases.GetGroupAssociateClientsUseCase import com.mifos.core.domain.useCases.GetGroupDetailsUseCase import com.mifos.core.entity.accounts.loan.LoanAccount @@ -60,10 +59,10 @@ class GroupDetailsViewModel @Inject constructor( is Resource.Success -> { _groupDetailsUiState.value = - GroupDetailsUiState.ShowGroup(result.data?.group ?: Group()) - _loanAccounts.value = result.data?.groupAccounts?.loanAccounts ?: emptyList() + GroupDetailsUiState.ShowGroup(Resource.data?.group ?: Group()) + _loanAccounts.value = Resource.data?.groupAccounts?.loanAccounts ?: emptyList() _savingsAccounts.value = - result.data?.groupAccounts?.savingsAccounts ?: emptyList() + Resource.data?.groupAccounts?.savingsAccounts ?: emptyList() } } } @@ -77,7 +76,7 @@ class GroupDetailsViewModel @Inject constructor( GroupDetailsUiState.Error(R.string.feature_groups_failed_to_load_client) is Resource.Loading -> Unit - is Resource.Success -> _groupAssociateClients.value = result.data ?: emptyList() + is Resource.Success -> _groupAssociateClients.value = Resource.data ?: emptyList() } } } diff --git a/feature/groups/src/main/java/com/mifos/feature/groups/navigation/GroupNavGraph.kt b/feature/groups/src/main/java/com/mifos/feature/groups/navigation/GroupNavGraph.kt index b636fcca614..caa22093f3c 100644 --- a/feature/groups/src/main/java/com/mifos/feature/groups/navigation/GroupNavGraph.kt +++ b/feature/groups/src/main/java/com/mifos/feature/groups/navigation/GroupNavGraph.kt @@ -16,7 +16,6 @@ import androidx.navigation.NavType import androidx.navigation.compose.composable import androidx.navigation.navArgument import androidx.navigation.navigation -import com.mifos.core.common.utils.Constants import com.mifos.core.entity.accounts.savings.DepositType import com.mifos.core.entity.client.Client import com.mifos.core.objects.responses.SaveResponse diff --git a/feature/groups/src/main/java/com/mifos/feature/groups/navigation/GroupScreen.kt b/feature/groups/src/main/java/com/mifos/feature/groups/navigation/GroupScreen.kt index b3162720fc8..82e3adefe4b 100644 --- a/feature/groups/src/main/java/com/mifos/feature/groups/navigation/GroupScreen.kt +++ b/feature/groups/src/main/java/com/mifos/feature/groups/navigation/GroupScreen.kt @@ -9,8 +9,6 @@ */ package com.mifos.feature.groups.navigation -import com.mifos.core.common.utils.Constants - /** * Created by Pronay Sarker on 13/08/2024 (10:39 AM) */ diff --git a/feature/groups/src/main/java/com/mifos/feature/groups/syncGroupDialog/SyncGroupsDialogViewModel.kt b/feature/groups/src/main/java/com/mifos/feature/groups/syncGroupDialog/SyncGroupsDialogViewModel.kt index 7c7c6f624df..886baa9bee1 100644 --- a/feature/groups/src/main/java/com/mifos/feature/groups/syncGroupDialog/SyncGroupsDialogViewModel.kt +++ b/feature/groups/src/main/java/com/mifos/feature/groups/syncGroupDialog/SyncGroupsDialogViewModel.kt @@ -11,8 +11,6 @@ package com.mifos.feature.groups.syncGroupDialog import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Constants -import com.mifos.core.common.utils.NetworkUtilsWrapper import com.mifos.core.data.repository.SyncGroupsDialogRepository import com.mifos.core.datastore.PrefManager import com.mifos.core.designsystem.icon.MifosIcons diff --git a/feature/loan/src/main/java/com/mifos/feature/loan/groupLoanAccount/GroupLoanAccountViewModel.kt b/feature/loan/src/main/java/com/mifos/feature/loan/groupLoanAccount/GroupLoanAccountViewModel.kt index 2a4b6416b1e..1869d147f87 100644 --- a/feature/loan/src/main/java/com/mifos/feature/loan/groupLoanAccount/GroupLoanAccountViewModel.kt +++ b/feature/loan/src/main/java/com/mifos/feature/loan/groupLoanAccount/GroupLoanAccountViewModel.kt @@ -12,8 +12,7 @@ package com.mifos.feature.loan.groupLoanAccount import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Constants -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.domain.useCases.CreateGroupLoansAccountUseCase import com.mifos.core.domain.useCases.GetAllLoanUseCase import com.mifos.core.domain.useCases.GetGroupLoansAccountTemplateUseCase @@ -55,7 +54,7 @@ class GroupLoanAccountViewModel @Inject constructor( _groupLoanAccountUiState.value = GroupLoanAccountUiState.Loading - is Resource.Success -> _loanProducts.value = result.data ?: emptyList() + is Resource.Success -> _loanProducts.value = Resource.data ?: emptyList() } } } @@ -73,7 +72,7 @@ class GroupLoanAccountViewModel @Inject constructor( is Resource.Success -> _groupLoanAccountUiState.value = GroupLoanAccountUiState.GroupLoanAccountTemplate( - result.data ?: GroupLoanTemplate(), + Resource.data ?: GroupLoanTemplate(), ) } } diff --git a/feature/loan/src/main/java/com/mifos/feature/loan/loanAccount/LoanAccountViewModel.kt b/feature/loan/src/main/java/com/mifos/feature/loan/loanAccount/LoanAccountViewModel.kt index cdee0ae7b09..0ee78a8442b 100644 --- a/feature/loan/src/main/java/com/mifos/feature/loan/loanAccount/LoanAccountViewModel.kt +++ b/feature/loan/src/main/java/com/mifos/feature/loan/loanAccount/LoanAccountViewModel.kt @@ -12,8 +12,7 @@ package com.mifos.feature.loan.loanAccount import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Constants -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.domain.useCases.CreateLoanAccountUseCase import com.mifos.core.domain.useCases.GetAllLoanUseCase import com.mifos.core.domain.useCases.GetLoansAccountTemplateUseCase @@ -55,7 +54,7 @@ class LoanAccountViewModel @Inject constructor( is Resource.Success -> _loanAccountUiState.value = - LoanAccountUiState.AllLoan(result.data ?: emptyList()) + LoanAccountUiState.AllLoan(Resource.data ?: emptyList()) } } } @@ -72,7 +71,7 @@ class LoanAccountViewModel @Inject constructor( is Resource.Success -> _loanAccountTemplateUiState.value = - result.data ?: LoanTemplate() + Resource.data ?: LoanTemplate() } } } diff --git a/feature/loan/src/main/java/com/mifos/feature/loan/loanAccountSummary/LoanAccountSummaryScreen.kt b/feature/loan/src/main/java/com/mifos/feature/loan/loanAccountSummary/LoanAccountSummaryScreen.kt index dd220c1c8d2..74b12b0fb7b 100644 --- a/feature/loan/src/main/java/com/mifos/feature/loan/loanAccountSummary/LoanAccountSummaryScreen.kt +++ b/feature/loan/src/main/java/com/mifos/feature/loan/loanAccountSummary/LoanAccountSummaryScreen.kt @@ -55,8 +55,6 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import com.mifos.core.common.utils.Constants -import com.mifos.core.common.utils.DateHelper import com.mifos.core.designsystem.component.MifosCircularProgress import com.mifos.core.designsystem.component.MifosMenuDropDownItem import com.mifos.core.designsystem.component.MifosScaffold diff --git a/feature/loan/src/main/java/com/mifos/feature/loan/loanAccountSummary/LoanAccountSummaryViewModel.kt b/feature/loan/src/main/java/com/mifos/feature/loan/loanAccountSummary/LoanAccountSummaryViewModel.kt index 32eec06e433..301fa3beee7 100644 --- a/feature/loan/src/main/java/com/mifos/feature/loan/loanAccountSummary/LoanAccountSummaryViewModel.kt +++ b/feature/loan/src/main/java/com/mifos/feature/loan/loanAccountSummary/LoanAccountSummaryViewModel.kt @@ -13,7 +13,6 @@ import android.util.Log import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Constants import com.mifos.core.data.repository.LoanAccountSummaryRepository import com.mifos.room.entities.accounts.loans.LoanWithAssociations import dagger.hilt.android.lifecycle.HiltViewModel diff --git a/feature/loan/src/main/java/com/mifos/feature/loan/loanApproval/LoanAccountApprovalScreen.kt b/feature/loan/src/main/java/com/mifos/feature/loan/loanApproval/LoanAccountApprovalScreen.kt index 1d33ac1eebf..54335f821be 100644 --- a/feature/loan/src/main/java/com/mifos/feature/loan/loanApproval/LoanAccountApprovalScreen.kt +++ b/feature/loan/src/main/java/com/mifos/feature/loan/loanApproval/LoanAccountApprovalScreen.kt @@ -51,7 +51,6 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import com.mifos.core.common.utils.DateHelper import com.mifos.core.designsystem.component.MifosCircularProgress import com.mifos.core.designsystem.component.MifosDatePickerTextField import com.mifos.core.designsystem.component.MifosOutlinedTextField diff --git a/feature/loan/src/main/java/com/mifos/feature/loan/loanCharge/LoanChargeViewModel.kt b/feature/loan/src/main/java/com/mifos/feature/loan/loanCharge/LoanChargeViewModel.kt index b17c78e2608..124c8f6bb30 100644 --- a/feature/loan/src/main/java/com/mifos/feature/loan/loanCharge/LoanChargeViewModel.kt +++ b/feature/loan/src/main/java/com/mifos/feature/loan/loanCharge/LoanChargeViewModel.kt @@ -12,8 +12,7 @@ package com.mifos.feature.loan.loanCharge import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Constants -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.domain.useCases.GetListOfLoanChargesUseCase import com.mifos.feature.loan.R import dagger.hilt.android.lifecycle.HiltViewModel @@ -54,7 +53,7 @@ class LoanChargeViewModel @Inject constructor( is Resource.Success -> _loanChargeUiState.value = - LoanChargeUiState.LoanChargesList(result.data ?: emptyList()) + LoanChargeUiState.LoanChargesList(Resource.data ?: emptyList()) } } } diff --git a/feature/loan/src/main/java/com/mifos/feature/loan/loanChargeDialog/LoanChargeDialogViewModel.kt b/feature/loan/src/main/java/com/mifos/feature/loan/loanChargeDialog/LoanChargeDialogViewModel.kt index 3d7bb24b2a7..b275a358ed3 100644 --- a/feature/loan/src/main/java/com/mifos/feature/loan/loanChargeDialog/LoanChargeDialogViewModel.kt +++ b/feature/loan/src/main/java/com/mifos/feature/loan/loanChargeDialog/LoanChargeDialogViewModel.kt @@ -11,7 +11,7 @@ package com.mifos.feature.loan.loanChargeDialog import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.domain.useCases.CreateLoanChargesUseCase import com.mifos.core.domain.useCases.GetAllChargesV3UseCase import com.mifos.core.entity.client.Charges @@ -54,7 +54,7 @@ class LoanChargeDialogViewModel @Inject constructor( // _loanChargeDialogUiState.value = // LoanChargeDialogUiState.AllChargesV3(it) // } - result.data?.let { mapResourceBodyToChargeList(it) } + Resource.data?.let { mapResourceBodyToChargeList(it) } } } } diff --git a/feature/loan/src/main/java/com/mifos/feature/loan/loanDisbursement/LoanAccountDisbursementScreen.kt b/feature/loan/src/main/java/com/mifos/feature/loan/loanDisbursement/LoanAccountDisbursementScreen.kt index 319231641cb..25efd6809e6 100644 --- a/feature/loan/src/main/java/com/mifos/feature/loan/loanDisbursement/LoanAccountDisbursementScreen.kt +++ b/feature/loan/src/main/java/com/mifos/feature/loan/loanDisbursement/LoanAccountDisbursementScreen.kt @@ -51,7 +51,6 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import com.mifos.core.common.utils.Network import com.mifos.core.designsystem.component.MifosCircularProgress import com.mifos.core.designsystem.component.MifosDatePickerTextField import com.mifos.core.designsystem.component.MifosOutlinedTextField diff --git a/feature/loan/src/main/java/com/mifos/feature/loan/loanDisbursement/LoanAccountDisbursementViewModel.kt b/feature/loan/src/main/java/com/mifos/feature/loan/loanDisbursement/LoanAccountDisbursementViewModel.kt index c498b6d1ae2..f1691ccd8b9 100644 --- a/feature/loan/src/main/java/com/mifos/feature/loan/loanDisbursement/LoanAccountDisbursementViewModel.kt +++ b/feature/loan/src/main/java/com/mifos/feature/loan/loanDisbursement/LoanAccountDisbursementViewModel.kt @@ -11,7 +11,6 @@ package com.mifos.feature.loan.loanDisbursement import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel -import com.mifos.core.common.utils.Constants import com.mifos.core.data.repository.LoanAccountDisbursementRepository import com.mifos.core.network.GenericResponse import com.mifos.core.objects.account.loan.LoanDisbursement diff --git a/feature/loan/src/main/java/com/mifos/feature/loan/loanRepayment/LoanRepaymentScreen.kt b/feature/loan/src/main/java/com/mifos/feature/loan/loanRepayment/LoanRepaymentScreen.kt index 6052fb93ca4..dff2539c25b 100644 --- a/feature/loan/src/main/java/com/mifos/feature/loan/loanRepayment/LoanRepaymentScreen.kt +++ b/feature/loan/src/main/java/com/mifos/feature/loan/loanRepayment/LoanRepaymentScreen.kt @@ -57,7 +57,6 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import com.mifos.core.common.utils.Network import com.mifos.core.designsystem.component.MifosCircularProgress import com.mifos.core.designsystem.component.MifosDatePickerTextField import com.mifos.core.designsystem.component.MifosOutlinedTextField diff --git a/feature/loan/src/main/java/com/mifos/feature/loan/loanRepayment/LoanRepaymentViewModel.kt b/feature/loan/src/main/java/com/mifos/feature/loan/loanRepayment/LoanRepaymentViewModel.kt index 1b18322a2db..1f4f8c7c3ef 100644 --- a/feature/loan/src/main/java/com/mifos/feature/loan/loanRepayment/LoanRepaymentViewModel.kt +++ b/feature/loan/src/main/java/com/mifos/feature/loan/loanRepayment/LoanRepaymentViewModel.kt @@ -14,7 +14,6 @@ import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.google.gson.Gson -import com.mifos.core.common.utils.Constants import com.mifos.core.data.repository.LoanRepaymentRepository import com.mifos.core.entity.accounts.loan.LoanWithAssociations import com.mifos.feature.loan.R diff --git a/feature/loan/src/main/java/com/mifos/feature/loan/loanRepaymentSchedule/LoanRepaymentScheduleScreen.kt b/feature/loan/src/main/java/com/mifos/feature/loan/loanRepaymentSchedule/LoanRepaymentScheduleScreen.kt index a1e0f34d447..ec5b1b2b1c2 100644 --- a/feature/loan/src/main/java/com/mifos/feature/loan/loanRepaymentSchedule/LoanRepaymentScheduleScreen.kt +++ b/feature/loan/src/main/java/com/mifos/feature/loan/loanRepaymentSchedule/LoanRepaymentScheduleScreen.kt @@ -40,7 +40,6 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import com.mifos.core.common.utils.DateHelper import com.mifos.core.designsystem.component.MifosCircularProgress import com.mifos.core.designsystem.component.MifosScaffold import com.mifos.core.designsystem.component.MifosSweetError diff --git a/feature/loan/src/main/java/com/mifos/feature/loan/loanRepaymentSchedule/LoanRepaymentScheduleViewModel.kt b/feature/loan/src/main/java/com/mifos/feature/loan/loanRepaymentSchedule/LoanRepaymentScheduleViewModel.kt index 22e0e547960..71d2be72c28 100644 --- a/feature/loan/src/main/java/com/mifos/feature/loan/loanRepaymentSchedule/LoanRepaymentScheduleViewModel.kt +++ b/feature/loan/src/main/java/com/mifos/feature/loan/loanRepaymentSchedule/LoanRepaymentScheduleViewModel.kt @@ -11,7 +11,6 @@ package com.mifos.feature.loan.loanRepaymentSchedule import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel -import com.mifos.core.common.utils.Constants import com.mifos.core.data.repository.LoanRepaymentScheduleRepository import com.mifos.room.entities.accounts.loans.LoanWithAssociations import dagger.hilt.android.lifecycle.HiltViewModel diff --git a/feature/loan/src/main/java/com/mifos/feature/loan/loanTransaction/LoanTransactionsScreen.kt b/feature/loan/src/main/java/com/mifos/feature/loan/loanTransaction/LoanTransactionsScreen.kt index 7e9f68db2c1..05dbc2acdc7 100644 --- a/feature/loan/src/main/java/com/mifos/feature/loan/loanTransaction/LoanTransactionsScreen.kt +++ b/feature/loan/src/main/java/com/mifos/feature/loan/loanTransaction/LoanTransactionsScreen.kt @@ -57,7 +57,6 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import com.mifos.core.common.utils.DateHelper import com.mifos.core.designsystem.component.MifosCircularProgress import com.mifos.core.designsystem.component.MifosScaffold import com.mifos.core.designsystem.component.MifosSweetError diff --git a/feature/loan/src/main/java/com/mifos/feature/loan/loanTransaction/LoanTransactionsViewModel.kt b/feature/loan/src/main/java/com/mifos/feature/loan/loanTransaction/LoanTransactionsViewModel.kt index f5c2a895db4..8608659dece 100644 --- a/feature/loan/src/main/java/com/mifos/feature/loan/loanTransaction/LoanTransactionsViewModel.kt +++ b/feature/loan/src/main/java/com/mifos/feature/loan/loanTransaction/LoanTransactionsViewModel.kt @@ -11,7 +11,6 @@ package com.mifos.feature.loan.loanTransaction import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel -import com.mifos.core.common.utils.Constants import com.mifos.core.data.repository.LoanTransactionsRepository import com.mifos.room.entities.accounts.loans.LoanWithAssociations import dagger.hilt.android.lifecycle.HiltViewModel diff --git a/feature/loan/src/main/java/com/mifos/feature/loan/navigation/LoanNavigation.kt b/feature/loan/src/main/java/com/mifos/feature/loan/navigation/LoanNavigation.kt index 5efdb095446..f1e73f6109e 100644 --- a/feature/loan/src/main/java/com/mifos/feature/loan/navigation/LoanNavigation.kt +++ b/feature/loan/src/main/java/com/mifos/feature/loan/navigation/LoanNavigation.kt @@ -15,7 +15,6 @@ import androidx.navigation.NavType import androidx.navigation.compose.composable import androidx.navigation.navArgument import androidx.navigation.navigation -import com.mifos.core.common.utils.Constants import com.mifos.core.entity.noncore.DataTable import com.mifos.core.network.model.LoansPayload import com.mifos.feature.loan.groupLoanAccount.GroupLoanAccountScreen diff --git a/feature/loan/src/main/java/com/mifos/feature/loan/navigation/LoanScreens.kt b/feature/loan/src/main/java/com/mifos/feature/loan/navigation/LoanScreens.kt index 92f9fd4137c..79f36594073 100644 --- a/feature/loan/src/main/java/com/mifos/feature/loan/navigation/LoanScreens.kt +++ b/feature/loan/src/main/java/com/mifos/feature/loan/navigation/LoanScreens.kt @@ -10,7 +10,6 @@ package com.mifos.feature.loan.navigation import com.google.gson.Gson -import com.mifos.core.common.utils.Constants import com.mifos.core.entity.accounts.loan.LoanApprovalData import com.mifos.room.entities.accounts.loans.LoanWithAssociations diff --git a/feature/note/src/main/java/com/mifos/feature/note/NoteViewModel.kt b/feature/note/src/main/java/com/mifos/feature/note/NoteViewModel.kt index eaad461a146..531413d2856 100644 --- a/feature/note/src/main/java/com/mifos/feature/note/NoteViewModel.kt +++ b/feature/note/src/main/java/com/mifos/feature/note/NoteViewModel.kt @@ -13,7 +13,6 @@ import android.util.Log import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Constants import com.mifos.core.data.repositoryImp.NoteRepositoryImp import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.Dispatchers diff --git a/feature/note/src/main/java/com/mifos/feature/note/navigation/NoteNavigation.kt b/feature/note/src/main/java/com/mifos/feature/note/navigation/NoteNavigation.kt index 7fcc1e906f8..132fc11edc8 100644 --- a/feature/note/src/main/java/com/mifos/feature/note/navigation/NoteNavigation.kt +++ b/feature/note/src/main/java/com/mifos/feature/note/navigation/NoteNavigation.kt @@ -14,7 +14,6 @@ import androidx.navigation.NavGraphBuilder import androidx.navigation.NavType import androidx.navigation.compose.composable import androidx.navigation.navArgument -import com.mifos.core.common.utils.Constants import com.mifos.feature.note.NoteScreen /** diff --git a/feature/note/src/main/java/com/mifos/feature/note/navigation/NoteScreens.kt b/feature/note/src/main/java/com/mifos/feature/note/navigation/NoteScreens.kt index c474342aef5..8f6b4193f3f 100644 --- a/feature/note/src/main/java/com/mifos/feature/note/navigation/NoteScreens.kt +++ b/feature/note/src/main/java/com/mifos/feature/note/navigation/NoteScreens.kt @@ -9,8 +9,6 @@ */ package com.mifos.feature.note.navigation -import com.mifos.core.common.utils.Constants - /** * Created by Pronay Sarker on 17/08/2024 (12:05 AM) */ diff --git a/feature/offline/src/main/java/com/mifos/feature/offline/syncCenterPayloads/SyncCenterPayloadsScreen.kt b/feature/offline/src/main/java/com/mifos/feature/offline/syncCenterPayloads/SyncCenterPayloadsScreen.kt index 72be602c85a..a98c24a303b 100644 --- a/feature/offline/src/main/java/com/mifos/feature/offline/syncCenterPayloads/SyncCenterPayloadsScreen.kt +++ b/feature/offline/src/main/java/com/mifos/feature/offline/syncCenterPayloads/SyncCenterPayloadsScreen.kt @@ -45,7 +45,6 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import com.mifos.core.common.utils.Network import com.mifos.core.designsystem.component.MifosScaffold import com.mifos.core.designsystem.component.MifosSweetError import com.mifos.core.designsystem.icon.MifosIcons diff --git a/feature/offline/src/main/java/com/mifos/feature/offline/syncCenterPayloads/SyncCenterPayloadsViewModel.kt b/feature/offline/src/main/java/com/mifos/feature/offline/syncCenterPayloads/SyncCenterPayloadsViewModel.kt index e0616528b6d..9cb7adad0c8 100644 --- a/feature/offline/src/main/java/com/mifos/feature/offline/syncCenterPayloads/SyncCenterPayloadsViewModel.kt +++ b/feature/offline/src/main/java/com/mifos/feature/offline/syncCenterPayloads/SyncCenterPayloadsViewModel.kt @@ -12,8 +12,7 @@ package com.mifos.feature.offline.syncCenterPayloads import android.util.Log import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.FileUtils.LOG_TAG -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.datastore.PrefManager import com.mifos.core.domain.useCases.AllDatabaseCenterPayloadUseCase import com.mifos.core.domain.useCases.CreateCenterUseCase @@ -86,7 +85,7 @@ class SyncCenterPayloadsViewModel @Inject constructor( when (result) { is Resource.Error -> { _syncCenterPayloadsUiState.value = - SyncCenterPayloadsUiState.ShowError(result.message.toString()) + SyncCenterPayloadsUiState.ShowError(Resource.message.toString()) updateCenterPayload(centerPayload) } @@ -111,7 +110,7 @@ class SyncCenterPayloadsViewModel @Inject constructor( when (result) { is Resource.Error -> _syncCenterPayloadsUiState.value = - SyncCenterPayloadsUiState.ShowError(result.message.toString()) + SyncCenterPayloadsUiState.ShowError(Resource.message.toString()) is Resource.Loading -> _syncCenterPayloadsUiState.value = @@ -119,7 +118,7 @@ class SyncCenterPayloadsViewModel @Inject constructor( is Resource.Success -> { centerSyncIndex = 0 - mCenterPayloads = result.data?.toMutableList() ?: mutableListOf() + mCenterPayloads = Resource.data?.toMutableList() ?: mutableListOf() _syncCenterPayloadsUiState.value = SyncCenterPayloadsUiState.ShowCenters(mCenterPayloads) if (mCenterPayloads.isNotEmpty()) { diff --git a/feature/offline/src/main/java/com/mifos/feature/offline/syncClientPayloads/SyncClientPayloadsScreen.kt b/feature/offline/src/main/java/com/mifos/feature/offline/syncClientPayloads/SyncClientPayloadsScreen.kt index 85d045017f6..e6f29bd1163 100644 --- a/feature/offline/src/main/java/com/mifos/feature/offline/syncClientPayloads/SyncClientPayloadsScreen.kt +++ b/feature/offline/src/main/java/com/mifos/feature/offline/syncClientPayloads/SyncClientPayloadsScreen.kt @@ -50,7 +50,6 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import com.mifos.core.common.utils.Network import com.mifos.core.designsystem.component.MifosCircularProgress import com.mifos.core.designsystem.component.MifosScaffold import com.mifos.core.designsystem.icon.MifosIcons diff --git a/feature/offline/src/main/java/com/mifos/feature/offline/syncClientPayloads/SyncClientPayloadsViewModel.kt b/feature/offline/src/main/java/com/mifos/feature/offline/syncClientPayloads/SyncClientPayloadsViewModel.kt index a1ca045b5c6..73417a9e03c 100644 --- a/feature/offline/src/main/java/com/mifos/feature/offline/syncClientPayloads/SyncClientPayloadsViewModel.kt +++ b/feature/offline/src/main/java/com/mifos/feature/offline/syncClientPayloads/SyncClientPayloadsViewModel.kt @@ -11,7 +11,6 @@ package com.mifos.feature.offline.syncClientPayloads import android.util.Log import androidx.lifecycle.ViewModel -import com.mifos.core.common.utils.FileUtils.LOG_TAG import com.mifos.core.data.repository.SyncClientPayloadsRepository import com.mifos.core.datastore.PrefManager import com.mifos.core.entity.client.Client diff --git a/feature/offline/src/main/java/com/mifos/feature/offline/syncGroupPayloads/SyncGroupPayloadsScreenRoute.kt b/feature/offline/src/main/java/com/mifos/feature/offline/syncGroupPayloads/SyncGroupPayloadsScreenRoute.kt index 7542a415755..64cbbc4ddba 100644 --- a/feature/offline/src/main/java/com/mifos/feature/offline/syncGroupPayloads/SyncGroupPayloadsScreenRoute.kt +++ b/feature/offline/src/main/java/com/mifos/feature/offline/syncGroupPayloads/SyncGroupPayloadsScreenRoute.kt @@ -42,7 +42,6 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import com.mifos.core.common.utils.Network import com.mifos.core.designsystem.component.MifosCircularProgress import com.mifos.core.designsystem.component.MifosErrorContent import com.mifos.core.designsystem.component.MifosScaffold diff --git a/feature/offline/src/main/java/com/mifos/feature/offline/syncGroupPayloads/SyncGroupPayloadsViewModel.kt b/feature/offline/src/main/java/com/mifos/feature/offline/syncGroupPayloads/SyncGroupPayloadsViewModel.kt index 763c05a6529..bb323beb875 100644 --- a/feature/offline/src/main/java/com/mifos/feature/offline/syncGroupPayloads/SyncGroupPayloadsViewModel.kt +++ b/feature/offline/src/main/java/com/mifos/feature/offline/syncGroupPayloads/SyncGroupPayloadsViewModel.kt @@ -11,7 +11,7 @@ package com.mifos.feature.offline.syncGroupPayloads import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.datastore.PrefManager import com.mifos.core.domain.useCases.AllDatabaseGroupPayloadUseCase import com.mifos.core.domain.useCases.CreateGroupUseCase @@ -137,9 +137,9 @@ class SyncGroupPayloadsViewModel @Inject constructor( is Resource.Success -> { groupPayloadSyncIndex = 0 - _groupPayloadsList.value = result.data ?: emptyList() + _groupPayloadsList.value = Resource.data ?: emptyList() _syncGroupPayloadsUiState.value = SyncGroupPayloadsUiState.Success( - if ((result.data ?: emptyList()).isEmpty() + if ((Resource.data ?: emptyList()).isEmpty() ) { GroupPayloadEmptyState.ALL_SYNCED } else { diff --git a/feature/offline/src/main/java/com/mifos/feature/offline/syncLoanRepaymentTransaction/SyncLoanRepaymentTransactionScreen.kt b/feature/offline/src/main/java/com/mifos/feature/offline/syncLoanRepaymentTransaction/SyncLoanRepaymentTransactionScreen.kt index 6f378b3a4f4..91ebf04977c 100644 --- a/feature/offline/src/main/java/com/mifos/feature/offline/syncLoanRepaymentTransaction/SyncLoanRepaymentTransactionScreen.kt +++ b/feature/offline/src/main/java/com/mifos/feature/offline/syncLoanRepaymentTransaction/SyncLoanRepaymentTransactionScreen.kt @@ -55,7 +55,6 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import com.mifos.core.common.utils.Network import com.mifos.core.designsystem.component.MifosCircularProgress import com.mifos.core.designsystem.component.MifosScaffold import com.mifos.core.designsystem.icon.MifosIcons diff --git a/feature/offline/src/main/java/com/mifos/feature/offline/syncLoanRepaymentTransaction/SyncLoanRepaymentTransactionViewModel.kt b/feature/offline/src/main/java/com/mifos/feature/offline/syncLoanRepaymentTransaction/SyncLoanRepaymentTransactionViewModel.kt index dc5bb85734c..eef25ebb61f 100644 --- a/feature/offline/src/main/java/com/mifos/feature/offline/syncLoanRepaymentTransaction/SyncLoanRepaymentTransactionViewModel.kt +++ b/feature/offline/src/main/java/com/mifos/feature/offline/syncLoanRepaymentTransaction/SyncLoanRepaymentTransactionViewModel.kt @@ -12,7 +12,6 @@ package com.mifos.feature.offline.syncLoanRepaymentTransaction import android.util.Log import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.FileUtils.LOG_TAG import com.mifos.core.data.repository.SyncLoanRepaymentTransactionRepository import com.mifos.core.datastore.PrefManager import com.mifos.core.entity.center.CenterPayload_Table.errorMessage diff --git a/feature/offline/src/main/java/com/mifos/feature/offline/syncSavingsAccountTransaction/SyncSavingsAccountTransactionScreen.kt b/feature/offline/src/main/java/com/mifos/feature/offline/syncSavingsAccountTransaction/SyncSavingsAccountTransactionScreen.kt index 425d125f9d5..d0a43d5e2ee 100644 --- a/feature/offline/src/main/java/com/mifos/feature/offline/syncSavingsAccountTransaction/SyncSavingsAccountTransactionScreen.kt +++ b/feature/offline/src/main/java/com/mifos/feature/offline/syncSavingsAccountTransaction/SyncSavingsAccountTransactionScreen.kt @@ -53,7 +53,6 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import com.mifos.core.common.utils.Network import com.mifos.core.designsystem.component.MifosCircularProgress import com.mifos.core.designsystem.component.MifosScaffold import com.mifos.core.designsystem.icon.MifosIcons diff --git a/feature/offline/src/main/java/com/mifos/feature/offline/syncSavingsAccountTransaction/SyncSavingsAccountTransactionViewModel.kt b/feature/offline/src/main/java/com/mifos/feature/offline/syncSavingsAccountTransaction/SyncSavingsAccountTransactionViewModel.kt index 3200611696a..75f76541319 100644 --- a/feature/offline/src/main/java/com/mifos/feature/offline/syncSavingsAccountTransaction/SyncSavingsAccountTransactionViewModel.kt +++ b/feature/offline/src/main/java/com/mifos/feature/offline/syncSavingsAccountTransaction/SyncSavingsAccountTransactionViewModel.kt @@ -11,7 +11,7 @@ package com.mifos.feature.offline.syncSavingsAccountTransaction import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.data.repository.SyncSavingsAccountTransactionRepository import com.mifos.core.datastore.PrefManager import com.mifos.core.domain.useCases.AllSavingsAccountTransactionsUseCase @@ -292,7 +292,7 @@ class SyncSavingsAccountTransactionViewModel @Inject constructor( SyncSavingsAccountTransactionUiState.Loading is Resource.Success -> showTransactionDeletedAndUpdated( - result.data as MutableList, + Resource.data as MutableList, ) } } diff --git a/feature/path-tracking/src/main/java/com/mifos/feature/pathTracking/PathTrackingScreen.kt b/feature/path-tracking/src/main/java/com/mifos/feature/pathTracking/PathTrackingScreen.kt index 3f573fe0544..1065f3f79a0 100644 --- a/feature/path-tracking/src/main/java/com/mifos/feature/pathTracking/PathTrackingScreen.kt +++ b/feature/path-tracking/src/main/java/com/mifos/feature/pathTracking/PathTrackingScreen.kt @@ -69,7 +69,6 @@ import com.google.gson.reflect.TypeToken import com.google.maps.android.compose.GoogleMap import com.google.maps.android.compose.MapUiSettings import com.google.maps.android.compose.rememberCameraPositionState -import com.mifos.core.common.utils.Constants import com.mifos.core.designsystem.component.MifosCircularProgress import com.mifos.core.designsystem.component.MifosScaffold import com.mifos.core.designsystem.component.MifosSweetError diff --git a/feature/path-tracking/src/main/java/com/mifos/feature/pathTracking/PathTrackingViewModel.kt b/feature/path-tracking/src/main/java/com/mifos/feature/pathTracking/PathTrackingViewModel.kt index 5462a978385..990bd7f6f12 100644 --- a/feature/path-tracking/src/main/java/com/mifos/feature/pathTracking/PathTrackingViewModel.kt +++ b/feature/path-tracking/src/main/java/com/mifos/feature/pathTracking/PathTrackingViewModel.kt @@ -11,7 +11,7 @@ package com.mifos.feature.pathTracking import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.datastore.PrefManager import com.mifos.core.domain.useCases.GetUserPathTrackingUseCase import com.mifos.feature.path.tracking.R @@ -54,7 +54,7 @@ class PathTrackingViewModel @Inject constructor( is Resource.Loading -> _pathTrackingUiState.value = PathTrackingUiState.Loading is Resource.Success -> - result.data?.let { pathTracking -> + Resource.data?.let { pathTracking -> _pathTrackingUiState.value = if (pathTracking.isEmpty()) { PathTrackingUiState.Error(R.string.feature_path_tracking_no_path_tracking_found) diff --git a/feature/report/src/main/java/com/mifos/feature/report/navigation/ReportNavigation.kt b/feature/report/src/main/java/com/mifos/feature/report/navigation/ReportNavigation.kt index df79e88e66c..fc973a460c6 100644 --- a/feature/report/src/main/java/com/mifos/feature/report/navigation/ReportNavigation.kt +++ b/feature/report/src/main/java/com/mifos/feature/report/navigation/ReportNavigation.kt @@ -16,7 +16,6 @@ import androidx.navigation.compose.composable import androidx.navigation.navArgument import androidx.navigation.navigation import com.google.gson.Gson -import com.mifos.core.common.utils.Constants import com.mifos.core.objects.runreport.FullParameterListResponse import com.mifos.core.objects.runreport.client.ClientReportTypeItem import com.mifos.feature.report.report.ReportScreen diff --git a/feature/report/src/main/java/com/mifos/feature/report/navigation/ReportScreens.kt b/feature/report/src/main/java/com/mifos/feature/report/navigation/ReportScreens.kt index 9a2a820db98..3714a2a5808 100644 --- a/feature/report/src/main/java/com/mifos/feature/report/navigation/ReportScreens.kt +++ b/feature/report/src/main/java/com/mifos/feature/report/navigation/ReportScreens.kt @@ -9,8 +9,6 @@ */ package com.mifos.feature.report.navigation -import com.mifos.core.common.utils.Constants - sealed class ReportScreens(val route: String) { data object RunReportScreen : ReportScreens(route = "run_report_screen") diff --git a/feature/report/src/main/java/com/mifos/feature/report/report/ReportViewModel.kt b/feature/report/src/main/java/com/mifos/feature/report/report/ReportViewModel.kt index 73bded8d3a1..52898febe29 100644 --- a/feature/report/src/main/java/com/mifos/feature/report/report/ReportViewModel.kt +++ b/feature/report/src/main/java/com/mifos/feature/report/report/ReportViewModel.kt @@ -13,7 +13,6 @@ import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.google.gson.Gson -import com.mifos.core.common.utils.Constants import com.mifos.core.objects.runreport.FullParameterListResponse import com.mifos.feature.report.R import dagger.hilt.android.lifecycle.HiltViewModel diff --git a/feature/report/src/main/java/com/mifos/feature/report/reportDetail/ReportDetailScreen.kt b/feature/report/src/main/java/com/mifos/feature/report/reportDetail/ReportDetailScreen.kt index 46aa1609203..c8ce54f0a8f 100644 --- a/feature/report/src/main/java/com/mifos/feature/report/reportDetail/ReportDetailScreen.kt +++ b/feature/report/src/main/java/com/mifos/feature/report/reportDetail/ReportDetailScreen.kt @@ -54,7 +54,6 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import com.mifos.core.common.utils.Constants import com.mifos.core.designsystem.component.MifosCircularProgress import com.mifos.core.designsystem.component.MifosScaffold import com.mifos.core.designsystem.component.MifosSweetError diff --git a/feature/report/src/main/java/com/mifos/feature/report/reportDetail/ReportDetailViewModel.kt b/feature/report/src/main/java/com/mifos/feature/report/reportDetail/ReportDetailViewModel.kt index 94333199d0f..142da7c80c4 100644 --- a/feature/report/src/main/java/com/mifos/feature/report/reportDetail/ReportDetailViewModel.kt +++ b/feature/report/src/main/java/com/mifos/feature/report/reportDetail/ReportDetailViewModel.kt @@ -13,8 +13,7 @@ import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.google.gson.Gson -import com.mifos.core.common.utils.Constants -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.domain.useCases.GetReportFullParameterListUseCase import com.mifos.core.domain.useCases.GetReportParameterDetailsUseCase import com.mifos.core.domain.useCases.GetRunReportOfficesUseCase @@ -77,7 +76,7 @@ class ReportDetailViewModel @Inject constructor( is Resource.Success -> _reportParameterList.value = - result.data?.data ?: emptyList() + Resource.data?.data ?: emptyList() } } } @@ -92,7 +91,7 @@ class ReportDetailViewModel @Inject constructor( is Resource.Success -> { _reportDetail.value = - Pair(result.data?.data ?: emptyList(), parameterName) + Pair(Resource.data?.data ?: emptyList(), parameterName) } } } @@ -109,7 +108,7 @@ class ReportDetailViewModel @Inject constructor( is Resource.Loading -> Unit is Resource.Success -> { - _reportOffices.value = result.data?.data ?: emptyList() + _reportOffices.value = Resource.data?.data ?: emptyList() _reportDetailUiState.value = ReportDetailUiState.ParameterDetailsSuccess } } @@ -127,7 +126,7 @@ class ReportDetailViewModel @Inject constructor( is Resource.Loading -> Unit is Resource.Success -> { - _reportProducts.value = result.data?.data ?: emptyList() + _reportProducts.value = Resource.data?.data ?: emptyList() _reportDetailUiState.value = ReportDetailUiState.ParameterDetailsSuccess } } @@ -144,7 +143,7 @@ class ReportDetailViewModel @Inject constructor( is Resource.Loading -> _reportDetailUiState.value = ReportDetailUiState.Loading - is Resource.Success -> _runReport.value = result.data + is Resource.Success -> _runReport.value = Resource.data } } } diff --git a/feature/report/src/main/java/com/mifos/feature/report/runReport/RunReportViewModel.kt b/feature/report/src/main/java/com/mifos/feature/report/runReport/RunReportViewModel.kt index cd95f3bb829..89becd679e6 100644 --- a/feature/report/src/main/java/com/mifos/feature/report/runReport/RunReportViewModel.kt +++ b/feature/report/src/main/java/com/mifos/feature/report/runReport/RunReportViewModel.kt @@ -11,7 +11,7 @@ package com.mifos.feature.report.runReport import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.domain.useCases.GetReportCategoryUseCase import com.mifos.feature.report.R import dagger.hilt.android.lifecycle.HiltViewModel @@ -47,7 +47,7 @@ class RunReportViewModel @Inject constructor( is Resource.Loading -> _runReportUiState.value = RunReportUiState.Loading is Resource.Success -> { - result.data?.let { reports -> + Resource.data?.let { reports -> if (reports.isNotEmpty()) { _runReportUiState.value = RunReportUiState.RunReports(reports) } else { diff --git a/feature/savings/src/main/java/com/mifos/feature/savings/navigation/SavingsNavigation.kt b/feature/savings/src/main/java/com/mifos/feature/savings/navigation/SavingsNavigation.kt index 9986012950c..17d72d65418 100644 --- a/feature/savings/src/main/java/com/mifos/feature/savings/navigation/SavingsNavigation.kt +++ b/feature/savings/src/main/java/com/mifos/feature/savings/navigation/SavingsNavigation.kt @@ -15,7 +15,6 @@ import androidx.navigation.NavType import androidx.navigation.compose.composable import androidx.navigation.navArgument import androidx.navigation.navigation -import com.mifos.core.common.utils.Constants import com.mifos.core.entity.accounts.savings.DepositType import com.mifos.core.entity.accounts.savings.SavingsAccountWithAssociations import com.mifos.feature.savings.savingsAccount.SavingsAccountScreen diff --git a/feature/savings/src/main/java/com/mifos/feature/savings/navigation/SavingsScreens.kt b/feature/savings/src/main/java/com/mifos/feature/savings/navigation/SavingsScreens.kt index 73c183a206c..50cf5295a66 100644 --- a/feature/savings/src/main/java/com/mifos/feature/savings/navigation/SavingsScreens.kt +++ b/feature/savings/src/main/java/com/mifos/feature/savings/navigation/SavingsScreens.kt @@ -10,7 +10,6 @@ package com.mifos.feature.savings.navigation import com.google.gson.Gson -import com.mifos.core.common.utils.Constants import com.mifos.core.entity.accounts.savings.DepositType import com.mifos.core.entity.accounts.savings.SavingsAccountWithAssociations import com.mifos.room.entities.accounts.savings.SavingsSummaryData diff --git a/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccount/SavingAccountViewModel.kt b/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccount/SavingAccountViewModel.kt index 0efa00871c9..904855989fc 100644 --- a/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccount/SavingAccountViewModel.kt +++ b/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccount/SavingAccountViewModel.kt @@ -12,8 +12,7 @@ package com.mifos.feature.savings.savingsAccount import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Constants -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.domain.useCases.CreateSavingsAccountUseCase import com.mifos.core.domain.useCases.GetClientSavingsAccountTemplateByProductUseCase import com.mifos.core.domain.useCases.GetGroupSavingsAccountTemplateByProductUseCase @@ -63,9 +62,9 @@ class SavingAccountViewModel @Inject constructor( _savingAccountUiState.value = SavingAccountUiState.ShowProgress - is Resource.Success -> if (result.data != null) { + is Resource.Success -> if (Resource.data != null) { _savingAccountUiState.value = - SavingAccountUiState.LoadAllSavings(result.data!!) + SavingAccountUiState.LoadAllSavings(Resource.data!!) } } } @@ -83,7 +82,7 @@ class SavingAccountViewModel @Inject constructor( is Resource.Success -> _savingProductsTemplate.value = - result.data ?: SavingProductsTemplate() + Resource.data ?: SavingProductsTemplate() } } } @@ -100,7 +99,7 @@ class SavingAccountViewModel @Inject constructor( is Resource.Success -> _savingProductsTemplate.value = - result.data ?: SavingProductsTemplate() + Resource.data ?: SavingProductsTemplate() } } } @@ -111,7 +110,7 @@ class SavingAccountViewModel @Inject constructor( when (result) { is Resource.Error -> _savingAccountUiState.value = - SavingAccountUiState.ShowFetchingErrorString(result.message.toString()) + SavingAccountUiState.ShowFetchingErrorString(Resource.message.toString()) is Resource.Loading -> _savingAccountUiState.value = @@ -119,7 +118,7 @@ class SavingAccountViewModel @Inject constructor( is Resource.Success -> _savingAccountUiState.value = - SavingAccountUiState.ShowSavingsAccountCreatedSuccessfully(result.data) + SavingAccountUiState.ShowSavingsAccountCreatedSuccessfully(Resource.data) } } } diff --git a/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccount/SavingsAccountScreen.kt b/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccount/SavingsAccountScreen.kt index 1d32f7e3c77..f03dcd985a1 100644 --- a/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccount/SavingsAccountScreen.kt +++ b/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccount/SavingsAccountScreen.kt @@ -62,7 +62,6 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import com.mifos.core.common.utils.Network import com.mifos.core.designsystem.component.MifosCircularProgress import com.mifos.core.designsystem.component.MifosDatePickerTextField import com.mifos.core.designsystem.component.MifosOutlinedTextField diff --git a/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccountActivate/SavingsAccountActivateScreen.kt b/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccountActivate/SavingsAccountActivateScreen.kt index 7c634a4e48e..41ffdd68535 100644 --- a/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccountActivate/SavingsAccountActivateScreen.kt +++ b/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccountActivate/SavingsAccountActivateScreen.kt @@ -48,7 +48,6 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import com.mifos.core.common.utils.Network import com.mifos.core.designsystem.component.MifosCircularProgress import com.mifos.core.designsystem.component.MifosDatePickerTextField import com.mifos.core.designsystem.component.MifosOutlinedTextField diff --git a/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccountActivate/SavingsAccountActivateViewModel.kt b/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccountActivate/SavingsAccountActivateViewModel.kt index 9051882c1d9..d32b1d276aa 100644 --- a/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccountActivate/SavingsAccountActivateViewModel.kt +++ b/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccountActivate/SavingsAccountActivateViewModel.kt @@ -12,8 +12,6 @@ package com.mifos.feature.savings.savingsAccountActivate import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Constants -import com.mifos.core.common.utils.Resource import com.mifos.core.domain.useCases.ActivateSavingsUseCase import com.mifos.core.network.GenericResponse import dagger.hilt.android.lifecycle.HiltViewModel diff --git a/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccountApproval/SavingsAccountApprovalScreen.kt b/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccountApproval/SavingsAccountApprovalScreen.kt index b0e14687f8e..ca0ad8d90e8 100644 --- a/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccountApproval/SavingsAccountApprovalScreen.kt +++ b/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccountApproval/SavingsAccountApprovalScreen.kt @@ -48,7 +48,6 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import com.mifos.core.common.utils.Network import com.mifos.core.designsystem.component.MifosCircularProgress import com.mifos.core.designsystem.component.MifosDatePickerTextField import com.mifos.core.designsystem.component.MifosOutlinedTextField diff --git a/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccountApproval/SavingsAccountApprovalViewModel.kt b/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccountApproval/SavingsAccountApprovalViewModel.kt index 57a2b228774..03a54f73089 100644 --- a/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccountApproval/SavingsAccountApprovalViewModel.kt +++ b/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccountApproval/SavingsAccountApprovalViewModel.kt @@ -12,8 +12,7 @@ package com.mifos.feature.savings.savingsAccountApproval import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.utils.Constants -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.domain.useCases.ApproveSavingsApplicationUseCase import com.mifos.core.network.GenericResponse import com.mifos.core.objects.account.loan.SavingsApproval @@ -47,7 +46,7 @@ class SavingsAccountApprovalViewModel @Inject constructor( is Resource.Error -> _savingsAccountApprovalUiState.value = SavingsAccountApprovalUiState.ShowError( - result.message ?: "Something went wrong", + Resource.message ?: "Something went wrong", ) is Resource.Loading -> @@ -57,7 +56,7 @@ class SavingsAccountApprovalViewModel @Inject constructor( is Resource.Success -> _savingsAccountApprovalUiState.value = SavingsAccountApprovalUiState.ShowSavingAccountApprovedSuccessfully( - result.data ?: GenericResponse(), + Resource.data ?: GenericResponse(), ) } } diff --git a/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccountSummary/SavingsAccountSummaryScreen.kt b/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccountSummary/SavingsAccountSummaryScreen.kt index 0e0fbca94c4..c6228ee646c 100644 --- a/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccountSummary/SavingsAccountSummaryScreen.kt +++ b/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccountSummary/SavingsAccountSummaryScreen.kt @@ -58,7 +58,6 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import com.mifos.core.common.utils.DateHelper import com.mifos.core.designsystem.component.MifosCircularProgress import com.mifos.core.designsystem.component.MifosMenuDropDownItem import com.mifos.core.designsystem.component.MifosScaffold diff --git a/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccountSummary/SavingsAccountSummaryViewModel.kt b/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccountSummary/SavingsAccountSummaryViewModel.kt index c39a1810f5c..279baa1a132 100644 --- a/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccountSummary/SavingsAccountSummaryViewModel.kt +++ b/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccountSummary/SavingsAccountSummaryViewModel.kt @@ -13,8 +13,7 @@ import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.google.gson.Gson -import com.mifos.core.common.utils.Constants -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.domain.useCases.GetSavingsAccountUseCase import com.mifos.core.entity.accounts.savings.SavingsAccountWithAssociations import com.mifos.feature.savings.R @@ -56,7 +55,7 @@ class SavingsAccountSummaryViewModel @Inject constructor( is Resource.Success -> _savingsAccountSummaryUiState.value = SavingsAccountSummaryUiState.ShowSavingAccount( - result.data ?: SavingsAccountWithAssociations(), + Resource.data ?: SavingsAccountWithAssociations(), ) } } diff --git a/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccountTransaction/SavingsAccountTransactionScreen.kt b/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccountTransaction/SavingsAccountTransactionScreen.kt index 293fcb0047f..fc2a9847dcd 100644 --- a/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccountTransaction/SavingsAccountTransactionScreen.kt +++ b/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccountTransaction/SavingsAccountTransactionScreen.kt @@ -57,8 +57,6 @@ import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.google.gson.Gson -import com.mifos.core.common.utils.Constants -import com.mifos.core.common.utils.Network import com.mifos.core.designsystem.component.MifosCircularProgress import com.mifos.core.designsystem.component.MifosDatePickerTextField import com.mifos.core.designsystem.component.MifosOutlinedTextField diff --git a/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccountTransaction/SavingsAccountTransactionViewModel.kt b/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccountTransaction/SavingsAccountTransactionViewModel.kt index 31988fba92a..9303842dd0b 100644 --- a/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccountTransaction/SavingsAccountTransactionViewModel.kt +++ b/feature/savings/src/main/java/com/mifos/feature/savings/savingsAccountTransaction/SavingsAccountTransactionViewModel.kt @@ -13,8 +13,7 @@ import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.google.gson.Gson -import com.mifos.core.common.utils.Constants -import com.mifos.core.common.utils.Resource +import com.mifos.core.common.network.com.mifos.core.common.utils.Resource import com.mifos.core.datastore.PrefManager import com.mifos.core.domain.useCases.GetSavingsAccountTransactionTemplateUseCase import com.mifos.core.domain.useCases.GetSavingsAccountTransactionUseCase @@ -70,7 +69,7 @@ class SavingsAccountTransactionViewModel @Inject constructor( when (result) { is Resource.Error -> _savingsAccountTransactionUiState.value = - SavingsAccountTransactionUiState.ShowError(result.message.toString()) + SavingsAccountTransactionUiState.ShowError(Resource.message.toString()) is Resource.Loading -> _savingsAccountTransactionUiState.value = @@ -79,7 +78,7 @@ class SavingsAccountTransactionViewModel @Inject constructor( is Resource.Success -> _savingsAccountTransactionUiState.value = SavingsAccountTransactionUiState.ShowSavingAccountTemplate( - result.data ?: SavingsAccountTransactionTemplate(), + Resource.data ?: SavingsAccountTransactionTemplate(), ) } } @@ -121,14 +120,14 @@ class SavingsAccountTransactionViewModel @Inject constructor( when (result) { is Resource.Error -> _savingsAccountTransactionUiState.value = - SavingsAccountTransactionUiState.ShowError(result.message.toString()) + SavingsAccountTransactionUiState.ShowError(Resource.message.toString()) is Resource.Loading -> _savingsAccountTransactionUiState.value = SavingsAccountTransactionUiState.ShowProgressbar is Resource.Success -> { - if (result.data != null) { + if (Resource.data != null) { _savingsAccountTransactionUiState.value = SavingsAccountTransactionUiState.ShowSavingAccountTransactionExistInDatabase } else { diff --git a/feature/search/src/main/java/com/mifos/feature/search/navigation/SearchNavigation.kt b/feature/search/src/main/java/com/mifos/feature/search/navigation/SearchNavigation.kt index c36b008dcdb..abf3a59ea1f 100644 --- a/feature/search/src/main/java/com/mifos/feature/search/navigation/SearchNavigation.kt +++ b/feature/search/src/main/java/com/mifos/feature/search/navigation/SearchNavigation.kt @@ -15,7 +15,6 @@ import androidx.compose.ui.Modifier import androidx.navigation.NavGraphBuilder import androidx.navigation.compose.composable import androidx.navigation.navigation -import com.mifos.core.common.utils.Constants import com.mifos.core.objects.SearchedEntity import com.mifos.core.ui.components.FabType import com.mifos.feature.search.SearchScreenRoute diff --git a/feature/settings/src/main/java/com/mifos/feature/settings/settings/SettingsScreen.kt b/feature/settings/src/main/java/com/mifos/feature/settings/settings/SettingsScreen.kt index a29377970fa..d9bec7b116f 100644 --- a/feature/settings/src/main/java/com/mifos/feature/settings/settings/SettingsScreen.kt +++ b/feature/settings/src/main/java/com/mifos/feature/settings/settings/SettingsScreen.kt @@ -49,8 +49,7 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import com.mifos.core.common.enums.MifosAppLanguage -import com.mifos.core.common.utils.LanguageHelper +import com.mifos.core.model.objects.enums.MifosAppLanguage import com.mifos.core.designsystem.component.MifosRadioButtonDialog import com.mifos.core.designsystem.component.MifosScaffold import com.mifos.core.designsystem.component.UpdateEndpointDialogScreen diff --git a/feature/settings/src/main/java/com/mifos/feature/settings/settings/SettingsViewModel.kt b/feature/settings/src/main/java/com/mifos/feature/settings/settings/SettingsViewModel.kt index 4cbb02c6875..c55c1c60656 100644 --- a/feature/settings/src/main/java/com/mifos/feature/settings/settings/SettingsViewModel.kt +++ b/feature/settings/src/main/java/com/mifos/feature/settings/settings/SettingsViewModel.kt @@ -13,8 +13,7 @@ import androidx.appcompat.app.AppCompatDelegate import androidx.compose.ui.graphics.vector.ImageVector import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.mifos.core.common.enums.MifosAppLanguage -import com.mifos.core.common.utils.Constants +import com.mifos.core.model.objects.enums.MifosAppLanguage import com.mifos.core.datastore.PrefManager import com.mifos.core.designsystem.icon.MifosIcons import com.mifos.feature.settings.R diff --git a/feature/settings/src/main/java/com/mifos/feature/settings/syncSurvey/SyncSurveysDialogViewModel.kt b/feature/settings/src/main/java/com/mifos/feature/settings/syncSurvey/SyncSurveysDialogViewModel.kt index c09abf11a16..560b5b199bc 100644 --- a/feature/settings/src/main/java/com/mifos/feature/settings/syncSurvey/SyncSurveysDialogViewModel.kt +++ b/feature/settings/src/main/java/com/mifos/feature/settings/syncSurvey/SyncSurveysDialogViewModel.kt @@ -10,7 +10,6 @@ package com.mifos.feature.settings.syncSurvey import androidx.lifecycle.ViewModel -import com.mifos.core.common.utils.NetworkUtilsWrapper import com.mifos.core.entity.survey.QuestionDatas import com.mifos.core.entity.survey.ResponseDatas import com.mifos.core.entity.survey.Survey diff --git a/mifosng-android/src/main/java/com/mifos/application/App.kt b/mifosng-android/src/main/java/com/mifos/application/App.kt index f874465d220..764d73b200d 100644 --- a/mifosng-android/src/main/java/com/mifos/application/App.kt +++ b/mifosng-android/src/main/java/com/mifos/application/App.kt @@ -15,7 +15,6 @@ import android.os.StrictMode import android.os.StrictMode.VmPolicy import androidx.multidex.MultiDexApplication import com.facebook.stetho.Stetho -import com.mifos.core.common.utils.LanguageHelper.onAttach import com.raizlabs.android.dbflow.config.FlowConfig import com.raizlabs.android.dbflow.config.FlowManager import dagger.hilt.android.HiltAndroidApp diff --git a/mifosng-android/src/main/java/com/mifos/mifosxdroid/components/Navigation.kt b/mifosng-android/src/main/java/com/mifos/mifosxdroid/components/Navigation.kt index 66c615de19a..04d854b84d7 100644 --- a/mifosng-android/src/main/java/com/mifos/mifosxdroid/components/Navigation.kt +++ b/mifosng-android/src/main/java/com/mifos/mifosxdroid/components/Navigation.kt @@ -16,7 +16,6 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.navigation.NavHostController import androidx.navigation.compose.NavHost -import com.mifos.core.common.utils.Constants import com.mifos.feature.about.navigation.aboutScreen import com.mifos.feature.activate.navigation.activateScreen import com.mifos.feature.activate.navigation.navigateToActivateScreen