remove usage of LiveDataAdapter and related interface

feature/top10
Razmig Sarkissian 7 years ago
parent 7feec6f693
commit 4242e4cfb7
  1. 4
      app/src/main/java/net/pokeranalytics/android/model/LiveData.kt
  2. 5
      app/src/main/java/net/pokeranalytics/android/model/realm/Bankroll.kt
  3. 4
      app/src/main/java/net/pokeranalytics/android/model/realm/Game.kt
  4. 4
      app/src/main/java/net/pokeranalytics/android/model/realm/Location.kt
  5. 15
      app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt
  6. 4
      app/src/main/java/net/pokeranalytics/android/model/realm/TournamentFeature.kt
  7. 4
      app/src/main/java/net/pokeranalytics/android/model/realm/TransactionType.kt
  8. 1
      app/src/main/java/net/pokeranalytics/android/ui/adapter/components/LiveDataAdapter.kt
  9. 2
      app/src/main/java/net/pokeranalytics/android/ui/fragment/EditableDataFragment.kt
  10. 46
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetListFragment.kt
  11. 49
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/bottomsheet/BottomSheetListGameFragment.kt

@ -66,8 +66,8 @@ enum class LiveData : Localizable {
}
}
fun deleteData(realm:Realm, data:LiveDataDataSource) {
realm.where(this.relatedEntity).equalTo("id", data.primaryKey).findAll().deleteAllFromRealm()
fun deleteData(realm:Realm, data:ObjectSavable) {
realm.where(this.relatedEntity).equalTo("id", data.uniqueIdentifier()).findAll().deleteAllFromRealm()
}
fun updateOrCreate(realm:Realm, primaryKey:String?): RealmObject {

@ -12,7 +12,7 @@ import net.pokeranalytics.android.ui.view.*
import java.util.*
import kotlin.collections.ArrayList
open class Bankroll(name: String = "") : RealmObject(), RowRepresentableDataSource, LiveDataDataSource,
open class Bankroll(name: String = "") : RealmObject(), RowRepresentableDataSource,
RowEditable, ObjectSavable, RowRepresentable {
companion object {
@ -47,9 +47,6 @@ open class Bankroll(name: String = "") : RealmObject(), RowRepresentableDataSour
return this.id
}
override val title: String get() = this.name
override val primaryKey: String get() = this.id
override fun adapterRows(): ArrayList<RowRepresentable> {
val rows = ArrayList<RowRepresentable>()
rows.add(SimpleRow.NAME)

@ -11,7 +11,7 @@ import net.pokeranalytics.android.ui.fragment.components.bottomsheet.BottomSheet
import net.pokeranalytics.android.ui.view.*
import java.util.*
open class Game : RealmObject(), RowRepresentableDataSource, LiveDataDataSource, RowEditable, ObjectSavable,
open class Game : RealmObject(), RowRepresentableDataSource, RowEditable, ObjectSavable,
RowRepresentable {
@PrimaryKey
@ -23,8 +23,6 @@ open class Game : RealmObject(), RowRepresentableDataSource, LiveDataDataSource,
// A shorter name for the game
var shortName: String? = null
override val title: String get() = this.name
override val primaryKey: String get() = this.id
override fun getDisplayName(): String {
return this.name
}

@ -13,7 +13,7 @@ import net.pokeranalytics.android.ui.view.SimpleRow
import java.util.*
open class Location : RealmObject(), RowRepresentableDataSource, LiveDataDataSource, RowEditable, ObjectSavable, RowRepresentable {
open class Location : RealmObject(), RowRepresentableDataSource, RowEditable, ObjectSavable, RowRepresentable {
@PrimaryKey
var id = UUID.randomUUID().toString()
@ -27,8 +27,6 @@ open class Location : RealmObject(), RowRepresentableDataSource, LiveDataDataSou
// the latitude of the location
var latitude: Double? = null
override val title: String get() = this.name
override val primaryKey: String get() = this.id
override fun getDisplayName(): String {
return this.name
}

@ -23,7 +23,7 @@ import net.pokeranalytics.android.util.toCurrency
import java.util.*
import kotlin.collections.ArrayList
open class Session : RealmObject(), SessionInterface, RowRepresentableDataSource, LiveDataDataSource,
open class Session : RealmObject(), SessionInterface, RowRepresentableDataSource,
RowEditable {
@PrimaryKey
@ -194,7 +194,7 @@ open class Session : RealmObject(), SessionInterface, RowRepresentableDataSource
gameTitle += limit
}
if (game != null) {
gameTitle += game?.title
gameTitle += game?.name
}
return gameTitle
}
@ -256,9 +256,9 @@ open class Session : RealmObject(), SessionInterface, RowRepresentableDataSource
return when (row) {
SessionRow.BUY_IN -> buyin.toCurrency()
SessionRow.BLINDS -> if (cgSmallBlind != null && cgBigBlind != null) "$cgSmallBlind / $cgBigBlind" else "--"
SessionRow.GAME -> game?.title ?: "--"
SessionRow.LOCATION -> location?.title ?: "--"
SessionRow.BANKROLL -> bankroll?.title ?: "--"
SessionRow.GAME -> game?.name ?: "--"
SessionRow.LOCATION -> location?.name ?: "--"
SessionRow.BANKROLL -> bankroll?.name ?: "--"
SessionRow.TABLE_SIZE -> tableSize?.toString() ?: "--"
SessionRow.START_DATE -> if (timeFrame != null) timeFrame?.startDate?.short() ?: "--" else "--"
SessionRow.END_DATE -> if (timeFrame != null) timeFrame?.endDate?.short() ?: "--" else "--"
@ -276,11 +276,6 @@ open class Session : RealmObject(), SessionInterface, RowRepresentableDataSource
}
}
override var title: String = "Change that: $creationDate"
override val primaryKey: String get() = this.id
override fun getBottomSheetData(row: RowRepresentable): ArrayList<BottomSheetData> {
val data = ArrayList<BottomSheetData>()

@ -12,7 +12,7 @@ import net.pokeranalytics.android.ui.view.SimpleRow
import net.pokeranalytics.android.ui.view.TournamentFeatureRow
import java.util.*
open class TournamentFeature : RealmObject(), RowRepresentableDataSource, LiveDataDataSource, RowEditable, ObjectSavable, RowRepresentable {
open class TournamentFeature : RealmObject(), RowRepresentableDataSource, RowEditable, ObjectSavable, RowRepresentable {
@PrimaryKey
var id = UUID.randomUUID().toString()
@ -20,8 +20,6 @@ open class TournamentFeature : RealmObject(), RowRepresentableDataSource, LiveDa
// The name of the feature
var name: String = ""
override val title: String get() = this.name
override val primaryKey: String get() = this.id
override fun getDisplayName(): String {
return this.name
}

@ -13,7 +13,7 @@ import net.pokeranalytics.android.ui.view.TransactionTypeRow
import java.util.*
open class TransactionType : RealmObject(), RowRepresentableDataSource, LiveDataDataSource, RowEditable, ObjectSavable, RowRepresentable {
open class TransactionType : RealmObject(), RowRepresentableDataSource, RowEditable, ObjectSavable, RowRepresentable {
@PrimaryKey
var id = UUID.randomUUID().toString()
@ -30,8 +30,6 @@ open class TransactionType : RealmObject(), RowRepresentableDataSource, LiveData
// The predefined kind, if necessary, like: Withdrawal, deposit, or tips
var kind: Int? = null
override val title: String get() = this.name
override val primaryKey: String get() = this.id
override fun getDisplayName(): String {
return this.name
}

@ -16,7 +16,6 @@ enum class LiveDataViewType {
interface LiveDataDataSource {
val title: String
val primaryKey: String
}
interface LiveDataDelegate {

@ -138,7 +138,7 @@ class EditableDataFragment : PokerAnalyticsFragment(), RowRepresentableDelegate,
Toast.makeText(requireContext(), "isManaged", Toast.LENGTH_SHORT).show()
Timber.d("is managed")
this.getRealm().executeTransaction {
this.liveDataType.deleteData(it, (this.item as LiveDataDataSource))
this.liveDataType.deleteData(it, (this.item as ObjectSavable))
}
} else {
Toast.makeText(requireContext(), "isNotManaged", Toast.LENGTH_SHORT).show()

@ -8,16 +8,14 @@ import io.realm.RealmResults
import kotlinx.android.synthetic.main.bottom_sheet_list.*
import kotlinx.android.synthetic.main.fragment_bottom_sheet.view.*
import net.pokeranalytics.android.R
import net.pokeranalytics.android.model.realm.Game
import net.pokeranalytics.android.ui.adapter.components.LiveDataAdapter
import net.pokeranalytics.android.ui.adapter.components.LiveDataDataSource
import net.pokeranalytics.android.ui.adapter.components.LiveDataDelegate
import net.pokeranalytics.android.ui.adapter.components.LiveDataViewType
import net.pokeranalytics.android.ui.adapter.components.*
import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.RowViewType
class BottomSheetListFragment : BottomSheetFragment(), LiveDataDelegate {
class BottomSheetListFragment : BottomSheetFragment(), RowRepresentableDataSource, RowRepresentableDelegate {
private var realmData: RealmResults<*>? = null
private lateinit var dataAdapter: LiveDataAdapter
private lateinit var dataAdapter: RowRepresentableAdapter
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
@ -30,15 +28,32 @@ class BottomSheetListFragment : BottomSheetFragment(), LiveDataDelegate {
dataAdapter.notifyDataSetChanged()
}
override fun data(position: Int): LiveDataDataSource {
override fun rowRepresentableForPosition(position: Int): RowRepresentable {
realmData?.let {
return it[position] as LiveDataDataSource
return it[position] as RowRepresentable
}
//TODO: Change that
return Game()
return super.rowRepresentableForPosition(position)
}
override fun onRowSelected(position: Int) {
override fun numberOfRows(): Int {
realmData?.let {
return it.size
}
return super.numberOfRows()
}
override fun viewTypeForPosition(position: Int): Int {
return RowViewType.BOTTOM_SHEET_DATA.ordinal
}
override fun indexForRow(row: RowRepresentable): Int {
realmData?.let {
return it.indexOf(row)
}
return super.indexForRow(row)
}
override fun onIndexSelected(position: Int) {
realmData?.let {
val selectedData = it[position]
selectedData?.let {data ->
@ -46,10 +61,7 @@ class BottomSheetListFragment : BottomSheetFragment(), LiveDataDelegate {
dismiss()
}
}
}
override fun size(): Int {
return realmData?.size ?: 0
super.onIndexSelected(position)
}
/**
@ -70,7 +82,7 @@ class BottomSheetListFragment : BottomSheetFragment(), LiveDataDelegate {
LayoutInflater.from(requireContext()).inflate(R.layout.bottom_sheet_list, view?.bottomSheetContainer, true)
val viewManager = LinearLayoutManager(requireContext())
dataAdapter = LiveDataAdapter(this, LiveDataViewType.BOTTOM_SHEET_DATA)
dataAdapter = RowRepresentableAdapter(this, this)
reyclerView.apply {
setHasFixedSize(true)

@ -10,17 +10,16 @@ import kotlinx.android.synthetic.main.fragment_bottom_sheet.view.*
import net.pokeranalytics.android.R
import net.pokeranalytics.android.model.realm.Game
import net.pokeranalytics.android.ui.adapter.LimitTypesAdapter
import net.pokeranalytics.android.ui.adapter.components.LiveDataAdapter
import net.pokeranalytics.android.ui.adapter.components.LiveDataDataSource
import net.pokeranalytics.android.ui.adapter.components.LiveDataDelegate
import net.pokeranalytics.android.ui.adapter.components.LiveDataViewType
import net.pokeranalytics.android.ui.adapter.components.*
import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.RowViewType
import timber.log.Timber
class BottomSheetListGameFragment : BottomSheetFragment(), LiveDataDelegate {
class BottomSheetListGameFragment : BottomSheetFragment(), RowRepresentableDataSource, RowRepresentableDelegate {
private var realmData: RealmResults<*>? = null
private lateinit var dataAdapter: LiveDataAdapter
private lateinit var dataAdapter: RowRepresentableAdapter
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
@ -33,15 +32,33 @@ class BottomSheetListGameFragment : BottomSheetFragment(), LiveDataDelegate {
dataAdapter.notifyDataSetChanged()
}
override fun data(position: Int): LiveDataDataSource {
override fun rowRepresentableForPosition(position: Int): RowRepresentable {
realmData?.let {
return it[position] as RowRepresentable
}
return super.rowRepresentableForPosition(position)
}
override fun numberOfRows(): Int {
realmData?.let {
return it[position] as LiveDataDataSource
return it.size
}
return super.numberOfRows()
}
//TODO: Change that
return Game()
override fun viewTypeForPosition(position: Int): Int {
return RowViewType.BOTTOM_SHEET_DATA.ordinal
}
override fun onRowSelected(position: Int) {
override fun indexForRow(row: RowRepresentable): Int {
realmData?.let {
return it.indexOf(row)
}
return super.indexForRow(row)
}
override fun onIndexSelected(position: Int) {
realmData?.let {
val selectedData = it[position]
selectedData?.let {data ->
@ -49,13 +66,7 @@ class BottomSheetListGameFragment : BottomSheetFragment(), LiveDataDelegate {
dismiss()
}
}
}
override fun size(): Int {
Timber.d("Games: ${realmData?.size}")
return realmData?.size ?: 0
super.onIndexSelected(position)
}
/**
@ -91,7 +102,7 @@ class BottomSheetListGameFragment : BottomSheetFragment(), LiveDataDelegate {
val viewManager2 = LinearLayoutManager(requireContext())
dataAdapter = LiveDataAdapter(this, LiveDataViewType.BOTTOM_SHEET_DATA)
dataAdapter = RowRepresentableAdapter(this, this)
recyclerView2.apply {
setHasFixedSize(true)

Loading…
Cancel
Save