Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import com.oztechan.ccc.client.core.shared.util.isNotPassed
import com.oztechan.ccc.client.core.shared.util.nowAsDateString
import com.oztechan.ccc.client.core.viewmodel.BaseEffect
import com.oztechan.ccc.client.core.viewmodel.SEEDViewModel
import com.oztechan.ccc.client.core.viewmodel.util.launchIgnored
import com.oztechan.ccc.client.datasource.currency.CurrencyDataSource
import com.oztechan.ccc.client.service.backend.BackendApiService
import com.oztechan.ccc.client.storage.app.AppStorage
Expand Down Expand Up @@ -90,17 +89,17 @@ class WidgetViewModel(
}

// region Event
override fun onPreviousClick() = viewModelScope.launchIgnored {
override fun onPreviousClick() {
Logger.d { "WidgetViewModel onPreviousClick" }
updateBase(false)
}

override fun onNextClick() = viewModelScope.launchIgnored {
override fun onNextClick() {
Logger.d { "WidgetViewModel onNextClick" }
updateBase(true)
}

override fun onRefreshClick() = viewModelScope.launchIgnored {
override fun onRefreshClick() {
Logger.d { "WidgetViewModel onRefreshClick" }
refreshWidgetData()
}
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ import com.oztechan.ccc.client.core.shared.util.nowAsDateString
import com.oztechan.ccc.client.core.shared.util.toStandardDigits
import com.oztechan.ccc.client.core.shared.util.toSupportedCharacters
import com.oztechan.ccc.client.core.viewmodel.SEEDViewModel
import com.oztechan.ccc.client.core.viewmodel.util.launchIgnored
import com.oztechan.ccc.client.datasource.currency.CurrencyDataSource
import com.oztechan.ccc.client.repository.adcontrol.AdControlRepository
import com.oztechan.ccc.client.service.backend.BackendApiService
Expand Down Expand Up @@ -116,7 +115,7 @@ class CalculatorViewModel(
}
}

private fun updateConversionFailed(t: Throwable) = viewModelScope.launchIgnored {
private fun updateConversionFailed(t: Throwable) = viewModelScope.launch {
Logger.w(t) { "CalculatorViewModel updateConversionFailed" }
conversionDataSource.getConversionByBase(
calculationStorage.currentBase
Expand Down Expand Up @@ -172,7 +171,7 @@ class CalculatorViewModel(
}

private fun currentBaseChanged(newBase: String, shouldTrack: Boolean = false) =
viewModelScope.launchIgnored {
viewModelScope.launch {
data.conversion = null
calculationStorage.currentBase = newBase
val symbol = currencyDataSource.getCurrencyByCode(newBase)?.symbol.orEmpty()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,14 @@ import com.oztechan.ccc.client.core.analytics.model.Param
import com.oztechan.ccc.client.core.analytics.model.UserProperty
import com.oztechan.ccc.client.core.shared.constants.MINIMUM_ACTIVE_CURRENCY
import com.oztechan.ccc.client.core.viewmodel.SEEDViewModel
import com.oztechan.ccc.client.core.viewmodel.util.launchIgnored
import com.oztechan.ccc.client.datasource.currency.CurrencyDataSource
import com.oztechan.ccc.client.repository.adcontrol.AdControlRepository
import com.oztechan.ccc.client.storage.app.AppStorage
import com.oztechan.ccc.client.storage.calculation.CalculationStorage
import com.oztechan.ccc.common.core.model.Currency
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.launch

@Suppress("TooManyFunctions")
class CurrenciesViewModel(
Expand Down Expand Up @@ -99,14 +99,18 @@ class CurrenciesViewModel(
}

// region Event
override fun updateAllCurrenciesState(state: Boolean) = viewModelScope.launchIgnored {
override fun updateAllCurrenciesState(state: Boolean) {
Logger.d { "CurrenciesViewModel updateAllCurrenciesState $state" }
currencyDataSource.updateCurrencyStates(state)
viewModelScope.launch {
currencyDataSource.updateCurrencyStates(state)
}
}

override fun onItemClick(currency: Currency) = viewModelScope.launchIgnored {
override fun onItemClick(currency: Currency) {
Logger.d { "CurrenciesViewModel onItemClick ${currency.code}" }
currencyDataSource.updateCurrencyStateByCode(currency.code, !currency.isActive)
viewModelScope.launch {
currencyDataSource.updateCurrencyStateByCode(currency.code, !currency.isActive)
}
}

override fun onDoneClick() {
Expand All @@ -128,7 +132,7 @@ class CurrenciesViewModel(
setState { copy(selectionVisibility = !it) }
}

override fun onCloseClick() = viewModelScope.launchIgnored {
override fun onCloseClick() {
Logger.d { "CurrenciesViewModel onCloseClick" }
if (state.value.selectionVisibility) {
setState { copy(selectionVisibility = false) }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import com.oztechan.ccc.client.core.analytics.model.UserProperty
import com.oztechan.ccc.client.core.shared.util.toStandardDigits
import com.oztechan.ccc.client.core.shared.util.toSupportedCharacters
import com.oztechan.ccc.client.core.viewmodel.SEEDViewModel
import com.oztechan.ccc.client.core.viewmodel.util.launchIgnored
import com.oztechan.ccc.client.datasource.currency.CurrencyDataSource
import com.oztechan.ccc.client.datasource.watcher.WatcherDataSource
import com.oztechan.ccc.client.repository.adcontrol.AdControlRepository
Expand Down Expand Up @@ -52,42 +51,50 @@ class WatchersViewModel(
sendEffect { WatchersEffect.SelectTarget(watcher) }
}

override fun onBaseChanged(watcher: Watcher, newBase: String) = viewModelScope.launchIgnored {
override fun onBaseChanged(watcher: Watcher, newBase: String) {
Logger.d { "WatcherViewModel onBaseChanged $watcher $newBase" }
watcherDataSource.updateWatcherBaseById(newBase, watcher.id)
viewModelScope.launch {
watcherDataSource.updateWatcherBaseById(newBase, watcher.id)
}
}

override fun onTargetChanged(watcher: Watcher, newTarget: String) =
viewModelScope.launchIgnored {
Logger.d { "WatcherViewModel onTargetChanged $watcher $newTarget" }
override fun onTargetChanged(watcher: Watcher, newTarget: String) {
Logger.d { "WatcherViewModel onTargetChanged $watcher $newTarget" }
viewModelScope.launch {
watcherDataSource.updateWatcherTargetById(newTarget, watcher.id)
}
}

override fun onAddClick() = viewModelScope.launchIgnored {
override fun onAddClick() {
Logger.d { "WatcherViewModel onAddClick" }

if (watcherDataSource.getWatchers().size >= MAXIMUM_NUMBER_OF_WATCHER) {
sendEffect { WatchersEffect.MaximumNumberOfWatchers }
} else {
currencyDataSource.getActiveCurrencies().let { list ->
watcherDataSource.addWatcher(
base = list.firstOrNull()?.code.orEmpty(),
target = list.lastOrNull()?.code.orEmpty()
)
viewModelScope.launch {
if (watcherDataSource.getWatchers().size >= MAXIMUM_NUMBER_OF_WATCHER) {
sendEffect { WatchersEffect.MaximumNumberOfWatchers }
} else {
currencyDataSource.getActiveCurrencies().let { list ->
watcherDataSource.addWatcher(
base = list.firstOrNull()?.code.orEmpty(),
target = list.lastOrNull()?.code.orEmpty()
)
}
}
}
}

override fun onDeleteClick(watcher: Watcher) = viewModelScope.launchIgnored {
override fun onDeleteClick(watcher: Watcher) {
Logger.d { "WatcherViewModel onDeleteClick $watcher" }
watcherDataSource.deleteWatcher(watcher.id)
viewModelScope.launch {
watcherDataSource.deleteWatcher(watcher.id)
}
}

override fun onRelationChange(watcher: Watcher, isGreater: Boolean) =
viewModelScope.launchIgnored {
Logger.d { "WatcherViewModel onRelationChange $watcher $isGreater" }
override fun onRelationChange(watcher: Watcher, isGreater: Boolean) {
Logger.d { "WatcherViewModel onRelationChange $watcher $isGreater" }
viewModelScope.launch {
watcherDataSource.updateWatcherRelationById(isGreater, watcher.id)
}
}

override fun onRateChange(watcher: Watcher, rate: String): String {
Logger.d { "WatcherViewModel onRateChange $watcher $rate" }
Expand Down