Browse Source

ui: wizard: Make download details nullable

Peter Cai 1 year ago
parent
commit
b2abe5ee84

+ 6 - 6
app-common/src/main/java/im/angry/openeuicc/ui/wizard/DownloadWizardActivity.kt

@@ -19,9 +19,9 @@ class DownloadWizardActivity: BaseEuiccAccessActivity() {
         var currentStepFragmentClassName: String?,
         var selectedLogicalSlot: Int,
         var smdp: String,
-        var matchingId: String,
-        var confirmationCode: String,
-        var imei: String,
+        var matchingId: String?,
+        var confirmationCode: String?,
+        var imei: String?,
     )
 
     private lateinit var state: DownloadWizardState
@@ -53,9 +53,9 @@ class DownloadWizardActivity: BaseEuiccAccessActivity() {
             null,
             intent.getIntExtra("selectedLogicalSlot", 0),
             "",
-            "",
-            "",
-            ""
+            null,
+            null,
+            null
         )
 
         progressBar = requireViewById(R.id.progress)

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

@@ -24,9 +24,10 @@ class DownloadWizardDetailsFragment : DownloadWizardActivity.DownloadWizardStepF
 
     override fun beforeNext() {
         state.smdp = smdp.editText!!.text.toString().trim()
-        state.matchingId = matchingId.editText!!.text.toString().trim()
-        state.confirmationCode = confirmationCode.editText!!.text.toString().trim()
-        state.imei = imei.editText!!.text.toString()
+        // Treat empty inputs as null -- this is important for the download step
+        state.matchingId = matchingId.editText!!.text.toString().trim().ifBlank { null }
+        state.confirmationCode = confirmationCode.editText!!.text.toString().trim().ifBlank { null }
+        state.imei = imei.editText!!.text.toString().ifBlank { null }
     }
 
     override fun createNextFragment(): DownloadWizardActivity.DownloadWizardStepFragment =