Fixes an issue where launching 2 reports was possible making the UI blocked

od
Laurent 6 years ago
parent 17c050b6d8
commit c44b3f3d2d
  1. 8
      app/src/main/java/net/pokeranalytics/android/ui/fragment/report/ComposableTableReportFragment.kt

@ -42,6 +42,8 @@ open class ComposableTableReportFragment : RealmFragment(), StaticRowRepresentab
private var statsAdapter: RowRepresentableAdapter? = null private var statsAdapter: RowRepresentableAdapter? = null
var report: Report? = null var report: Report? = null
private var hasComputationInProgress: Boolean = false
companion object { companion object {
/** /**
@ -168,6 +170,11 @@ open class ComposableTableReportFragment : RealmFragment(), StaticRowRepresentab
override fun onRowSelected(position: Int, row: RowRepresentable, fromAction: Boolean) { override fun onRowSelected(position: Int, row: RowRepresentable, fromAction: Boolean) {
if (this.hasComputationInProgress) {
return
}
this.hasComputationInProgress = true
val cr = getRealm().where(ComputableResult::class.java).findAll() val cr = getRealm().where(ComputableResult::class.java).findAll()
if (cr.size < 2) { if (cr.size < 2) {
Toast.makeText(context, R.string.less_then_2_values_for_display, Toast.LENGTH_LONG).show() Toast.makeText(context, R.string.less_then_2_values_for_display, Toast.LENGTH_LONG).show()
@ -223,6 +230,7 @@ open class ComposableTableReportFragment : RealmFragment(), StaticRowRepresentab
throw PAIllegalStateException("Report should never be null here") throw PAIllegalStateException("Report should never be null here")
} }
} }
hasComputationInProgress = false
} }
} }

Loading…
Cancel
Save