Compare commits
2 commits
8c73615fbb
...
e7a0482281
Author | SHA1 | Date | |
---|---|---|---|
e7a0482281 | |||
81f34f9b1c |
2 changed files with 39 additions and 2 deletions
|
@ -16,6 +16,7 @@ import im.angry.openeuicc.util.*
|
||||||
|
|
||||||
class DownloadWizardActivity: BaseEuiccAccessActivity() {
|
class DownloadWizardActivity: BaseEuiccAccessActivity() {
|
||||||
data class DownloadWizardState(
|
data class DownloadWizardState(
|
||||||
|
var currentStepFragmentClassName: String?,
|
||||||
var selectedLogicalSlot: Int,
|
var selectedLogicalSlot: Int,
|
||||||
var smdp: String,
|
var smdp: String,
|
||||||
var matchingId: String,
|
var matchingId: String,
|
||||||
|
@ -30,6 +31,12 @@ class DownloadWizardActivity: BaseEuiccAccessActivity() {
|
||||||
private lateinit var prevButton: Button
|
private lateinit var prevButton: Button
|
||||||
|
|
||||||
private var currentFragment: DownloadWizardStepFragment? = null
|
private var currentFragment: DownloadWizardStepFragment? = null
|
||||||
|
set(value) {
|
||||||
|
if (this::state.isInitialized) {
|
||||||
|
state.currentStepFragmentClassName = value?.javaClass?.name
|
||||||
|
}
|
||||||
|
field = value
|
||||||
|
}
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
enableEdgeToEdge()
|
enableEdgeToEdge()
|
||||||
|
@ -43,6 +50,7 @@ class DownloadWizardActivity: BaseEuiccAccessActivity() {
|
||||||
})
|
})
|
||||||
|
|
||||||
state = DownloadWizardState(
|
state = DownloadWizardState(
|
||||||
|
null,
|
||||||
intent.getIntExtra("selectedLogicalSlot", 0),
|
intent.getIntExtra("selectedLogicalSlot", 0),
|
||||||
"",
|
"",
|
||||||
"",
|
"",
|
||||||
|
@ -88,6 +96,29 @@ class DownloadWizardActivity: BaseEuiccAccessActivity() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onSaveInstanceState(outState: Bundle) {
|
||||||
|
super.onSaveInstanceState(outState)
|
||||||
|
outState.putString("currentStepFragmentClassName", state.currentStepFragmentClassName)
|
||||||
|
outState.putInt("selectedLogicalSlot", state.selectedLogicalSlot)
|
||||||
|
outState.putString("smdp", state.smdp)
|
||||||
|
outState.putString("matchingId", state.matchingId)
|
||||||
|
outState.putString("confirmationCode", state.confirmationCode)
|
||||||
|
outState.putString("imei", state.imei)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onRestoreInstanceState(savedInstanceState: Bundle) {
|
||||||
|
super.onRestoreInstanceState(savedInstanceState)
|
||||||
|
state.currentStepFragmentClassName = savedInstanceState.getString(
|
||||||
|
"currentStepFragmentClassName",
|
||||||
|
state.currentStepFragmentClassName
|
||||||
|
)
|
||||||
|
state.selectedLogicalSlot =
|
||||||
|
savedInstanceState.getInt("selectedLogicalSlot", state.selectedLogicalSlot)
|
||||||
|
state.smdp = savedInstanceState.getString("smdp", state.smdp)
|
||||||
|
state.matchingId = savedInstanceState.getString("matchingId", state.matchingId)
|
||||||
|
state.imei = savedInstanceState.getString("imei", state.imei)
|
||||||
|
}
|
||||||
|
|
||||||
private fun onPrevPressed() {
|
private fun onPrevPressed() {
|
||||||
if (currentFragment?.hasPrev == true) {
|
if (currentFragment?.hasPrev == true) {
|
||||||
val prevFrag = currentFragment?.createPrevFragment()
|
val prevFrag = currentFragment?.createPrevFragment()
|
||||||
|
@ -112,8 +143,14 @@ class DownloadWizardActivity: BaseEuiccAccessActivity() {
|
||||||
|
|
||||||
override fun onInit() {
|
override fun onInit() {
|
||||||
progressBar.visibility = View.GONE
|
progressBar.visibility = View.GONE
|
||||||
|
|
||||||
|
if (state.currentStepFragmentClassName != null) {
|
||||||
|
val clazz = Class.forName(state.currentStepFragmentClassName!!)
|
||||||
|
showFragment(clazz.getDeclaredConstructor().newInstance() as DownloadWizardStepFragment)
|
||||||
|
} else {
|
||||||
showFragment(DownloadWizardSlotSelectFragment())
|
showFragment(DownloadWizardSlotSelectFragment())
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun showFragment(
|
private fun showFragment(
|
||||||
nextFrag: DownloadWizardStepFragment,
|
nextFrag: DownloadWizardStepFragment,
|
||||||
|
|
|
@ -87,7 +87,7 @@ class DownloadWizardSlotSelectFragment : DownloadWizardActivity.DownloadWizardSt
|
||||||
channel.lpa.profiles.find { it.state == LocalProfileInfo.State.Enabled }?.displayName
|
channel.lpa.profiles.find { it.state == LocalProfileInfo.State.Enabled }?.displayName
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}.toList()
|
}.toList().sortedBy { it.logicalSlotId }
|
||||||
adapter.slots = slots
|
adapter.slots = slots
|
||||||
|
|
||||||
// Ensure we always have a selected slot by default
|
// Ensure we always have a selected slot by default
|
||||||
|
|
Loading…
Add table
Reference in a new issue