From ad815ea0292978d5bed21fc519149035aa889cc8 Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Thu, 14 Mar 2019 13:29:19 +0100 Subject: [PATCH] Update Currency management --- .../android/ui/fragment/CurrenciesFragment.kt | 15 +++++++++------ .../android/ui/fragment/SettingsFragment.kt | 5 ++++- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/CurrenciesFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/CurrenciesFragment.kt index c94f2ab9..ba01d35f 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/CurrenciesFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/CurrenciesFragment.kt @@ -1,6 +1,7 @@ package net.pokeranalytics.android.ui.fragment import android.app.Activity +import android.content.Intent import android.os.Bundle import android.view.LayoutInflater import android.view.View @@ -16,12 +17,14 @@ import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment import net.pokeranalytics.android.ui.view.RowRepresentable import net.pokeranalytics.android.ui.view.RowViewType import net.pokeranalytics.android.ui.view.rowrepresentable.SeparatorRowRepresentable -import net.pokeranalytics.android.util.Preferences import java.util.* class CurrenciesFragment : PokerAnalyticsFragment(), StaticRowRepresentableDataSource, RowRepresentableDelegate { companion object { + + const val INTENT_CURRENCY_CODE = "INTENT_CURRENCY_CODE" + val rowRepresentation : List by lazy { val rows = ArrayList() rows.addAll(mostUsedCurrencies) @@ -30,9 +33,8 @@ class CurrenciesFragment : PokerAnalyticsFragment(), StaticRowRepresentableDataS rows } - val mostUsedCurrencyCodes = arrayListOf("EUR", "USD", "CAD", "GBP", "AUD", "CNY") - val systemCurrencies = Currency.getAvailableCurrencies() - + private val mostUsedCurrencyCodes = arrayListOf("EUR", "USD", "CAD", "GBP", "AUD", "CNY") + private val systemCurrencies = Currency.getAvailableCurrencies() private val mostUsedCurrencies = this.mostUsedCurrencyCodes.map { code -> CurrencyRow( @@ -89,8 +91,9 @@ class CurrenciesFragment : PokerAnalyticsFragment(), StaticRowRepresentableDataS // RowRepresentableDelegate override fun onRowSelected(position: Int, row: RowRepresentable, fromAction: Boolean) { - Preferences.setCurrencyCode((row as CurrencyRow).currency.currencyCode, this.context!!) - this.activity?.setResult(Activity.RESULT_OK) + val intent = Intent() + intent.putExtra(INTENT_CURRENCY_CODE, (row as CurrencyRow).currency.currencyCode) + this.activity?.setResult(Activity.RESULT_OK, intent) this.activity?.finish() } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/SettingsFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/SettingsFragment.kt index 4d850395..47f44022 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/SettingsFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/SettingsFragment.kt @@ -76,7 +76,10 @@ class SettingsFragment : PokerAnalyticsFragment(), RowRepresentableDelegate, Sta override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { if (requestCode == SettingsFragment.REQUEST_CODE_CURRENCY && resultCode == Activity.RESULT_OK) { - settingsAdapterRow.refreshRow(SettingRow.CURRENCY) + data?.let { + Preferences.setCurrencyCode(data.getStringExtra(CurrenciesFragment.INTENT_CURRENCY_CODE), requireContext()) + settingsAdapterRow.refreshRow(SettingRow.CURRENCY) + } } }