Merge branch 'master' into dev

dev^2
Razmig Sarkissian 6 years ago
commit ac2000ea8c
  1. 32
      app/src/main/java/net/pokeranalytics/android/ui/adapter/FeedSessionRowRepresentableAdapter.kt
  2. 1
      app/src/main/java/net/pokeranalytics/android/ui/adapter/FeedTransactionRowRepresentableAdapter.kt
  3. 8
      app/src/main/java/net/pokeranalytics/android/ui/fragment/FeedFragment.kt

@ -43,7 +43,7 @@ class FeedSessionRowRepresentableAdapter(
var filter: Filter? = null var filter: Filter? = null
set(value) { set(value) {
field = value field = value
filterChanged() defineSessions()
refreshData() refreshData()
} }
@ -58,17 +58,6 @@ class FeedSessionRowRepresentableAdapter(
.sort("startDate", Sort.DESCENDING) .sort("startDate", Sort.DESCENDING)
this.pendingSessions = requestNewQuery().isNull("startDate").findAll() this.pendingSessions = requestNewQuery().isNull("startDate").findAll()
.sort("creationDate", Sort.DESCENDING) .sort("creationDate", Sort.DESCENDING)
// listeners
this.startedSessions.addChangeListener { _, _ ->
// Timber.d("---> started session change")
refreshData()
}
this.pendingSessions.addChangeListener { _, _ ->
// Timber.d("---> pending session change")
refreshData()
}
} }
private fun requestNewQuery() : RealmQuery<Session> { private fun requestNewQuery() : RealmQuery<Session> {
@ -79,14 +68,6 @@ class FeedSessionRowRepresentableAdapter(
} }
} }
private fun filterChanged() {
this.startedSessions.removeAllChangeListeners()
this.pendingSessions.removeAllChangeListeners()
defineSessions()
}
/** /**
* Display a session view * Display a session view
*/ */
@ -189,12 +170,12 @@ class FeedSessionRowRepresentableAdapter(
/** /**
* Refresh headers positions * Refresh headers positions
*/ */
private fun refreshData() { fun refreshData() {
allSessions.clear() allSessions.clear()
allSessions.addAll(this.pendingSessions) allSessions.addAll(this.pendingSessions)
allSessions.addAll(this.startedSessions) allSessions.addAll(this.startedSessions)
Timber.d("All sessions count = ${allSessions.size}") Timber.d("Update session list, total count = ${allSessions.size}")
val headersPositions = HashMap<Int, Date?>() val headersPositions = HashMap<Int, Date?>()
@ -222,8 +203,6 @@ class FeedSessionRowRepresentableAdapter(
} }
sortedHeaders = headersPositions.toSortedMap() sortedHeaders = headersPositions.toSortedMap()
this.notifyDataSetChanged()
Timber.d("Create viewTypesPositions in: ${System.currentTimeMillis() - start}ms") Timber.d("Create viewTypesPositions in: ${System.currentTimeMillis() - start}ms")
} }
@ -235,9 +214,4 @@ class FeedSessionRowRepresentableAdapter(
return currentCalendar.get(Calendar.YEAR) == previousYear && currentCalendar.get(Calendar.MONTH) < previousMonth || (currentCalendar.get(Calendar.YEAR) < previousYear) return currentCalendar.get(Calendar.YEAR) == previousYear && currentCalendar.get(Calendar.MONTH) < previousMonth || (currentCalendar.get(Calendar.YEAR) < previousYear)
} }
fun destroy() {
this.startedSessions.removeAllChangeListeners()
this.pendingSessions.removeAllChangeListeners()
}
} }

@ -148,7 +148,6 @@ class FeedTransactionRowRepresentableAdapter(
sortedHeaders = headersPositions.toSortedMap() sortedHeaders = headersPositions.toSortedMap()
this.notifyDataSetChanged()
} }
/** /**

@ -69,14 +69,19 @@ class FeedFragment : FilterableFragment(), RowRepresentableDelegate {
private var selectedTransaction: Transaction? = null private var selectedTransaction: Transaction? = null
private var selectedTransactionPosition: Int = -1 private var selectedTransactionPosition: Int = -1
override val observedEntities: List<Class<out RealmModel>> = listOf(Transaction::class.java) override val observedEntities: List<Class<out RealmModel>> = listOf(Session::class.java, Transaction::class.java)
override fun entitiesChanged(clazz: Class<out RealmModel>, results: RealmResults<out RealmModel>) { override fun entitiesChanged(clazz: Class<out RealmModel>, results: RealmResults<out RealmModel>) {
super.entitiesChanged(clazz, results) super.entitiesChanged(clazz, results)
when (clazz.kotlin) { when (clazz.kotlin) {
Session::class -> {
this.feedSessionAdapter.refreshData()
this.feedSessionAdapter.notifyDataSetChanged()
}
Transaction::class -> { Transaction::class -> {
this.feedTransactionAdapter.refreshData() this.feedTransactionAdapter.refreshData()
this.feedTransactionAdapter.notifyDataSetChanged()
} }
} }
@ -147,7 +152,6 @@ class FeedFragment : FilterableFragment(), RowRepresentableDelegate {
override fun onDestroyView() { override fun onDestroyView() {
super.onDestroyView() super.onDestroyView()
feedSessionAdapter.destroy()
realmTransactions.removeAllChangeListeners() realmTransactions.removeAllChangeListeners()
} }

Loading…
Cancel
Save