Custom Report: fixed deletion + added hint + show keyboard on save

dev
Laurent 7 years ago
parent 75bcc515bd
commit 83fcd5f6aa
  1. 2
      app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt
  2. 2
      app/src/main/java/net/pokeranalytics/android/ui/fragment/ReportsFragment.kt
  3. 29
      app/src/main/java/net/pokeranalytics/android/ui/fragment/report/AbstractReportFragment.kt

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

@ -77,7 +77,7 @@ class ReportsFragment : DeletableItemFragment(), StaticRowRepresentableDataSourc
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data) super.onActivityResult(requestCode, resultCode, data)
if (requestCode == RequestCode.NEW_REPORT.ordinal && resultCode == Activity.RESULT_OK) { if (requestCode == RequestCode.NEW_REPORT.value && resultCode == Activity.RESULT_OK) {
ReportCreationActivity.options?.let { options -> ReportCreationActivity.options?.let { options ->
this.launchReportWithOptions(options, options.getName(requireContext())) this.launchReportWithOptions(options, options.getName(requireContext()))
} }

@ -2,10 +2,10 @@ package net.pokeranalytics.android.ui.fragment.report
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import android.view.WindowManager
import android.widget.EditText import android.widget.EditText
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import kotlinx.android.synthetic.main.fragment_progress_report.* import kotlinx.android.synthetic.main.fragment_progress_report.*
import net.pokeranalytics.android.R
import net.pokeranalytics.android.calculus.Report import net.pokeranalytics.android.calculus.Report
import net.pokeranalytics.android.model.CustomFieldCriteria import net.pokeranalytics.android.model.CustomFieldCriteria
import net.pokeranalytics.android.model.LiveData import net.pokeranalytics.android.model.LiveData
@ -13,6 +13,7 @@ import net.pokeranalytics.android.model.realm.ReportSetup
import net.pokeranalytics.android.ui.fragment.data.DataManagerFragment import net.pokeranalytics.android.ui.fragment.data.DataManagerFragment
import net.pokeranalytics.android.util.extensions.findById import net.pokeranalytics.android.util.extensions.findById
abstract class AbstractReportFragment : DataManagerFragment() { abstract class AbstractReportFragment : DataManagerFragment() {
private lateinit var _selectedReport: Report private lateinit var _selectedReport: Report
@ -54,20 +55,35 @@ abstract class AbstractReportFragment : DataManagerFragment() {
// Inflate and set the layout for the dialog // Inflate and set the layout for the dialog
// Pass null as the parent view because its going in the dialog layout // Pass null as the parent view because its going in the dialog layout
val view = inflater.inflate(R.layout.dialog_edit_text, null) val view = inflater.inflate(net.pokeranalytics.android.R.layout.dialog_edit_text, null)
val nameEditText = view.findViewById<EditText>(R.id.reportName) val nameEditText = view.findViewById<EditText>(net.pokeranalytics.android.R.id.reportName)
this.primaryKey?.let { id ->
val reportSetup = getRealm().findById<ReportSetup>(id)
reportSetup?.let {
nameEditText.hint = it.name
}
}
builder.setView(view) builder.setView(view)
// Add action buttons // Add action buttons
.setPositiveButton(R.string.save) { dialog, _ -> .setPositiveButton(net.pokeranalytics.android.R.string.save) { dialog, _ ->
saveReport(nameEditText.text.toString()) saveReport(nameEditText.text.toString())
dialog.dismiss() dialog.dismiss()
} }
.setNegativeButton(R.string.cancel) { dialog, _ -> .setNegativeButton(net.pokeranalytics.android.R.string.cancel) { dialog, _ ->
dialog.cancel() dialog.cancel()
} }
val dialog = builder.create() val dialog = builder.create()
dialog.setOnShowListener {
nameEditText.requestFocus()
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE)
}
dialog.show() dialog.show()
// dialog.window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE)
} ?: throw IllegalStateException("Activity cannot be null") } ?: throw IllegalStateException("Activity cannot be null")
@ -92,7 +108,8 @@ abstract class AbstractReportFragment : DataManagerFragment() {
} }
} }
options.filterId?.let { id -> String options.filterId?.let { id ->
String
rs.filter = realm.findById(id) rs.filter = realm.findById(id)
} }

Loading…
Cancel
Save