Compare commits

..

1 commit

Author SHA1 Message Date
28a5de1c01
refactor: sim toolkit 2025-03-05 17:15:33 +08:00
2 changed files with 5 additions and 3 deletions

View file

@ -24,9 +24,8 @@ class UnprivilegedEuiccManagementFragment : EuiccManagementFragment() {
super.onCreateOptionsMenu(menu, inflater) super.onCreateOptionsMenu(menu, inflater)
inflater.inflate(R.menu.fragment_sim_toolkit, menu) inflater.inflate(R.menu.fragment_sim_toolkit, menu)
menu.findItem(R.id.open_sim_toolkit).apply { menu.findItem(R.id.open_sim_toolkit).apply {
val slot = stk[slotId] val slot = stk[slotId] ?: return@apply
if (slot == null) return@apply isVisible = slot.available
isVisible = true
setOnMenuItemClickListener { slot.launch() } setOnMenuItemClickListener { slot.launch() }
} }
} }

View file

@ -39,6 +39,9 @@ class SIMToolkit(private val context: Context) {
get() = packageNames.flatMap(context.packageManager::getActivities) get() = packageNames.flatMap(context.packageManager::getActivities)
.filter { it.exported }.map { ComponentName(it.packageName, it.name) } .filter { it.exported }.map { ComponentName(it.packageName, it.name) }
val available: Boolean
get() = getIntent() != null || getDisabledPackageName() != null
private fun getIntent(): Intent? { private fun getIntent(): Intent? {
try { try {
val component = components.find(activities::contains) ?: return launchIntent val component = components.find(activities::contains) ?: return launchIntent