[Samsung Galaxy S10/S10+/S10 5G/E Cross Device Deve] cntmagistus:
Another nice (new?) feature I've just noticed that (since 20240626?) we can now toggle 'Use this SIM' under SIM settings to disable a SIM. You can't disable the last remaining active SIM (or disable the active SIM while other SIM is inactive/not registered to carrier as my carrier had issues while testing this), besides using airplane mode. Would be nice if we'd have to option to disable all SIMS with this feature as I would like to be able to use this toggle to disable both sims at the same time.

A more 'serious' issue': once the SIM is disabled, the SIM can't be re-enabled using the toggle and need a full reboot (switching on/off airplane mode does not help). (Partial) logcat when toggling the 'Use this SIM' once SIM was disabled below. Can others verify that re-enabling SIMS indeed does not work ? (i've been fiddeling around in this area so might have broken something specific on my phone myself)

06-30 13:23:21.171 7004 10482 D VoNrSettings: init:
06-30 13:23:21.172 7004 7182 D SatelliteSettingPreferenceController: getAvailabilityStatus() : carrierEnabledSatelliteFlag is disabled
06-30 13:23:21.172 7003 7177 W PhoneInterfaceManager: getImsProvisioningInt: called with an inactive subscription '3' for key:68
06-30 13:23:21.173 7004 10482 D VoNrSettings: mHas5gCapability: false,mIsNrEnabledFromCarrierConfig: true,mIsVonrEnabledFromCarrierConfig: false,mIsVonrVisibleFromCarrierConfig: true
06-30 13:23:21.173 7004 10477 W QueryPrivisioningStat: fail to get Provisioning stat. subId=3
06-30 13:23:21.173 7004 10477 W QueryPrivisioningStat: java.lang.IllegalArgumentException: subscribe id is invalid
06-30 13:23:21.173 7004 10477 W QueryPrivisioningStat: at android.os.Parcel.createExceptionOrNull(Parcel.java:3187)
06-30 13:23:21.173 7004 10477 W QueryPrivisioningStat: at android.os.Parcel.createException(Parcel.java:3167)
06-30 13:23:21.173 7004 10477 W QueryPrivisioningStat: at android.os.Parcel.readException(Parcel.java:3150)
06-30 13:23:21.173 7004 10477 W QueryPrivisioningStat: at android.os.Parcel.readException(Parcel.java:3092)
06-30 13:23:21.173 7004 10477 W QueryPrivisioningStat: at com.android.internal.telephony.ITelephony$Stub$Proxy.getImsProvisioningStatusForCapability(ITelephony.java:14163)
06-30 13:23:21.173 7004 10477 W QueryPrivisioningStat: at android.telephony.ims.ProvisioningManager.getProvisioningStatusForCapability(ProvisioningManager.java:1513)
06-30 13:23:21.173 7004 10477 W QueryPrivisioningStat: at com.android.settings.network.ims.ImsQueryProvisioningStat.query(ImsQueryProvisioningStat.java:58)
06-30 13:23:21.173 7004 10477 W QueryPrivisioningStat: at com.android.settings.network.ims.ImsQueryController.isProvisionedOnDevice(ImsQueryController.java:89)
06-30 13:23:21.173 7004 10477 W QueryPrivisioningStat: at com.android.settings.network.ims.VolteQueryImsState.isVoLteProvisioned(VolteQueryImsState.java:77)
06-30 13:23:21.173 7004 10477 W QueryPrivisioningStat: at com.android.settings.network.ims.VolteQueryImsState.isReadyToVoLte(VolteQueryImsState.java:97)
06-30 13:23:21.173 7004 10477 W QueryPrivisioningStat: at com.android.settings.network.telephony.Enhanced4gBasePreferenceController.getAvailabilityStatus(Enhanced4gBasePreferenceController.java:121)
06-30 13:23:21.173 7004 10477 W QueryPrivisioningStat: at com.android.settings.network.telephony.TelephonyTogglePreferenceController$$ExternalSyntheticLambda0.getAvailabilityStatus(R8$$SyntheticClass:0)
06-30 13:23:21.173 7004 10477 W QueryPrivisioningStat: at com.android.settings.network.telephony.MobileNetworkUtils.getAvailability(MobileNetworkUtils.java:584)
06-30 13:23:21.173 7004 10477 W QueryPrivisioningStat: at com.android.settings.network.telephony.TelephonyTogglePreferenceController.getAvailabilityStatus(TelephonyTogglePreferenceController.java:47)
06-30 13:23:21.173 7004 10477 W QueryPrivisioningStat: at com.android.settings.network.telephony.TelephonyStatusControlSession.setupAvailabilityStatus(TelephonyStatusControlSession.kt:65)
06-30 13:23:21.173 7004 10477 W QueryPrivisioningStat: at com.android.settings.network.telephony.TelephonyStatusControlSession.access$setupAvailabilityStatus(TelephonyStatusControlSession.kt:35)
06-30 13:23:21.173 7004 10477 W QueryPrivisioningStat: at com.android.settings.network.telephony.TelephonyStatusControlSession$1$1.invokeSuspend(TelephonyStatusControlSession.kt:46)
06-30 13:23:21.173 7004 10477 W QueryPrivisioningStat: at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
06-30 13:23:21.173 7004 10477 W QueryPrivisioningStat: at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
06-30 13:23:21.173 7004 10477 W QueryPrivisioningStat: at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
06-30 13:23:21.173 7004 10477 W QueryPrivisioningStat: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
06-30 13:23:21.173 7004 10477 W QueryPrivisioningStat: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
06-30 13:23:21.173 7004 10477 W QueryPrivisioningStat: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)
06-30 13:23:21.174 7004 10489 I SubscriptionUtil: Target removable cardId :1
06-30 13:23:21.174 7004 10479 W QueryPrivisioningStat: fail to get Provisioning stat. subId=3
06-30 13:23:21.174 7004 10479 W QueryPrivisioningStat: java.lang.IllegalArgumentException: subscribe id is invalid
06-30 13:23:21.174 7004 10479 W QueryPrivisioningStat: at android.os.Parcel.createExceptionOrNull(Parcel.java:3187)
06-30 13:23:21.174 7004 10479 W QueryPrivisioningStat: at android.os.Parcel.createException(Parcel.java:3167)
06-30 13:23:21.174 7004 10479 W QueryPrivisioningStat: at android.os.Parcel.readException(Parcel.java:3150)
06-30 13:23:21.174 7004 10479 W QueryPrivisioningStat: at android.os.Parcel.readException(Parcel.java:3092)
06-30 13:23:21.174 7004 10479 W QueryPrivisioningStat: at com.android.internal.telephony.ITelephony$Stub$Proxy.getImsProvisioningStatusForCapability(ITelephony.java:14163)
06-30 13:23:21.174 7004 10479 W QueryPrivisioningStat: at android.telephony.ims.ProvisioningManager.getProvisioningStatusForCapability(ProvisioningManager.java:1513)
06-30 13:23:21.174 7004 10479 W QueryPrivisioningStat: at com.android.settings.network.ims.ImsQueryProvisioningStat.query(ImsQueryProvisioningStat.java:58)
06-30 13:23:21.174 7004 10479 W QueryPrivisioningStat: at com.android.settings.network.ims.ImsQueryController.isProvisionedOnDevice(ImsQueryController.java:89)
06-30 13:23:21.174 7004 10479 W QueryPrivisioningStat: at com.android.settings.network.ims.VtQueryImsState.isReadyToVideoCall(VtQueryImsState.java:71)
06-30 13:23:21.174 7004 10479 W QueryPrivisioningStat: at com.android.settings.network.telephony.VideoCallingPreferenceController.isVideoCallEnabled(VideoCallingPreferenceController.java:173)
06-30 13:23:21.174 7004 10479 W QueryPrivisioningStat: at com.android.settings.network.telephony.VideoCallingPreferenceController.getAvailabilityStatus(VideoCallingPreferenceController.java:69)
06-30 13:23:21.174 7004 10479 W QueryPrivisioningStat: at com.android.settings.network.telephony.TelephonyTogglePreferenceController$$ExternalSyntheticLambda0.getAvailabilityStatus(R8$$SyntheticClass:0)
06-30 13:23:21.174 7004 10479 W QueryPrivisioningStat: at com.android.settings.network.telephony.MobileNetworkUtils.getAvailability(MobileNetworkUtils.java:584)
06-30 13:23:21.174 7004 10479 W QueryPrivisioningStat: at com.android.settings.network.telephony.TelephonyTogglePreferenceController.getAvailabilityStatus(TelephonyTogglePreferenceController.java:47)
06-30 13:23:21.174 7004 10479 W QueryPrivisioningStat: at com.android.settings.network.telephony.TelephonyStatusControlSession.setupAvailabilityStatus(TelephonyStatusControlSession.kt:65)
06-30 13:23:21.174 7004 10479 W QueryPrivisioningStat: at com.android.settings.network.telephony.TelephonyStatusControlSession.access$setupAvailabilityStatus(TelephonyStatusControlSession.kt:35)
06-30 13:23:21.174 7004 10479 W QueryPrivisioningStat: at com.android.settings.network.telephony.TelephonyStatusControlSession$1$1.invokeSuspend(TelephonyStatusControlSession.kt:46)
06-30 13:23:21.174 7004 10479 W QueryPrivisioningStat: at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
06-30 13:23:21.174 7004 10479 W QueryPrivisioningStat: at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
06-30 13:23:21.174 7004 10479 W QueryPrivisioningStat: at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
06-30 13:23:21.174 7004 10479 W QueryPrivisioningStat: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
06-30 13:23:21.174 7004 10479 W QueryPrivisioningStat: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
06-30 13:23:21.174 7004 10479 W QueryPrivisioningStat: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)