AndroidAPS/app/src/main/java/info/nightscout/androidaps/dialogs/WizardInfoDialog.kt

102 lines
5 KiB
Kotlin
Raw Normal View History

2019-12-31 13:25:28 +01:00
package info.nightscout.androidaps.dialogs
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.view.Window
import android.view.WindowManager
import dagger.android.support.DaggerDialogFragment
import info.nightscout.androidaps.Constants
import info.nightscout.androidaps.R
2021-01-21 20:54:13 +01:00
import info.nightscout.androidaps.databinding.DialogWizardinfoBinding
2020-05-07 09:54:36 +02:00
import info.nightscout.androidaps.interfaces.ProfileFunction
2019-12-31 13:25:28 +01:00
import info.nightscout.androidaps.utils.DecimalFormatter
import info.nightscout.androidaps.utils.JsonHelper
import info.nightscout.androidaps.utils.resources.ResourceHelper
import org.json.JSONObject
import javax.inject.Inject
class WizardInfoDialog : DaggerDialogFragment() {
2021-01-21 20:54:13 +01:00
2019-12-31 13:25:28 +01:00
@Inject lateinit var resourceHelper: ResourceHelper
@Inject lateinit var profileFunction: ProfileFunction
private var json: JSONObject? = null
fun setData(json: JSONObject) {
this.json = json
}
2021-01-21 20:54:13 +01:00
private var _binding: DialogWizardinfoBinding? = null
// This property is only valid between onCreateView and
// onDestroyView.
private val binding get() = _binding!!
2019-12-31 13:25:28 +01:00
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
2021-01-21 20:54:13 +01:00
savedInstanceState: Bundle?): View {
2019-12-31 13:25:28 +01:00
dialog?.window?.requestFeature(Window.FEATURE_NO_TITLE)
dialog?.window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN)
isCancelable = true
dialog?.setCanceledOnTouchOutside(false)
2021-01-21 20:54:13 +01:00
_binding = DialogWizardinfoBinding.inflate(inflater, container, false)
return binding.root
2019-12-31 13:25:28 +01:00
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
2021-01-21 20:54:13 +01:00
binding.close.setOnClickListener { dismiss() }
2019-12-31 13:25:28 +01:00
val units = profileFunction.getUnits()
val bgString =
if (units == Constants.MGDL) DecimalFormatter.to0Decimal(JsonHelper.safeGetDouble(json, "bg"))
else DecimalFormatter.to1Decimal(JsonHelper.safeGetDouble(json, "bg"))
// BG
2021-01-21 20:54:13 +01:00
binding.bg.text = resourceHelper.gs(R.string.format_bg_isf, bgString, JsonHelper.safeGetDouble(json, "isf"))
binding.bginsulin.text = resourceHelper.gs(R.string.formatinsulinunits, JsonHelper.safeGetDouble(json, "insulinbg"))
binding.bgcheckbox.isChecked = JsonHelper.safeGetBoolean(json, "insulinbgused")
binding.ttcheckbox.isChecked = JsonHelper.safeGetBoolean(json, "ttused")
2019-12-31 13:25:28 +01:00
// Trend
2021-01-21 20:54:13 +01:00
binding.bgtrend.text = JsonHelper.safeGetString(json, "trend")
binding.bgtrendinsulin.text = resourceHelper.gs(R.string.formatinsulinunits, JsonHelper.safeGetDouble(json, "insulintrend"))
binding.bgtrendcheckbox.isChecked = JsonHelper.safeGetBoolean(json, "trendused")
2019-12-31 13:25:28 +01:00
// COB
2021-01-21 20:54:13 +01:00
binding.cob.text = resourceHelper.gs(R.string.format_cob_ic, JsonHelper.safeGetDouble(json, "cob"), JsonHelper.safeGetDouble(json, "ic"))
binding.cobinsulin.text = resourceHelper.gs(R.string.formatinsulinunits, JsonHelper.safeGetDouble(json, "insulincob"))
binding.cobcheckbox.isChecked = JsonHelper.safeGetBoolean(json, "cobused")
2019-12-31 13:25:28 +01:00
// Bolus IOB
2021-01-21 20:54:13 +01:00
binding.bolusiobinsulin.text = resourceHelper.gs(R.string.formatinsulinunits, JsonHelper.safeGetDouble(json, "bolusiob"))
binding.bolusiobcheckbox.isChecked = JsonHelper.safeGetBoolean(json, "bolusiobused")
2019-12-31 13:25:28 +01:00
// Basal IOB
2021-01-21 20:54:13 +01:00
binding.basaliobinsulin.text = resourceHelper.gs(R.string.formatinsulinunits, JsonHelper.safeGetDouble(json, "basaliob"))
binding.basaliobcheckbox.isChecked = JsonHelper.safeGetBoolean(json, "basaliobused")
2019-12-31 13:25:28 +01:00
// Superbolus
2021-01-21 20:54:13 +01:00
binding.sbinsulin.text = resourceHelper.gs(R.string.formatinsulinunits, JsonHelper.safeGetDouble(json, "insulinsuperbolus"))
binding.sbcheckbox.isChecked = JsonHelper.safeGetBoolean(json, "superbolusused")
2019-12-31 13:25:28 +01:00
// Carbs
2021-01-21 20:54:13 +01:00
binding.carbs.text = resourceHelper.gs(R.string.format_carbs_ic, JsonHelper.safeGetDouble(json, "carbs"), JsonHelper.safeGetDouble(json, "ic"))
binding.carbsinsulin.text = resourceHelper.gs(R.string.formatinsulinunits, JsonHelper.safeGetDouble(json, "insulincarbs"))
2019-12-31 13:25:28 +01:00
// Correction
2021-01-21 20:54:13 +01:00
binding.correctioninsulin.text = resourceHelper.gs(R.string.formatinsulinunits, JsonHelper.safeGetDouble(json, "othercorrection"))
2019-12-31 13:25:28 +01:00
// Profile
2021-01-21 20:54:13 +01:00
binding.profile.text = JsonHelper.safeGetString(json, "profile")
2019-12-31 13:25:28 +01:00
// Notes
2021-01-21 20:54:13 +01:00
binding.notes.text = JsonHelper.safeGetString(json, "notes")
2019-12-31 13:25:28 +01:00
// Percentage
2021-01-21 20:54:13 +01:00
binding.percentUsed.text = resourceHelper.gs(R.string.format_percent, (JsonHelper.safeGetInt(json, "percentageCorrection", 100)))
2019-12-31 13:25:28 +01:00
// Total
2021-01-21 20:54:13 +01:00
binding.totalinsulin.text = resourceHelper.gs(R.string.formatinsulinunits, JsonHelper.safeGetDouble(json, "insulin"))
2019-12-31 13:25:28 +01:00
}
override fun onStart() {
super.onStart()
dialog?.window?.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)
}
2021-01-21 20:54:13 +01:00
override fun onDestroyView() {
super.onDestroyView()
_binding = null
}
2019-12-31 13:25:28 +01:00
}