Fixing crash + version bump

feature/top10
Laurent 7 years ago
parent 643940299e
commit cf82b55681
  1. 2
      app/build.gradle
  2. 4
      app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt
  3. 8
      app/src/main/java/net/pokeranalytics/android/ui/fragment/DataListFragment.kt
  4. 8
      app/src/main/java/net/pokeranalytics/android/ui/fragment/StatisticDetailsFragment.kt
  5. 2
      app/src/main/res/values/strings.xml

@ -28,7 +28,7 @@ android {
applicationId "net.pokeranalytics.android" applicationId "net.pokeranalytics.android"
minSdkVersion 23 minSdkVersion 23
targetSdkVersion 28 targetSdkVersion 28
versionCode 19 versionCode 20
versionName "1.0" versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
} }

@ -67,9 +67,9 @@ class PokerAnalyticsApplication : Application() {
val sessionsCount = realm.where<Session>().findAll().size val sessionsCount = realm.where<Session>().findAll().size
realm.close() realm.close()
if (sessionsCount < 1) { if (sessionsCount < 10) {
GlobalScope.launch { GlobalScope.launch {
FakeDataManager.createFakeSessions(200) FakeDataManager.createFakeSessions(1)
} }
} }

@ -6,12 +6,14 @@ 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 android.widget.Toast
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import androidx.recyclerview.widget.ItemTouchHelper import androidx.recyclerview.widget.ItemTouchHelper
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import com.google.android.material.snackbar.Snackbar import com.google.android.material.snackbar.Snackbar
import io.realm.RealmObject import io.realm.RealmObject
import io.realm.RealmResults import io.realm.RealmResults
import io.realm.kotlin.isValid
import kotlinx.android.synthetic.main.fragment_data_list.* import kotlinx.android.synthetic.main.fragment_data_list.*
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.GlobalScope
@ -92,6 +94,12 @@ class DataListFragment : PokerAnalyticsFragment(), LiveRowRepresentableDataSourc
} }
override fun onRowSelected(position: Int, row: RowRepresentable, fromAction: Boolean) { override fun onRowSelected(position: Int, row: RowRepresentable, fromAction: Boolean) {
if (row is Identifiable && !row.isValid()) {
Toast.makeText(requireContext(), R.string.invalid_object, Toast.LENGTH_LONG)
return
}
this.dataType.relatedResultsRepresentable?.let { this.dataType.relatedResultsRepresentable?.let {
lastItemClickedPosition = position lastItemClickedPosition = position
EditableDataActivity.newInstanceForResult( EditableDataActivity.newInstanceForResult(

@ -47,6 +47,7 @@ class StatisticDetailsFragment : PokerAnalyticsFragment() {
private lateinit var computableGroup: ComputableGroup private lateinit var computableGroup: ComputableGroup
private lateinit var graphFragment: GraphFragment private lateinit var graphFragment: GraphFragment
private lateinit var selectedReport: Report private lateinit var selectedReport: Report
private lateinit var aggregationTypes: List<AggregationType>
private var title: String? = null private var title: String? = null
private var reports: MutableMap<AggregationType, Report> = hashMapOf() private var reports: MutableMap<AggregationType, Report> = hashMapOf()
@ -99,16 +100,17 @@ class StatisticDetailsFragment : PokerAnalyticsFragment() {
fragmentTransaction.add(R.id.graphContainer, graphFragment) fragmentTransaction.add(R.id.graphContainer, graphFragment)
fragmentTransaction.commit() fragmentTransaction.commit()
stat.aggregationTypes.firstOrNull()?.let { aggregationType -> this.aggregationTypes = stat.aggregationTypes
this.aggregationTypes.firstOrNull()?.let { aggregationType ->
reports[aggregationType]?.let { report -> reports[aggregationType]?.let { report ->
setGraphData(report, aggregationType) setGraphData(report, aggregationType)
} }
} }
toolbar.title = this.title ?: stat.localizedTitle(requireContext()) toolbar.title = this.title ?: stat.localizedTitle(requireContext())
val aggregationTypes = stat.aggregationTypes
aggregationTypes.forEachIndexed { index, type -> this.aggregationTypes.forEachIndexed { index, type ->
val chip = Chip(requireContext()) val chip = Chip(requireContext())
chip.id = index chip.id = index
chip.text = requireContext().getString(type.resId) chip.text = requireContext().getString(type.resId)

@ -10,6 +10,8 @@
<string name="lines">Lines</string> <string name="lines">Lines</string>
<string name="initial_value">Initial Value</string> <string name="initial_value">Initial Value</string>
<string name="less_then_2_values_for_display">Can\'t show because there is less than two values to display!</string> <string name="less_then_2_values_for_display">Can\'t show because there is less than two values to display!</string>
<string name="invalid_object">The object you\'re trying to access is invalid</string>
<!--<string name="session_missing_end_date">Please set the end date for the session</string>--> <!--<string name="session_missing_end_date">Please set the end date for the session</string>-->
<!--<string name="default_error_message">Sorry, something went wrong...please contact us!</string>--> <!--<string name="default_error_message">Sorry, something went wrong...please contact us!</string>-->

Loading…
Cancel
Save