feature/top10
Aurelien Hubert 7 years ago
parent f07c818413
commit 87e1ae3bbe
  1. 4
      app/src/main/java/net/pokeranalytics/android/ui/activity/StatisticDetailsActivity.kt
  2. 11
      app/src/main/java/net/pokeranalytics/android/ui/fragment/CalendarDetailsFragment.kt
  3. 8
      app/src/main/java/net/pokeranalytics/android/ui/fragment/CalendarFragment.kt
  4. 2
      app/src/main/java/net/pokeranalytics/android/ui/fragment/StatisticDetailsFragment.kt

@ -22,12 +22,14 @@ class StatisticDetailsActivity : PokerAnalyticsActivity() {
// Unparcel fails when setting a custom Parcelable object on Entry so we use a static reference to passe objects // Unparcel fails when setting a custom Parcelable object on Entry so we use a static reference to passe objects
var parameters: GraphParameters? = null var parameters: GraphParameters? = null
var displayAggregationChoices: Boolean = true
/** /**
* Default constructor * Default constructor
*/ */
fun newInstance(context: Context, stat: Stat, group: ComputableGroup, report: Report) { fun newInstance(context: Context, stat: Stat, group: ComputableGroup, report: Report, displayAggregationChoices: Boolean = true) {
parameters = GraphParameters(stat, group, report) parameters = GraphParameters(stat, group, report)
this.displayAggregationChoices = displayAggregationChoices
val intent = Intent(context, StatisticDetailsActivity::class.java) val intent = Intent(context, StatisticDetailsActivity::class.java)
context.startActivity(intent) context.startActivity(intent)
} }

@ -6,6 +6,7 @@ import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.core.view.isVisible
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import com.google.android.material.tabs.TabLayout import com.google.android.material.tabs.TabLayout
import io.realm.Realm import io.realm.Realm
@ -72,7 +73,7 @@ class CalendarDetailsFragment : PokerAnalyticsFragment(), StaticRowRepresentable
is GraphRow -> { is GraphRow -> {
//TODO: Open graph details //TODO: Open graph details
row.report.results.firstOrNull()?.group?.let { computableGroup -> row.report.results.firstOrNull()?.group?.let { computableGroup ->
StatisticDetailsActivity.newInstance(requireContext(), row.stat, computableGroup, row.report) StatisticDetailsActivity.newInstance(requireContext(), row.stat, computableGroup, row.report, false)
} }
} }
} }
@ -146,6 +147,10 @@ class CalendarDetailsFragment : PokerAnalyticsFragment(), StaticRowRepresentable
*/ */
private fun launchStatComputation() { private fun launchStatComputation() {
progressBar.isVisible = true
progressBar.animate().alpha(1f).start()
recyclerView.animate().alpha(0f).start()
computedResults?.let { computedResults -> computedResults?.let { computedResults ->
GlobalScope.launch { GlobalScope.launch {
@ -193,6 +198,10 @@ class CalendarDetailsFragment : PokerAnalyticsFragment(), StaticRowRepresentable
launch(Dispatchers.Main) { launch(Dispatchers.Main) {
statsAdapter.notifyDataSetChanged() statsAdapter.notifyDataSetChanged()
progressBar.animate().cancel()
progressBar.animate().alpha(0f).withEndAction { progressBar.isVisible = false }.start()
recyclerView.animate().cancel()
recyclerView.animate().alpha(1f).start()
} }
} }
} }

@ -23,6 +23,8 @@ import net.pokeranalytics.android.ui.activity.CalendarDetailsActivity
import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter
import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate
import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource import net.pokeranalytics.android.ui.adapter.StaticRowRepresentableDataSource
import net.pokeranalytics.android.ui.extensions.hideWithAnimation
import net.pokeranalytics.android.ui.extensions.showWithAnimation
import net.pokeranalytics.android.ui.fragment.components.SessionObserverFragment import net.pokeranalytics.android.ui.fragment.components.SessionObserverFragment
import net.pokeranalytics.android.ui.view.CalendarTabs import net.pokeranalytics.android.ui.view.CalendarTabs
import net.pokeranalytics.android.ui.view.RowRepresentable import net.pokeranalytics.android.ui.view.RowRepresentable
@ -219,6 +221,9 @@ class CalendarFragment : SessionObserverFragment(), CoroutineScope, StaticRowRep
*/ */
private fun launchStatComputation() { private fun launchStatComputation() {
progressBar?.showWithAnimation()
recyclerView?.hideWithAnimation()
GlobalScope.launch { GlobalScope.launch {
val calendar = Calendar.getInstance() val calendar = Calendar.getInstance()
@ -373,6 +378,9 @@ class CalendarFragment : SessionObserverFragment(), CoroutineScope, StaticRowRep
calendarAdapter.notifyDataSetChanged() calendarAdapter.notifyDataSetChanged()
progressBar?.hideWithAnimation()
recyclerView?.showWithAnimation()
} }
} }

@ -61,7 +61,7 @@ class StatisticDetailsFragment : PokerAnalyticsFragment() {
fragmentTransaction.commit() fragmentTransaction.commit()
StatisticDetailsActivity.parameters?.let { StatisticDetailsActivity.parameters?.let {
fragment.setData(it.stat, it.computableGroup, it.report) fragment.setData(it.stat, it.computableGroup, it.report, StatisticDetailsActivity.displayAggregationChoices)
StatisticDetailsActivity.parameters = null StatisticDetailsActivity.parameters = null
} ?: run { } ?: run {
throw Exception("Missing graph parameters") throw Exception("Missing graph parameters")

Loading…
Cancel
Save