From 95e97edc749fc4111fa342dc81e43fb846b27384 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sun, 24 Jan 2021 14:50:21 +0100 Subject: [PATCH] OpenAPSAMAFragment -> jetpack --- .../aps/openAPSAMA/OpenAPSAMAFragment.kt | 66 +- .../main/res/layout/openapsama_fragment.xml | 1096 ++++++++--------- 2 files changed, 585 insertions(+), 577 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAFragment.kt b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAFragment.kt index fcd78a9adc..ddb429d9fa 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAFragment.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/aps/openAPSAMA/OpenAPSAMAFragment.kt @@ -7,6 +7,7 @@ import android.view.View import android.view.ViewGroup import dagger.android.support.DaggerFragment import info.nightscout.androidaps.R +import info.nightscout.androidaps.databinding.OpenapsamaFragmentBinding import info.nightscout.androidaps.logging.AAPSLogger import info.nightscout.androidaps.logging.LTag import info.nightscout.androidaps.plugins.aps.events.EventOpenAPSUpdateGui @@ -19,12 +20,12 @@ import info.nightscout.androidaps.utils.extensions.plusAssign import info.nightscout.androidaps.utils.resources.ResourceHelper import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.disposables.CompositeDisposable -import kotlinx.android.synthetic.main.openapsama_fragment.* import org.json.JSONArray import org.json.JSONException import javax.inject.Inject class OpenAPSAMAFragment : DaggerFragment() { + private var disposable: CompositeDisposable = CompositeDisposable() @Inject lateinit var aapsLogger: AAPSLogger @@ -34,15 +35,22 @@ class OpenAPSAMAFragment : DaggerFragment() { @Inject lateinit var openAPSAMAPlugin: OpenAPSAMAPlugin @Inject lateinit var dateUtil: DateUtil + private var _binding: OpenapsamaFragmentBinding? = null + + // This property is only valid between onCreateView and + // onDestroyView. + private val binding get() = _binding!! + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, - savedInstanceState: Bundle?): View? { - return inflater.inflate(R.layout.openapsama_fragment, container, false) + savedInstanceState: Bundle?): View { + _binding = OpenapsamaFragmentBinding.inflate(inflater, container, false) + return binding.root } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - openapsma_run.setOnClickListener { + binding.run.setOnClickListener { openAPSAMAPlugin.invoke("OpenAPSAMA button", false) } } @@ -73,47 +81,53 @@ class OpenAPSAMAFragment : DaggerFragment() { disposable.clear() } + @Synchronized + override fun onDestroyView() { + super.onDestroyView() + _binding = null + } + @Synchronized private fun updateGUI() { - if (openapsma_result == null) return + if (_binding == null) return openAPSAMAPlugin.lastAPSResult?.let { lastAPSResult -> - openapsma_result.text = JSONFormatter.format(lastAPSResult.json) - openapsma_request.text = lastAPSResult.toSpanned() + binding.result.text = JSONFormatter.format(lastAPSResult.json) + binding.request.text = lastAPSResult.toSpanned() } openAPSAMAPlugin.lastDetermineBasalAdapterAMAJS?.let { determineBasalAdapterAMAJS -> - openapsma_glucosestatus.text = JSONFormatter.format(determineBasalAdapterAMAJS.glucoseStatusParam) - openapsma_currenttemp.text = JSONFormatter.format(determineBasalAdapterAMAJS.currentTempParam) + binding.glucosestatus.text = JSONFormatter.format(determineBasalAdapterAMAJS.glucoseStatusParam) + binding.currenttemp.text = JSONFormatter.format(determineBasalAdapterAMAJS.currentTempParam) try { val iobArray = JSONArray(determineBasalAdapterAMAJS.iobDataParam) - openapsma_iobdata.text = TextUtils.concat(resourceHelper.gs(R.string.array_of_elements, iobArray.length()) + "\n", JSONFormatter.format(iobArray.getString(0))) + binding.iobdata.text = TextUtils.concat(resourceHelper.gs(R.string.array_of_elements, iobArray.length()) + "\n", JSONFormatter.format(iobArray.getString(0))) } catch (e: JSONException) { aapsLogger.error(LTag.APS, "Unhandled exception", e) @Suppress("SetTextI18n") - openapsma_iobdata.text = "JSONException see log for details" + binding.iobdata.text = "JSONException see log for details" } - openapsma_profile.text = JSONFormatter.format(determineBasalAdapterAMAJS.profileParam) - openapsma_mealdata.text = JSONFormatter.format(determineBasalAdapterAMAJS.mealDataParam) - openapsma_scriptdebugdata.text = determineBasalAdapterAMAJS.scriptDebug + binding.profile.text = JSONFormatter.format(determineBasalAdapterAMAJS.profileParam) + binding.mealdata.text = JSONFormatter.format(determineBasalAdapterAMAJS.mealDataParam) + binding.scriptdebugdata.text = determineBasalAdapterAMAJS.scriptDebug } if (openAPSAMAPlugin.lastAPSRun != 0L) { - openapsma_lastrun.text = dateUtil.dateAndTimeString(openAPSAMAPlugin.lastAPSRun) + binding.lastrun.text = dateUtil.dateAndTimeString(openAPSAMAPlugin.lastAPSRun) } openAPSAMAPlugin.lastAutosensResult?.let { - openapsma_autosensdata.text = JSONFormatter.format(it.json()) + binding.autosensdata.text = JSONFormatter.format(it.json()) } } private fun updateResultGUI(text: String) { - openapsma_result.text = text - openapsma_glucosestatus.text = "" - openapsma_currenttemp.text = "" - openapsma_iobdata.text = "" - openapsma_profile.text = "" - openapsma_mealdata.text = "" - openapsma_autosensdata.text = "" - openapsma_scriptdebugdata.text = "" - openapsma_request.text = "" - openapsma_lastrun.text = "" + binding.result.text = text + binding.glucosestatus.text = "" + binding.currenttemp.text = "" + binding.iobdata.text = "" + binding.profile.text = "" + binding.mealdata.text = "" + binding.autosensdata.text = "" + binding.scriptdebugdata.text = "" + binding.request.text = "" + binding.lastrun.text = "" } } diff --git a/app/src/main/res/layout/openapsama_fragment.xml b/app/src/main/res/layout/openapsama_fragment.xml index e82f395836..01757658e1 100644 --- a/app/src/main/res/layout/openapsama_fragment.xml +++ b/app/src/main/res/layout/openapsama_fragment.xml @@ -1,573 +1,567 @@ - - + android:layout_height="wrap_content" + android:orientation="vertical"> + + + +