Fixes crash with thousands + improved format

feature/top10
Laurent 7 years ago
parent f4a749fbb8
commit b591ba977c
  1. 6
      app/src/main/java/net/pokeranalytics/android/model/realm/Bankroll.kt
  2. 7
      app/src/main/java/net/pokeranalytics/android/ui/fragment/BankrollDataFragment.kt
  3. 5
      app/src/main/java/net/pokeranalytics/android/ui/fragment/SettingsFragment.kt
  4. 1
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetNumericTextFragment.kt
  5. 4
      app/src/main/java/net/pokeranalytics/android/ui/view/rowrepresentable/BankrollRow.kt

@ -89,11 +89,7 @@ open class Bankroll() : RealmObject(), NameManageable, StaticRowRepresentableDat
this.currency?.code = value as String? this.currency?.code = value as String?
} }
BankrollRow.RATE -> { BankrollRow.RATE -> {
value?.let { rate -> this.currency?.rate = value as Double?
this.currency?.rate = (rate as String).toDouble()
} ?: run {
this.currency?.rate = null
}
} }
} }
} }

@ -114,9 +114,8 @@ class BankrollDataFragment : EditableDataFragment(), StaticRowRepresentableDataS
return when (row) { return when (row) {
SimpleRow.NAME -> row.editingDescriptors(mapOf("defaultValue" to this.bankroll.name)) SimpleRow.NAME -> row.editingDescriptors(mapOf("defaultValue" to this.bankroll.name))
BankrollRow.RATE -> { BankrollRow.RATE -> {
val rate = this.bankroll.currency?.rate ?: 1.0 val rate = this.bankroll.currency?.rate
val rateFormatted = CurrencyUtils.getCurrencyRateFormatter().format(rate) row.editingDescriptors(mapOf("defaultValue" to rate))
row.editingDescriptors(mapOf("defaultValue" to rateFormatted))
} }
else -> null else -> null
} }
@ -205,7 +204,7 @@ class BankrollDataFragment : EditableDataFragment(), StaticRowRepresentableDataS
override fun onResponse(call: Call<Map<String, CurrencyConverterValue>>, response: Response<Map<String, CurrencyConverterValue>>) { override fun onResponse(call: Call<Map<String, CurrencyConverterValue>>, response: Response<Map<String, CurrencyConverterValue>>) {
response.body()?.let { response.body()?.let {
it[currenciesConverterValue]?.value?.let { rate -> it[currenciesConverterValue]?.value?.let { rate ->
onRowValueChanged(rate.toString(), BankrollRow.RATE) onRowValueChanged(rate, BankrollRow.RATE)
} }
} }

@ -56,7 +56,10 @@ class SettingsFragment : PokerAnalyticsFragment(), RowRepresentableDelegate, Sta
override fun stringForRow(row: RowRepresentable): String { override fun stringForRow(row: RowRepresentable): String {
return when (row) { return when (row) {
SettingRow.VERSION -> BuildConfig.VERSION_NAME + if (BuildConfig.DEBUG) " (${BuildConfig.VERSION_CODE}) DEBUG" else "" SettingRow.VERSION -> BuildConfig.VERSION_NAME + if (BuildConfig.DEBUG) " (${BuildConfig.VERSION_CODE}) DEBUG" else ""
SettingRow.CURRENCY -> Currency.getInstance(Preferences.getCurrencyLocale(this.parentActivity)).symbol SettingRow.CURRENCY -> {
val locale = Preferences.getCurrencyLocale(this.parentActivity)
Currency.getInstance(locale).symbol
}
else -> "" else -> ""
} }
} }

@ -63,6 +63,7 @@ class BottomSheetNumericTextFragment : BottomSheetFragment() {
data[0].defaultValue?.let { data[0].defaultValue?.let {
if (it is Double || it is Long) { if (it is Double || it is Long) {
val formatter = NumberFormat.getNumberInstance() val formatter = NumberFormat.getNumberInstance()
formatter.maximumFractionDigits = 6
formatter.isGroupingUsed = false formatter.isGroupingUsed = false
editText1.setText(formatter.format(it)) editText1.setText(formatter.format(it))
} else { } else {

@ -40,14 +40,14 @@ enum class BankrollRow : RowRepresentable, DefaultEditDataSource {
return when (this) { return when (this) {
LIVE -> BottomSheetType.NONE LIVE -> BottomSheetType.NONE
CURRENCY -> BottomSheetType.NONE CURRENCY -> BottomSheetType.NONE
RATE -> BottomSheetType.EDIT_TEXT RATE -> BottomSheetType.NUMERIC_TEXT
REFRESH_RATE -> BottomSheetType.NONE REFRESH_RATE -> BottomSheetType.NONE
} }
} }
override fun editingDescriptors(map: Map<String, Any?>): ArrayList<RowRepresentableEditDescriptor>? { override fun editingDescriptors(map: Map<String, Any?>): ArrayList<RowRepresentableEditDescriptor>? {
return when (this) { return when (this) {
BankrollRow.RATE -> { RATE -> {
val defaultValue : Any? by map val defaultValue : Any? by map
arrayListOf( arrayListOf(
RowRepresentableEditDescriptor(defaultValue, R.string.rate, InputType.TYPE_CLASS_NUMBER RowRepresentableEditDescriptor(defaultValue, R.string.rate, InputType.TYPE_CLASS_NUMBER

Loading…
Cancel
Save