Browse Source

ui: wizard: Save input state on pause

Fixes #131 and supersedes #132.
Peter Cai 1 year ago
parent
commit
75d3894462

+ 8 - 1
app-common/src/main/java/im/angry/openeuicc/ui/wizard/DownloadWizardDetailsFragment.kt

@@ -22,7 +22,7 @@ class DownloadWizardDetailsFragment : DownloadWizardActivity.DownloadWizardStepF
     private lateinit var confirmationCode: TextInputLayout
     private lateinit var confirmationCode: TextInputLayout
     private lateinit var imei: TextInputLayout
     private lateinit var imei: TextInputLayout
 
 
-    override fun beforeNext() {
+    private fun saveState() {
         state.smdp = smdp.editText!!.text.toString().trim()
         state.smdp = smdp.editText!!.text.toString().trim()
         // Treat empty inputs as null -- this is important for the download step
         // Treat empty inputs as null -- this is important for the download step
         state.matchingId = matchingId.editText!!.text.toString().trim().ifBlank { null }
         state.matchingId = matchingId.editText!!.text.toString().trim().ifBlank { null }
@@ -30,6 +30,8 @@ class DownloadWizardDetailsFragment : DownloadWizardActivity.DownloadWizardStepF
         state.imei = imei.editText!!.text.toString().ifBlank { null }
         state.imei = imei.editText!!.text.toString().ifBlank { null }
     }
     }
 
 
+    override fun beforeNext() = saveState()
+
     override fun createNextFragment(): DownloadWizardActivity.DownloadWizardStepFragment =
     override fun createNextFragment(): DownloadWizardActivity.DownloadWizardStepFragment =
         DownloadWizardProgressFragment()
         DownloadWizardProgressFragment()
 
 
@@ -61,6 +63,11 @@ class DownloadWizardDetailsFragment : DownloadWizardActivity.DownloadWizardStepF
         updateInputCompleteness()
         updateInputCompleteness()
     }
     }
 
 
+    override fun onPause() {
+        super.onPause()
+        saveState()
+    }
+
     private fun updateInputCompleteness() {
     private fun updateInputCompleteness() {
         inputComplete = Patterns.DOMAIN_NAME.matcher(smdp.editText!!.text).matches()
         inputComplete = Patterns.DOMAIN_NAME.matcher(smdp.editText!!.text).matches()
         refreshButtons()
         refreshButtons()