Compare commits
No commits in common. "3a32257c967a34ee0434ae69233168fd84b57995" and "331137a5eed3dc5ecab97f0d8e423e39e9f04673" have entirely different histories.
3a32257c96
...
331137a5ee
6 changed files with 2 additions and 53 deletions
1
.idea/misc.xml
generated
1
.idea/misc.xml
generated
|
@ -9,7 +9,6 @@
|
||||||
<entry key="app/src/main/res/layout/fragment_euicc.xml" value="0.19375" />
|
<entry key="app/src/main/res/layout/fragment_euicc.xml" value="0.19375" />
|
||||||
<entry key="app/src/main/res/layout/fragment_profile_download.xml" value="0.19375" />
|
<entry key="app/src/main/res/layout/fragment_profile_download.xml" value="0.19375" />
|
||||||
<entry key="app/src/main/res/layout/fragment_profile_rename.xml" value="0.19375" />
|
<entry key="app/src/main/res/layout/fragment_profile_rename.xml" value="0.19375" />
|
||||||
<entry key="app/src/main/res/menu/activity_main.xml" value="0.19375" />
|
|
||||||
<entry key="app/src/main/res/menu/activity_main_slot_spinner.xml" value="0.19375" />
|
<entry key="app/src/main/res/menu/activity_main_slot_spinner.xml" value="0.19375" />
|
||||||
<entry key="app/src/main/res/menu/fragment_profile_download.xml" value="0.19375" />
|
<entry key="app/src/main/res/menu/fragment_profile_download.xml" value="0.19375" />
|
||||||
<entry key="app/src/main/res/menu/fragment_profile_rename.xml" value="0.19375" />
|
<entry key="app/src/main/res/menu/fragment_profile_rename.xml" value="0.19375" />
|
||||||
|
|
|
@ -1,23 +1,18 @@
|
||||||
package im.angry.openeuicc.ui
|
package im.angry.openeuicc.ui
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.telephony.TelephonyManager
|
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import android.view.Menu
|
import android.view.Menu
|
||||||
import android.view.MenuItem
|
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.widget.AdapterView
|
import android.widget.AdapterView
|
||||||
import android.widget.ArrayAdapter
|
import android.widget.ArrayAdapter
|
||||||
import android.widget.Spinner
|
import android.widget.Spinner
|
||||||
import android.widget.Toast
|
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import im.angry.openeuicc.OpenEUICCApplication
|
import im.angry.openeuicc.OpenEUICCApplication
|
||||||
import im.angry.openeuicc.R
|
import im.angry.openeuicc.R
|
||||||
import im.angry.openeuicc.core.EuiccChannelRepository
|
import im.angry.openeuicc.core.EuiccChannelRepository
|
||||||
import im.angry.openeuicc.databinding.ActivityMainBinding
|
import im.angry.openeuicc.databinding.ActivityMainBinding
|
||||||
import im.angry.openeuicc.util.dsdsEnabled
|
|
||||||
import im.angry.openeuicc.util.supportsDSDS
|
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
|
@ -36,15 +31,11 @@ class MainActivity : AppCompatActivity() {
|
||||||
|
|
||||||
private lateinit var binding: ActivityMainBinding
|
private lateinit var binding: ActivityMainBinding
|
||||||
|
|
||||||
private lateinit var tm: TelephonyManager
|
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
binding = ActivityMainBinding.inflate(layoutInflater)
|
binding = ActivityMainBinding.inflate(layoutInflater)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
|
||||||
tm = getSystemService(TelephonyManager::class.java)
|
|
||||||
|
|
||||||
repo = (application as OpenEUICCApplication).euiccChannelRepo
|
repo = (application as OpenEUICCApplication).euiccChannelRepo
|
||||||
|
|
||||||
spinnerAdapter = ArrayAdapter<String>(this, android.R.layout.simple_spinner_item)
|
spinnerAdapter = ArrayAdapter<String>(this, android.R.layout.simple_spinner_item)
|
||||||
|
@ -55,7 +46,7 @@ class MainActivity : AppCompatActivity() {
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onCreateOptionsMenu(menu: Menu): Boolean {
|
override fun onCreateOptionsMenu(menu: Menu): Boolean {
|
||||||
menuInflater.inflate(R.menu.activity_main, menu)
|
menuInflater.inflate(R.menu.activity_main_slot_spinner, menu)
|
||||||
|
|
||||||
spinner = menu.findItem(R.id.spinner).actionView as Spinner
|
spinner = menu.findItem(R.id.spinner).actionView as Spinner
|
||||||
spinner.adapter = spinnerAdapter
|
spinner.adapter = spinnerAdapter
|
||||||
|
@ -74,25 +65,9 @@ class MainActivity : AppCompatActivity() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tm.supportsDSDS) {
|
|
||||||
val dsds = menu.findItem(R.id.dsds)
|
|
||||||
dsds.isVisible = true
|
|
||||||
dsds.isChecked = tm.dsdsEnabled
|
|
||||||
}
|
|
||||||
|
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onOptionsItemSelected(item: MenuItem): Boolean = when (item.itemId) {
|
|
||||||
R.id.dsds -> {
|
|
||||||
tm.dsdsEnabled = !item.isChecked
|
|
||||||
Toast.makeText(this, R.string.toast_dsds_switched, Toast.LENGTH_LONG).show()
|
|
||||||
finish()
|
|
||||||
true
|
|
||||||
}
|
|
||||||
else -> false
|
|
||||||
}
|
|
||||||
|
|
||||||
private suspend fun init() {
|
private suspend fun init() {
|
||||||
withContext(Dispatchers.IO) {
|
withContext(Dispatchers.IO) {
|
||||||
repo.load()
|
repo.load()
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
package im.angry.openeuicc.util
|
|
||||||
|
|
||||||
import android.telephony.TelephonyManager
|
|
||||||
|
|
||||||
val TelephonyManager.supportsDSDS: Boolean
|
|
||||||
get() = supportedModemCount == 2
|
|
||||||
|
|
||||||
var TelephonyManager.dsdsEnabled: Boolean
|
|
||||||
get() = activeModemCount >= 2
|
|
||||||
set(value) {
|
|
||||||
switchMultiSimConfig(if (value) { 2 } else {1})
|
|
||||||
}
|
|
|
@ -18,9 +18,6 @@
|
||||||
android:id="@+id/no_euicc_placeholder"
|
android:id="@+id/no_euicc_placeholder"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_marginStart="40dp"
|
|
||||||
android:layout_marginEnd="40dp"
|
|
||||||
android:gravity="center"
|
|
||||||
android:text="@string/no_euicc" />
|
android:text="@string/no_euicc" />
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
|
||||||
|
|
|
@ -7,11 +7,4 @@
|
||||||
app:actionViewClass="android.widget.Spinner"
|
app:actionViewClass="android.widget.Spinner"
|
||||||
android:background="?android:attr/colorPrimary"
|
android:background="?android:attr/colorPrimary"
|
||||||
app:showAsAction="always" />
|
app:showAsAction="always" />
|
||||||
|
|
||||||
<item
|
|
||||||
android:id="@+id/dsds"
|
|
||||||
android:title="@string/dsds"
|
|
||||||
android:checkable="true"
|
|
||||||
android:visible="false"
|
|
||||||
app:showAsAction="never" />
|
|
||||||
</menu>
|
</menu>
|
|
@ -1,9 +1,7 @@
|
||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">OpenEUICC</string>
|
<string name="app_name">OpenEUICC</string>
|
||||||
|
|
||||||
<string name="no_euicc">No eUICC found on this device.\nOn some devices, you may need to enable dual SIM first in the menu of this app.</string>
|
<string name="no_euicc">No eUICC found on this device.</string>
|
||||||
|
|
||||||
<string name="dsds">Dual SIM</string>
|
|
||||||
|
|
||||||
<string name="enabled">Enabled</string>
|
<string name="enabled">Enabled</string>
|
||||||
<string name="disabled">Disabled</string>
|
<string name="disabled">Disabled</string>
|
||||||
|
@ -18,7 +16,6 @@
|
||||||
<string name="toast_profile_enabled">eSIM profile switched. Please wait for a while when the card is restarting.</string>
|
<string name="toast_profile_enabled">eSIM profile switched. Please wait for a while when the card is restarting.</string>
|
||||||
<string name="toast_profile_enable_failed">Cannot switch to new eSIM profile.</string>
|
<string name="toast_profile_enable_failed">Cannot switch to new eSIM profile.</string>
|
||||||
<string name="toast_profile_name_too_long">Nickname cannot be longer than 64 characters</string>
|
<string name="toast_profile_name_too_long">Nickname cannot be longer than 64 characters</string>
|
||||||
<string name="toast_dsds_switched">DSDS state switched. Please wait until the modem restarts.</string>
|
|
||||||
|
|
||||||
<string name="profile_download">New eSIM</string>
|
<string name="profile_download">New eSIM</string>
|
||||||
<string name="profile_download_server">Server (RSP / SM-DP+)</string>
|
<string name="profile_download_server">Server (RSP / SM-DP+)</string>
|
||||||
|
|
Loading…
Add table
Reference in a new issue