|
|
|
@ -3,94 +3,99 @@ package net.pokeranalytics.android.model.realm |
|
|
|
import android.text.InputType |
|
|
|
import android.text.InputType |
|
|
|
import io.realm.RealmList |
|
|
|
import io.realm.RealmList |
|
|
|
import io.realm.RealmObject |
|
|
|
import io.realm.RealmObject |
|
|
|
|
|
|
|
import io.realm.annotations.Ignore |
|
|
|
import io.realm.annotations.PrimaryKey |
|
|
|
import io.realm.annotations.PrimaryKey |
|
|
|
import net.pokeranalytics.android.model.interfaces.Savable |
|
|
|
import net.pokeranalytics.android.model.interfaces.Savable |
|
|
|
import net.pokeranalytics.android.ui.adapter.RowRepresentableDataSource |
|
|
|
import net.pokeranalytics.android.ui.adapter.RowRepresentableDataSource |
|
|
|
import net.pokeranalytics.android.ui.view.RowEditableDescriptor |
|
|
|
|
|
|
|
import net.pokeranalytics.android.ui.view.* |
|
|
|
import net.pokeranalytics.android.ui.view.* |
|
|
|
import java.util.* |
|
|
|
import java.util.* |
|
|
|
import kotlin.collections.ArrayList |
|
|
|
import kotlin.collections.ArrayList |
|
|
|
|
|
|
|
|
|
|
|
open class Bankroll(name: String = "") : RealmObject(), Savable, |
|
|
|
open class Bankroll(name: String = "") : RealmObject(), Savable, |
|
|
|
RowRepresentableDataSource, |
|
|
|
RowRepresentableDataSource, |
|
|
|
RowEditable, RowRepresentable { |
|
|
|
RowEditable, RowRepresentable { |
|
|
|
|
|
|
|
|
|
|
|
companion object { |
|
|
|
companion object { |
|
|
|
fun newInstance() : Bankroll { |
|
|
|
fun newInstance(): Bankroll { |
|
|
|
var bankroll: Bankroll = Bankroll() |
|
|
|
var bankroll: Bankroll = Bankroll() |
|
|
|
return bankroll |
|
|
|
return bankroll |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@PrimaryKey |
|
|
|
@PrimaryKey |
|
|
|
var id = UUID.randomUUID().toString() |
|
|
|
var id = UUID.randomUUID().toString() |
|
|
|
|
|
|
|
|
|
|
|
// the name of the bankroll |
|
|
|
// the name of the bankroll |
|
|
|
var name: String = name |
|
|
|
var name: String = name |
|
|
|
|
|
|
|
|
|
|
|
// Indicates whether the bankroll is live or online |
|
|
|
// Indicates whether the bankroll is live or online |
|
|
|
var live: Boolean = true |
|
|
|
var live: Boolean = true |
|
|
|
|
|
|
|
|
|
|
|
// The list of transactions of the bankroll |
|
|
|
// The list of transactions of the bankroll |
|
|
|
var transactions: RealmList<Transaction> = RealmList() |
|
|
|
var transactions: RealmList<Transaction> = RealmList() |
|
|
|
|
|
|
|
|
|
|
|
// The currency of the bankroll |
|
|
|
// The currency of the bankroll |
|
|
|
var currency: Currency? = null |
|
|
|
var currency: Currency? = null |
|
|
|
|
|
|
|
|
|
|
|
// @todo rate management |
|
|
|
// @todo rate management |
|
|
|
|
|
|
|
|
|
|
|
override fun getDisplayName(): String { |
|
|
|
override fun getDisplayName(): String { |
|
|
|
return this.name |
|
|
|
return this.name |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
override fun uniqueIdentifier(): String { |
|
|
|
override fun uniqueIdentifier(): String { |
|
|
|
return this.id |
|
|
|
return this.id |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
override fun adapterRows(): ArrayList<RowRepresentable> { |
|
|
|
override fun adapterRows(): ArrayList<RowRepresentable> { |
|
|
|
val rows = ArrayList<RowRepresentable>() |
|
|
|
val rows = ArrayList<RowRepresentable>() |
|
|
|
rows.add(SimpleRow.NAME) |
|
|
|
rows.add(SimpleRow.NAME) |
|
|
|
rows.addAll(BankrollRow.values()) |
|
|
|
rows.addAll(BankrollRow.values()) |
|
|
|
return rows |
|
|
|
return rows |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
override fun stringForRow(row: RowRepresentable): String { |
|
|
|
override fun stringForRow(row: RowRepresentable): String { |
|
|
|
return when (row) { |
|
|
|
return when (row) { |
|
|
|
SimpleRow.NAME -> this.name |
|
|
|
SimpleRow.NAME -> this.name |
|
|
|
BankrollRow.LIVE -> if (this.live) "live" else "online" |
|
|
|
BankrollRow.LIVE -> if (this.live) "live" else "online" |
|
|
|
BankrollRow.CURRENCY -> this.currency?.code?: "" |
|
|
|
BankrollRow.CURRENCY -> this.currency?.code ?: "" |
|
|
|
else -> return super.stringForRow(row) |
|
|
|
else -> return super.stringForRow(row) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
override fun boolForRow(row: RowRepresentable): Boolean { |
|
|
|
override fun boolForRow(row: RowRepresentable): Boolean { |
|
|
|
when (row) { |
|
|
|
when (row) { |
|
|
|
BankrollRow.LIVE -> return true |
|
|
|
BankrollRow.LIVE -> return true |
|
|
|
else -> return super.boolForRow(row) |
|
|
|
else -> return super.boolForRow(row) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
override fun rowEditableDescriptors(row: RowRepresentable): ArrayList<RowEditableDescriptor> { |
|
|
|
override fun rowEditableDescriptors(row: RowRepresentable): ArrayList<RowEditableDescriptor> { |
|
|
|
val data = java.util.ArrayList<RowEditableDescriptor>() |
|
|
|
val data = java.util.ArrayList<RowEditableDescriptor>() |
|
|
|
when (row) { |
|
|
|
when (row) { |
|
|
|
SimpleRow.NAME -> data.add( |
|
|
|
SimpleRow.NAME -> data.add( |
|
|
|
RowEditableDescriptor( |
|
|
|
RowEditableDescriptor( |
|
|
|
this.name, |
|
|
|
this.name, |
|
|
|
SimpleRow.NAME.resId, |
|
|
|
SimpleRow.NAME.resId, |
|
|
|
InputType.TYPE_CLASS_TEXT |
|
|
|
InputType.TYPE_CLASS_TEXT |
|
|
|
) |
|
|
|
) |
|
|
|
) |
|
|
|
) |
|
|
|
} |
|
|
|
} |
|
|
|
return data |
|
|
|
return data |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
override fun updateValue(value: Any?, row: RowRepresentable) { |
|
|
|
override fun updateValue(value: Any?, row: RowRepresentable) { |
|
|
|
when (row) { |
|
|
|
when (row) { |
|
|
|
SimpleRow.NAME -> this.name = value as String? ?: "" |
|
|
|
SimpleRow.NAME -> this.name = value as String? ?: "" |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
override fun isValidForSave(): Boolean { |
|
|
|
override fun isValidForSave(): Boolean { |
|
|
|
return this.name.isNotEmpty() |
|
|
|
return this.name.isNotEmpty() |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Ignore |
|
|
|
|
|
|
|
override var displayHeader: Boolean = false |
|
|
|
|
|
|
|
@Ignore |
|
|
|
|
|
|
|
override var headerValues: ArrayList<String> = ArrayList() |
|
|
|
} |
|
|
|
} |