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
set(value) {
field = value
filterChanged()
defineSessions()
refreshData()
}
@ -58,17 +58,6 @@ class FeedSessionRowRepresentableAdapter(
.sort("startDate", Sort.DESCENDING)
this.pendingSessions = requestNewQuery().isNull("startDate").findAll()
.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> {
@ -79,14 +68,6 @@ class FeedSessionRowRepresentableAdapter(
}
}
private fun filterChanged() {
this.startedSessions.removeAllChangeListeners()
this.pendingSessions.removeAllChangeListeners()
defineSessions()
}
/**
* Display a session view
*/
@ -189,12 +170,12 @@ class FeedSessionRowRepresentableAdapter(
/**
* Refresh headers positions
*/
private fun refreshData() {
fun refreshData() {
allSessions.clear()
allSessions.addAll(this.pendingSessions)
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?>()
@ -222,8 +203,6 @@ class FeedSessionRowRepresentableAdapter(
}
sortedHeaders = headersPositions.toSortedMap()
this.notifyDataSetChanged()
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)
}
fun destroy() {
this.startedSessions.removeAllChangeListeners()
this.pendingSessions.removeAllChangeListeners()
}
}

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

@ -69,14 +69,19 @@ class FeedFragment : FilterableFragment(), RowRepresentableDelegate {
private var selectedTransaction: Transaction? = null
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>) {
super.entitiesChanged(clazz, results)
when (clazz.kotlin) {
Session::class -> {
this.feedSessionAdapter.refreshData()
this.feedSessionAdapter.notifyDataSetChanged()
}
Transaction::class -> {
this.feedTransactionAdapter.refreshData()
this.feedTransactionAdapter.notifyDataSetChanged()
}
}
@ -147,7 +152,6 @@ class FeedFragment : FilterableFragment(), RowRepresentableDelegate {
override fun onDestroyView() {
super.onDestroyView()
feedSessionAdapter.destroy()
realmTransactions.removeAllChangeListeners()
}

Loading…
Cancel
Save