Browse Source

Switch LuiActivity to the new wizard

...and rename / alias the old DirectProfileDownloadActivity to the new
DownloadWizardActivity
Peter Cai 1 year ago
parent
commit
15d3b701a5

+ 4 - 5
app-common/src/main/AndroidManifest.xml

@@ -19,11 +19,6 @@
             android:name="im.angry.openeuicc.ui.NotificationsActivity"
             android:name="im.angry.openeuicc.ui.NotificationsActivity"
             android:label="@string/profile_notifications" />
             android:label="@string/profile_notifications" />
 
 
-        <activity
-            android:name="im.angry.openeuicc.ui.DirectProfileDownloadActivity"
-            android:label="@string/profile_download"
-            android:theme="@style/Theme.AppCompat.Translucent" />
-
         <activity
         <activity
             android:name="im.angry.openeuicc.ui.EuiccInfoActivity"
             android:name="im.angry.openeuicc.ui.EuiccInfoActivity"
             android:label="@string/euicc_info" />
             android:label="@string/euicc_info" />
@@ -36,6 +31,10 @@
             android:name="im.angry.openeuicc.ui.wizard.DownloadWizardActivity"
             android:name="im.angry.openeuicc.ui.wizard.DownloadWizardActivity"
             android:label="@string/download_wizard" />
             android:label="@string/download_wizard" />
 
 
+        <activity-alias
+            android:name="im.angry.openeuicc.ui.DirectProfileDownloadActivity"
+            android:targetActivity="im.angry.openeuicc.ui.wizard.DownloadWizardActivity" />
+
         <activity
         <activity
             android:name="com.journeyapps.barcodescanner.CaptureActivity"
             android:name="com.journeyapps.barcodescanner.CaptureActivity"
             android:screenOrientation="fullSensor"
             android:screenOrientation="fullSensor"

+ 0 - 52
app-common/src/main/java/im/angry/openeuicc/ui/DirectProfileDownloadActivity.kt

@@ -1,52 +0,0 @@
-package im.angry.openeuicc.ui
-
-import androidx.lifecycle.lifecycleScope
-import im.angry.openeuicc.util.*
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.flow.map
-import kotlinx.coroutines.flow.toList
-import kotlinx.coroutines.launch
-import kotlinx.coroutines.withContext
-
-class DirectProfileDownloadActivity : BaseEuiccAccessActivity(), SlotSelectFragment.SlotSelectedListener, OpenEuiccContextMarker {
-    override fun onInit() {
-        lifecycleScope.launch {
-            val knownChannels = withContext(Dispatchers.IO) {
-                euiccChannelManager.flowEuiccPorts().map { (slotId, portId) ->
-                    euiccChannelManager.withEuiccChannel(slotId, portId) { channel ->
-                        Triple(slotId, channel.logicalSlotId, portId)
-                    }
-                }.toList().sortedBy { it.second }
-            }
-
-            when {
-                knownChannels.isEmpty() -> {
-                    finish()
-                }
-                // Detect multiple eUICC chips
-                knownChannels.distinctBy { it.first }.size > 1 -> {
-                    SlotSelectFragment.newInstance(
-                        knownChannels.map { it.first },
-                        knownChannels.map { it.second },
-                        knownChannels.map { it.third })
-                        .show(supportFragmentManager, SlotSelectFragment.TAG)
-                }
-                else -> {
-                    // If the device has only one eSIM "chip" (but may be mapped to multiple slots),
-                    // we can skip the slot selection dialog since there is only one chip to save to.
-                    onSlotSelected(
-                        knownChannels[0].first,
-                        knownChannels[0].third
-                    )
-                }
-            }
-        }
-    }
-
-    override fun onSlotSelected(slotId: Int, portId: Int) {
-        ProfileDownloadFragment.newInstance(slotId, portId, finishWhenDone = true)
-            .show(supportFragmentManager, ProfileDownloadFragment.TAG)
-    }
-
-    override fun onSlotSelectCancelled() = finish()
-}

+ 4 - 2
app/src/main/java/im/angry/openeuicc/ui/LuiActivity.kt

@@ -8,6 +8,7 @@ import androidx.core.view.ViewCompat
 import androidx.core.view.WindowInsetsCompat
 import androidx.core.view.WindowInsetsCompat
 import androidx.core.view.updatePadding
 import androidx.core.view.updatePadding
 import im.angry.openeuicc.R
 import im.angry.openeuicc.R
+import im.angry.openeuicc.ui.wizard.DownloadWizardActivity
 
 
 class LuiActivity : AppCompatActivity() {
 class LuiActivity : AppCompatActivity() {
     override fun onStart() {
     override fun onStart() {
@@ -25,10 +26,11 @@ class LuiActivity : AppCompatActivity() {
         }
         }
 
 
         requireViewById<View>(R.id.lui_skip).setOnClickListener { finish() }
         requireViewById<View>(R.id.lui_skip).setOnClickListener { finish() }
-        // TODO: Deactivate LuiActivity if there is no eSIM found.
+        // TODO: Deactivate DownloadWizardActivity if there is no eSIM found.
         // TODO: Support pre-filled download info (from carrier apps); UX
         // TODO: Support pre-filled download info (from carrier apps); UX
         requireViewById<View>(R.id.lui_download).setOnClickListener {
         requireViewById<View>(R.id.lui_download).setOnClickListener {
-            startActivity(Intent(this, DirectProfileDownloadActivity::class.java))
+            startActivity(Intent(this, DownloadWizardActivity::class.java))
+            finish()
         }
         }
     }
     }
 }
 }