Merge remote-tracking branch 'origin/dev' into dev

feature/top10
Razmig Sarkissian 7 years ago
commit 7e47f1e107
  1. 6
      app/src/main/java/net/pokeranalytics/android/calculus/Report.kt
  2. 8
      app/src/main/java/net/pokeranalytics/android/ui/activity/StatisticDetailsActivity.kt
  3. 8
      app/src/main/java/net/pokeranalytics/android/ui/fragment/GraphFragment.kt
  4. 4
      app/src/main/java/net/pokeranalytics/android/ui/fragment/ReportsFragment.kt
  5. 21
      app/src/main/java/net/pokeranalytics/android/ui/fragment/StatisticDetailsFragment.kt
  6. 28
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/LoaderDialogFragment.kt
  7. 31
      app/src/main/res/layout/fragment_loader.xml

@ -380,8 +380,10 @@ class ComputedResults(group: ComputableGroup, shouldManageMultiGroupProgressValu
return entries return entries
} }
val isEmpty: Boolean = this.group.isEmpty val isEmpty: Boolean
get() {
return this.group.isEmpty
}
// Stat Entry // Stat Entry

@ -11,16 +11,10 @@ import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.fragment.StatisticDetailsFragment import net.pokeranalytics.android.ui.fragment.StatisticDetailsFragment
class StatisticsDetailsParameters(var stat: Stat, var computableGroup: ComputableGroup, var report: Report) { class StatisticsDetailsParameters(var stat: Stat, var computableGroup: ComputableGroup, var report: Report)
}
class StatisticDetailsActivity : PokerAnalyticsActivity() { class StatisticDetailsActivity : PokerAnalyticsActivity() {
private enum class IntentKey(val keyName: String) {
STAT("STATS"),
ENTRIES("ENTRIES"),
}
companion object { companion object {
// 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

@ -20,7 +20,6 @@ import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment
import net.pokeranalytics.android.ui.graph.PALineDataSet import net.pokeranalytics.android.ui.graph.PALineDataSet
import net.pokeranalytics.android.ui.graph.setStyle import net.pokeranalytics.android.ui.graph.setStyle
import net.pokeranalytics.android.ui.view.LegendView import net.pokeranalytics.android.ui.view.LegendView
import timber.log.Timber
import kotlin.coroutines.CoroutineContext import kotlin.coroutines.CoroutineContext
@ -97,7 +96,6 @@ class GraphFragment : PokerAnalyticsFragment(), OnChartValueSelectedListener, Co
* Init UI * Init UI
*/ */
private fun initUI() { private fun initUI() {
Timber.d("initUI")
parentActivity = activity as PokerAnalyticsActivity parentActivity = activity as PokerAnalyticsActivity
parentActivity.title = stat.localizedTitle(requireContext()) parentActivity.title = stat.localizedTitle(requireContext())
@ -118,7 +116,6 @@ class GraphFragment : PokerAnalyticsFragment(), OnChartValueSelectedListener, Co
* Load graph * Load graph
*/ */
private fun loadGraph() { private fun loadGraph() {
Timber.d("loadGraph")
val graphEntries = when (aggregationType) { val graphEntries = when (aggregationType) {
AggregationType.SESSION, AggregationType.DURATION -> selectedReport.results.firstOrNull()?.defaultStatEntries(stat) AggregationType.SESSION, AggregationType.DURATION -> selectedReport.results.firstOrNull()?.defaultStatEntries(stat)
@ -167,12 +164,11 @@ class GraphFragment : PokerAnalyticsFragment(), OnChartValueSelectedListener, Co
/** /**
* Set data * Set data
*/ */
fun setData(report: Report, aggregationType: AggregationType) { fun setData(report: Report, stat: Stat, aggregationType: AggregationType) {
Timber.d("setData")
this.selectedReport = report this.selectedReport = report
this.aggregationType = aggregationType this.aggregationType = aggregationType
this.stat = report.options.displayedStats.first() this.stat = stat
if (isAdded && !isDetached) { if (isAdded && !isDetached) {
loadGraph() loadGraph()

@ -18,6 +18,7 @@ import net.pokeranalytics.android.ui.activity.ReportDetailsActivity
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.fragment.components.LoaderDialogFragment
import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment
import net.pokeranalytics.android.ui.view.RowRepresentable import net.pokeranalytics.android.ui.view.RowRepresentable
import net.pokeranalytics.android.ui.view.rowrepresentable.ReportRow import net.pokeranalytics.android.ui.view.rowrepresentable.ReportRow
@ -105,6 +106,9 @@ class ReportsFragment : PokerAnalyticsFragment(), StaticRowRepresentableDataSour
*/ */
private fun launchComputation(comparators: List<Comparator>, reportName: String) { private fun launchComputation(comparators: List<Comparator>, reportName: String) {
//val loader = LoaderDialogFragment.newInstance()
//loader.show(activity?.supportFragmentManager, "loader")
GlobalScope.launch { GlobalScope.launch {
val startDate = Date() val startDate = Date()

@ -1,7 +1,5 @@
package net.pokeranalytics.android.ui.fragment package net.pokeranalytics.android.ui.fragment
import android.content.Context
import android.content.Intent
import android.os.Bundle import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
@ -29,9 +27,15 @@ import java.util.*
class StatisticDetailsFragment : PokerAnalyticsFragment() { class StatisticDetailsFragment : PokerAnalyticsFragment() {
companion object { companion object {
fun newInstance(context: Context) {
val intent = Intent(context, StatisticDetailsFragment::class.java) /**
context.startActivity(intent) * Create new instance
*/
fun newInstance(): StatisticDetailsFragment {
val fragment = StatisticDetailsFragment()
val bundle = Bundle()
fragment.arguments = bundle
return fragment
} }
} }
@ -75,10 +79,9 @@ class StatisticDetailsFragment : PokerAnalyticsFragment() {
fragmentTransaction.add(R.id.graphContainer, graphFragment) fragmentTransaction.add(R.id.graphContainer, graphFragment)
fragmentTransaction.commit() fragmentTransaction.commit()
stat.aggregationTypes.firstOrNull()?.let { aggregationType -> stat.aggregationTypes.firstOrNull()?.let { aggregationType ->
reports[aggregationType]?.let { report -> reports[aggregationType]?.let { report ->
graphFragment.setData(report, aggregationType) graphFragment.setData(report, stat, aggregationType)
} }
} }
@ -103,7 +106,7 @@ class StatisticDetailsFragment : PokerAnalyticsFragment() {
val aggregationType = aggregationTypes[checkedId] val aggregationType = aggregationTypes[checkedId]
reports[aggregationType]?.let { report -> reports[aggregationType]?.let { report ->
graphFragment.setData(report, aggregationType) graphFragment.setData(report, stat, aggregationType)
} ?: run { } ?: run {
launchStatComputation(aggregationType) launchStatComputation(aggregationType)
} }
@ -140,7 +143,7 @@ class StatisticDetailsFragment : PokerAnalyticsFragment() {
Timber.d(">>> ended in $duration seconds") Timber.d(">>> ended in $duration seconds")
launch(Dispatchers.Main) { launch(Dispatchers.Main) {
graphFragment.setData(report, aggregationType) graphFragment.setData(report, stat, aggregationType)
progressBar.hideWithAnimation() progressBar.hideWithAnimation()
graphContainer.showWithAnimation() graphContainer.showWithAnimation()
} }

@ -0,0 +1,28 @@
package net.pokeranalytics.android.ui.fragment.components
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.DialogFragment
import net.pokeranalytics.android.R
class LoaderDialogFragment: DialogFragment() {
companion object {
/**
* Create new instance
*/
fun newInstance(): LoaderDialogFragment {
val fragment = LoaderDialogFragment()
val bundle = Bundle()
fragment.arguments = bundle
return fragment
}
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
return inflater.inflate(R.layout.fragment_loader, container, false)
}
}

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center">
<View
android:layout_width="128dp"
android:layout_height="128dp"
android:background="@color/colorPrimary"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.core.widget.ContentLoadingProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyle"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
Loading…
Cancel
Save