Fixes incapacity to launch custom reports

dev
Laurent 7 years ago
parent df86779a0c
commit e621c3cda8
  1. 2
      app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt
  2. 2
      app/src/main/java/net/pokeranalytics/android/ui/activity/ReportCreationActivity.kt
  3. 40
      app/src/main/java/net/pokeranalytics/android/ui/fragment/report/AbstractReportFragment.kt

@ -61,7 +61,7 @@ class PokerAnalyticsApplication : Application() {
if (BuildConfig.DEBUG) {
Timber.d("UserPreferences.defaultCurrency: ${UserDefaults.currency.symbol}")
this.createFakeSessions()
// this.createFakeSessions()
}

@ -17,7 +17,7 @@ class ReportCreationActivity : PokerAnalyticsActivity() {
fun newInstanceForResult(fragment: Fragment, context: Context) {
val intent = Intent(context, ReportCreationActivity::class.java)
fragment.startActivityForResult(intent, RequestCode.NEW_REPORT.ordinal)
fragment.startActivityForResult(intent, RequestCode.NEW_REPORT.value)
}
}

@ -78,7 +78,7 @@ abstract class AbstractReportFragment : DataManagerFragment() {
val dialog = builder.create()
dialog.setOnShowListener {
nameEditText.requestFocus()
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE)
dialog.getWindow()?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE)
}
dialog.show()
@ -94,30 +94,34 @@ abstract class AbstractReportFragment : DataManagerFragment() {
getRealm().executeTransaction { realm ->
val rs = this.item as ReportSetup
val options = this._selectedReport.options
rs.name = name
rs.display = options.display.ordinal
options.stats.forEach {
rs.statIds.add(it.uniqueIdentifier)
}
options.criterias.forEach { criteria ->
when (criteria) {
is CustomFieldCriteria -> rs.criteriaCustomFieldIds.add(criteria.customFieldId)
else -> rs.criteriaIds.add(criteria.uniqueIdentifier)
val firstSave = (this.primaryKey == null)
if (firstSave) {
val options = this._selectedReport.options
rs.name = name
rs.display = options.display.ordinal
options.stats.forEach {
rs.statIds.add(it.uniqueIdentifier)
}
options.criterias.forEach { criteria ->
when (criteria) {
is CustomFieldCriteria -> rs.criteriaCustomFieldIds.add(criteria.customFieldId)
else -> rs.criteriaIds.add(criteria.uniqueIdentifier)
}
}
}
options.filterId?.let { id ->
String
rs.filter = realm.findById(id)
options.filterId?.let { id ->
rs.filter = realm.findById(id)
}
realm.copyToRealmOrUpdate(rs)
} else {
rs.name = name
realm.insertOrUpdate(rs)
}
this.item = rs
this.primaryKey = rs.id
this.deleteButtonShouldAppear = true
toolbar.title = name
realm.copyToRealmOrUpdate(rs)
}
}

Loading…
Cancel
Save