From 55d615166320de3ffc1a97428b7e71cfb86d98db Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Thu, 18 Apr 2019 17:10:42 +0200 Subject: [PATCH 1/5] Fix isEmpty --- .../main/java/net/pokeranalytics/android/calculus/Report.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/calculus/Report.kt b/app/src/main/java/net/pokeranalytics/android/calculus/Report.kt index 6ffaa8ad..b8d31771 100644 --- a/app/src/main/java/net/pokeranalytics/android/calculus/Report.kt +++ b/app/src/main/java/net/pokeranalytics/android/calculus/Report.kt @@ -380,8 +380,10 @@ class ComputedResults(group: ComputableGroup, shouldManageMultiGroupProgressValu return entries } - val isEmpty: Boolean = this.group.isEmpty - + val isEmpty: Boolean + get() { + return this.group.isEmpty + } // Stat Entry From 421a5ddb08d21c83e86c7921e91fea13d8347ae2 Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Thu, 18 Apr 2019 17:41:58 +0200 Subject: [PATCH 2/5] Add stat for graph --- .../pokeranalytics/android/ui/fragment/GraphFragment.kt | 8 ++------ .../android/ui/fragment/StatisticDetailsFragment.kt | 7 +++---- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/GraphFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/GraphFragment.kt index 69fe9938..2492ed13 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/GraphFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/GraphFragment.kt @@ -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.setStyle import net.pokeranalytics.android.ui.view.LegendView -import timber.log.Timber import kotlin.coroutines.CoroutineContext @@ -97,7 +96,6 @@ class GraphFragment : PokerAnalyticsFragment(), OnChartValueSelectedListener, Co * Init UI */ private fun initUI() { - Timber.d("initUI") parentActivity = activity as PokerAnalyticsActivity parentActivity.title = stat.localizedTitle(requireContext()) @@ -118,7 +116,6 @@ class GraphFragment : PokerAnalyticsFragment(), OnChartValueSelectedListener, Co * Load graph */ private fun loadGraph() { - Timber.d("loadGraph") val graphEntries = when (aggregationType) { AggregationType.SESSION, AggregationType.DURATION -> selectedReport.results.firstOrNull()?.defaultStatEntries(stat) @@ -167,12 +164,11 @@ class GraphFragment : PokerAnalyticsFragment(), OnChartValueSelectedListener, Co /** * Set data */ - fun setData(report: Report, aggregationType: AggregationType) { - Timber.d("setData") + fun setData(report: Report, stat: Stat, aggregationType: AggregationType) { this.selectedReport = report this.aggregationType = aggregationType - this.stat = report.options.displayedStats.first() + this.stat = stat if (isAdded && !isDetached) { loadGraph() diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/StatisticDetailsFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/StatisticDetailsFragment.kt index 37ac6e25..0170bef7 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/StatisticDetailsFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/StatisticDetailsFragment.kt @@ -75,10 +75,9 @@ class StatisticDetailsFragment : PokerAnalyticsFragment() { fragmentTransaction.add(R.id.graphContainer, graphFragment) fragmentTransaction.commit() - stat.aggregationTypes.firstOrNull()?.let { aggregationType -> reports[aggregationType]?.let { report -> - graphFragment.setData(report, aggregationType) + graphFragment.setData(report, stat, aggregationType) } } @@ -103,7 +102,7 @@ class StatisticDetailsFragment : PokerAnalyticsFragment() { val aggregationType = aggregationTypes[checkedId] reports[aggregationType]?.let { report -> - graphFragment.setData(report, aggregationType) + graphFragment.setData(report, stat, aggregationType) } ?: run { launchStatComputation(aggregationType) } @@ -140,7 +139,7 @@ class StatisticDetailsFragment : PokerAnalyticsFragment() { Timber.d(">>> ended in $duration seconds") launch(Dispatchers.Main) { - graphFragment.setData(report, aggregationType) + graphFragment.setData(report, stat, aggregationType) progressBar.hideWithAnimation() graphContainer.showWithAnimation() } From dbaef64e8b973a26297671934069a0e5f6a067f7 Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Thu, 18 Apr 2019 17:51:08 +0200 Subject: [PATCH 3/5] Fix newInstance --- .../ui/fragment/StatisticDetailsFragment.kt | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/StatisticDetailsFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/StatisticDetailsFragment.kt index 0170bef7..6c2e288d 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/StatisticDetailsFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/StatisticDetailsFragment.kt @@ -1,7 +1,5 @@ package net.pokeranalytics.android.ui.fragment -import android.content.Context -import android.content.Intent import android.os.Bundle import android.view.LayoutInflater import android.view.View @@ -29,9 +27,15 @@ import java.util.* class StatisticDetailsFragment : PokerAnalyticsFragment() { 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 } } From da57833a1ed9eb92d8ed5ad28db7a8224e79835c Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Thu, 18 Apr 2019 17:51:14 +0200 Subject: [PATCH 4/5] Clean code --- .../android/ui/activity/StatisticDetailsActivity.kt | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/ui/activity/StatisticDetailsActivity.kt b/app/src/main/java/net/pokeranalytics/android/ui/activity/StatisticDetailsActivity.kt index f5c838d3..a5b12c9d 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/activity/StatisticDetailsActivity.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/activity/StatisticDetailsActivity.kt @@ -11,16 +11,10 @@ import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity 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() { - private enum class IntentKey(val keyName: String) { - STAT("STATS"), - ENTRIES("ENTRIES"), - } - companion object { // Unparcel fails when setting a custom Parcelable object on Entry so we use a static reference to passe objects From 33b763a21b68bfc7fecfe7c26cd7142cb210556a Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Thu, 18 Apr 2019 17:58:56 +0200 Subject: [PATCH 5/5] Start working on loader --- .../android/ui/fragment/ReportsFragment.kt | 4 +++ .../components/LoaderDialogFragment.kt | 28 +++++++++++++++++ app/src/main/res/layout/fragment_loader.xml | 31 +++++++++++++++++++ 3 files changed, 63 insertions(+) create mode 100644 app/src/main/java/net/pokeranalytics/android/ui/fragment/components/LoaderDialogFragment.kt create mode 100644 app/src/main/res/layout/fragment_loader.xml diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/ReportsFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/ReportsFragment.kt index ec862ad2..68c32e28 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/ReportsFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/ReportsFragment.kt @@ -18,6 +18,7 @@ import net.pokeranalytics.android.ui.activity.ReportDetailsActivity import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter import net.pokeranalytics.android.ui.adapter.RowRepresentableDelegate 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.view.RowRepresentable import net.pokeranalytics.android.ui.view.rowrepresentable.ReportRow @@ -105,6 +106,9 @@ class ReportsFragment : PokerAnalyticsFragment(), StaticRowRepresentableDataSour */ private fun launchComputation(comparators: List, reportName: String) { + //val loader = LoaderDialogFragment.newInstance() + //loader.show(activity?.supportFragmentManager, "loader") + GlobalScope.launch { val startDate = Date() diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/LoaderDialogFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/LoaderDialogFragment.kt new file mode 100644 index 00000000..59f45ca7 --- /dev/null +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/LoaderDialogFragment.kt @@ -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) + } + +} \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_loader.xml b/app/src/main/res/layout/fragment_loader.xml new file mode 100644 index 00000000..0a2390f5 --- /dev/null +++ b/app/src/main/res/layout/fragment_loader.xml @@ -0,0 +1,31 @@ + + + + + + + + \ No newline at end of file