Preferred SIM card selection is not working as it should in multiple ways
There are multiple problems in the way [Preferred SIM for] selections under "Settings > Network & Internet > SIM Cards" for dual-SIM devices is handled:
- When one SIM card is enabled, and other is disabled
- When both SIM cards are enabled
Here is a video of me reproducing problems and explaining stuff in the process, it should serve as a good TL;DR. You will also have TL;DR for everything written here below.
Expected Behavior
- When only one SIM card is enabled, the option for selecting which SIM to be used for "Calls" should be greyed out and disabled (the same way it's for "Mobile data" and "SMS messages"), since there is only one active SIM card available, you aren't able to make a call from the disabled SIM card anyway.
- When second SIM card is enabled, the setting should restore the state previously set when both SIM cards were enabled. For example, if I set "Ask every time" for "Calls" or "SIM2" for "SMS messasges" the last time both of my SIM cards were enabled, then the next time both cards are enabled those same settings should be restored.
Current Behavior
- When only one SIM card is enabled, the option for selecting which SIM to be used for "Calls" is available, and I can set "Ask every time" or even disabled SIM card to be used as a default for calls. Why? It is completely unnecessary. If you select disabled SIM card and go into Phone app and try to make a phone call, it will give you "Mobile network not available" warning and that would be the end of it, so there is no need for that selection to be available to user. This works normally for "Mobile data" and "SMS messages" selections.
- When second SIM card is enabled, the settings for "Calls" and "SMS messages" aren't restored to their previous state when I had both SIM cards enabled. For example, when I have both cards enabled, I like having "Ask every time" option chosen, because it allows me to choose which SIM to use before every call I make. However, since I'm frequently enabling and disabling my secondary SIM card, that selection of mine gets reset every time, so for example if I had "Ask every time" selected when both cards were enabled, and then disabled 2nd one, SIM1 gets chosen as a default SIM cards for calls (which is completely understandable since it's now the only active SIM card), however, once I enable SIM2 card again, preferred card for calls is still SIM1 instead of "Ask every time", as it previously was set when both cards were enabled. The same happens for "SMS messages" selection: If I select "SIM2" to be used for SMS messages while both cards are enabled, and then disable SIM2 it will default to SIM1 for messages and grey out the selection (as it should), however once I enable SIM2 card again, the "SMS messages "selection won't be restored back to SIM2 again, as it previously was when I had both SIMs enabled. This works normally for "Mobile data" only.
TL;DR:
- Preferred SIM card selection for "Calls" is not being greyed out after disabling one SIM card, which makes it possible to choose disabled card for making calls = bad.
- "Calls" and "SMS messages" selections aren't restoring to their previous selections (set when both SIM cards were previously enabled) = bad.
Possible Solution
I don't quite understand why "Calls" selection completely misbehaves and "SMS messages" selection partially misbehaves, when there is "Mobile data" which works great: being greyed out when only one SIM card is active (since there is no choice to make) and restoring settings from the previous time both SIMs were enabled. Not sure if there is some technical limitation for why this can't work, but if there isn't, then the solution would quite simply be to make "Calls" and "SMS messages" selections work exactly the same way as "Mobile data" in relation to SIM cards state. To put it in the simplest way: The phone should only store "Mobile data", "Calls" and "SMS messages" settings for one combination of SIM card selection - when both cards are enabled. if one of the cards is disabled, it should default everything to the enabled card and grey out all selections, and then once both cards are enabled, restore the settings to the state saved previously.
TL;DR: grey out "Calls" selection when one of the SIM cards is disabled, and restore selections for "Calls" and "SMS messages" when both cards are enabled.
Steps to Reproduce
- Make sure you have 2 SIM cards in your device
- Go to "Settings > Network & Internet > SIM Cards". Both SIM cards should be enabled
- Select SIM2 card for all "Mobile data, "Calls" and "SMS messages"
- Disable SIM2
- All 3 selections ("Mobile data, "Calls" and "SMS messages") will get their SIM selection changed to SIM1 (which is fine, since it's the only SIM available), but only "Mobile data" and "SMS messages" will get greyed out, while "Calls" selection will stay available for you to be able to choose that disabled SIM2 for some reason = Profit 1
- Enable SIM2 again
- "Mobile data" selection restores back to SIM2 (yay!), but both "Calls" and "SMS messages" will stay the same (SIM1) and won't restore to their previous selections made when both SIM cards were enabled (SIM2) - Profit 2
Also, here is a link to that same video from the top of me reproducing problems.
NOTE: This works exactly the same when roles of the SIM cards are reversed.
/device gemini /version lineage-16.0 /date 2019-06-27 /kernel 3.18.120-g3ced968 /baseband TH20c1.9-1226_2340_46c2936,TH20c1.9-1226_2340_46c2936 /mods Magisk, AdAway, GApps
I have read the directions.