diff --git a/app/src/main/java/dev/bluehouse/enablevolte/IMSStatusQSTileService.kt b/app/src/main/java/dev/bluehouse/enablevolte/IMSStatusQSTileService.kt index 9334cb0..2cce15b 100644 --- a/app/src/main/java/dev/bluehouse/enablevolte/IMSStatusQSTileService.kt +++ b/app/src/main/java/dev/bluehouse/enablevolte/IMSStatusQSTileService.kt @@ -21,7 +21,7 @@ open class IMSStatusQSTileService( val carrierModer = CarrierModer(this.applicationContext) try { - if (checkShizukuPermission(0) == ShizukuStatus.GRANTED && carrierModer.deviceSupportsIMS) { + if (checkShizukuPermission(0) == ShizukuStatus.GRANTED) { val sub = carrierModer.getActiveSubscriptionInfoForSimSlotIndex(this.simSlotIndex) ?: return null diff --git a/app/src/main/java/dev/bluehouse/enablevolte/VoLTEConfigToggleQSTileService.kt b/app/src/main/java/dev/bluehouse/enablevolte/VoLTEConfigToggleQSTileService.kt index 14b6a55..96d7c74 100644 --- a/app/src/main/java/dev/bluehouse/enablevolte/VoLTEConfigToggleQSTileService.kt +++ b/app/src/main/java/dev/bluehouse/enablevolte/VoLTEConfigToggleQSTileService.kt @@ -26,7 +26,7 @@ open class VoLTEConfigToggleQSTileService( val carrierModer = CarrierModer(this.applicationContext) try { - if (checkShizukuPermission(0) == ShizukuStatus.GRANTED && carrierModer.deviceSupportsIMS) { + if (checkShizukuPermission(0) == ShizukuStatus.GRANTED) { carrierModer.subscriptions val sub = carrierModer.getActiveSubscriptionInfoForSimSlotIndex(this.simSlotIndex) diff --git a/app/src/main/java/dev/bluehouse/enablevolte/pages/Config.kt b/app/src/main/java/dev/bluehouse/enablevolte/pages/Config.kt index 207d7a9..fbca8f0 100644 --- a/app/src/main/java/dev/bluehouse/enablevolte/pages/Config.kt +++ b/app/src/main/java/dev/bluehouse/enablevolte/pages/Config.kt @@ -121,7 +121,7 @@ fun Config( LaunchedEffect(true) { if (checkShizukuPermission(0) == ShizukuStatus.GRANTED) { - if (carrierModer.deviceSupportsIMS && subId >= 0) { + if (subId >= 0) { configurable = try { withContext(Dispatchers.Default) { diff --git a/app/src/main/java/dev/bluehouse/enablevolte/pages/Home.kt b/app/src/main/java/dev/bluehouse/enablevolte/pages/Home.kt index 4932447..66300b0 100644 --- a/app/src/main/java/dev/bluehouse/enablevolte/pages/Home.kt +++ b/app/src/main/java/dev/bluehouse/enablevolte/pages/Home.kt @@ -29,6 +29,7 @@ import dev.bluehouse.enablevolte.checkShizukuPermission import dev.bluehouse.enablevolte.components.BooleanPropertyView import dev.bluehouse.enablevolte.components.ClickablePropertyView import dev.bluehouse.enablevolte.components.HeaderText +import dev.bluehouse.enablevolte.components.InfiniteLoadingDialog import dev.bluehouse.enablevolte.components.StringPropertyView import dev.bluehouse.enablevolte.getLatestAppVersion import dev.bluehouse.enablevolte.uniqueName @@ -51,15 +52,13 @@ fun Home(navController: NavController) { var isIMSRegistered by rememberSaveable { mutableStateOf(listOf()) } var newerVersion by rememberSaveable { mutableStateOf("") } + var loading by rememberSaveable { mutableStateOf(true) } fun loadFlags() { shizukuGranted = true subscriptions = carrierModer.subscriptions deviceIMSEnabled = carrierModer.deviceSupportsIMS - - if (subscriptions.isNotEmpty() && deviceIMSEnabled) { - isIMSRegistered = subscriptions.map { SubscriptionModer(context, it.subscriptionId).isIMSRegistered } - } + isIMSRegistered = subscriptions.map { SubscriptionModer(context, it.subscriptionId).isIMSRegistered } } LaunchedEffect(Unit) { @@ -92,41 +91,42 @@ fun Home(navController: NavController) { newerVersion = it } } + loading = false } - Column(modifier = Modifier.padding(Dp(16f)).verticalScroll(scrollState)) { - HeaderText(text = stringResource(R.string.version)) - if (newerVersion.isNotEmpty()) { - ClickablePropertyView( - label = BuildConfig.VERSION_NAME, - value = stringResource(R.string.newer_version_available, newerVersion), - ) { - val url = "https://github.com/kyujin-cho/pixel-volte-patch/releases/tag/$newerVersion" - val i = Intent(Intent.ACTION_VIEW) - i.data = url.toUri() - context.startActivity(i, null) + if (loading) { + InfiniteLoadingDialog() + } else { + Column(modifier = Modifier.padding(Dp(16f)).verticalScroll(scrollState)) { + HeaderText(text = stringResource(R.string.version)) + if (newerVersion.isNotEmpty()) { + ClickablePropertyView( + label = BuildConfig.VERSION_NAME, + value = stringResource(R.string.newer_version_available, newerVersion), + ) { + val url = "https://github.com/kyujin-cho/pixel-volte-patch/releases/tag/$newerVersion" + val i = Intent(Intent.ACTION_VIEW) + i.data = url.toUri() + context.startActivity(i, null) + } + } else { + StringPropertyView(label = BuildConfig.VERSION_NAME, value = stringResource(R.string.running_latest_version)) } - } else { - StringPropertyView(label = BuildConfig.VERSION_NAME, value = stringResource(R.string.running_latest_version)) - } - HeaderText(text = stringResource(R.string.permissions_capabilities)) - BooleanPropertyView(label = stringResource(R.string.shizuku_service_running), toggled = shizukuEnabled) - BooleanPropertyView(label = stringResource(R.string.shizuku_permission_granted), toggled = shizukuGranted) - BooleanPropertyView(label = stringResource(R.string.sim_detected), toggled = subscriptions.isNotEmpty()) - BooleanPropertyView(label = stringResource(R.string.volte_supported_by_device), toggled = deviceIMSEnabled) + HeaderText(text = stringResource(R.string.permissions_capabilities)) + BooleanPropertyView(label = stringResource(R.string.shizuku_service_running), toggled = shizukuEnabled) + BooleanPropertyView(label = stringResource(R.string.shizuku_permission_granted), toggled = shizukuGranted) + BooleanPropertyView(label = stringResource(R.string.sim_detected), toggled = subscriptions.isNotEmpty()) + BooleanPropertyView(label = stringResource(R.string.volte_supported_by_device), toggled = deviceIMSEnabled) - for (idx in subscriptions.indices) { - var isRegistered = false - if (isIMSRegistered.isNotEmpty()) { - isRegistered = isIMSRegistered[idx] + for (idx in subscriptions.indices) { + HeaderText(text = stringResource(R.string.ims_status_for, subscriptions[idx].uniqueName)) + BooleanPropertyView( + label = stringResource(R.string.ims_status), + toggled = isIMSRegistered[idx], + trueLabel = stringResource(R.string.registered), + falseLabel = stringResource(R.string.unregistered), + ) } - HeaderText(text = stringResource(R.string.ims_status_for, subscriptions[idx].uniqueName)) - BooleanPropertyView( - label = stringResource(R.string.ims_status), - toggled = isRegistered, - trueLabel = stringResource(R.string.registered), - falseLabel = stringResource(R.string.unregistered), - ) } } }