diff options
author | Sandeep Gutta <sangutta@codeaurora.org> | 2014-11-07 14:23:42 +0530 |
---|---|---|
committer | Steve Kondik <steve@cyngn.com> | 2014-12-27 03:46:23 -0800 |
commit | 5fbd6a334fb3f4ddf3bddcee32c9bb29be41ea73 (patch) | |
tree | f60c5f6780429c8fddb337f2e52372ea03876d53 | |
parent | daae2ef80446580628058015c8d398e03a31957a (diff) | |
download | android_frameworks_opt_telephony-5fbd6a334fb3f4ddf3bddcee32c9bb29be41ea73.tar.gz android_frameworks_opt_telephony-5fbd6a334fb3f4ddf3bddcee32c9bb29be41ea73.tar.bz2 android_frameworks_opt_telephony-5fbd6a334fb3f4ddf3bddcee32c9bb29be41ea73.zip |
MSIM: Update Default subId value
- If current default subId is inactive set the first
available active subId as default sub.
- When no SIMs present on device initialize default
data/voice/sms preferences with dummy subId
Change-Id: Ifda5b3c41a6f100dbabe67b07ac0aa07b2fcb146
CRs-Fixed: 750335
-rw-r--r-- | src/java/com/android/internal/telephony/SubscriptionController.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/java/com/android/internal/telephony/SubscriptionController.java b/src/java/com/android/internal/telephony/SubscriptionController.java index 8076ac528..c73759ab5 100644 --- a/src/java/com/android/internal/telephony/SubscriptionController.java +++ b/src/java/com/android/internal/telephony/SubscriptionController.java @@ -172,6 +172,11 @@ public class SubscriptionController extends ISub.Stub { private DdsScheduler mScheduler; private DdsSchedulerAc mSchedulerAc; + // Dummy subId is used when no SIMs present on device + // with MSIM configuration and this is corresponds + // to phoneId 0. + private static final int DUMMY_SUB_ID = -1; + public static SubscriptionController init(Phone phone) { synchronized (SubscriptionController.class) { if (sInstance == null) { @@ -1625,6 +1630,12 @@ public class SubscriptionController extends ISub.Stub { logd("updateUserPrefs: subscription are not avaiable dds = " + getDefaultDataSubId() + " voice = " + getDefaultVoiceSubId() + " sms = " + getDefaultSmsSubId() + " setDDs = " + setDds); + // If no SIM cards present on device, set dummy subId + // as data/sms/voice preferred subId. + setDefaultSubId(DUMMY_SUB_ID); + setDefaultVoiceSubId(DUMMY_SUB_ID); + setDefaultSmsSubId(DUMMY_SUB_ID); + setDataSubId(DUMMY_SUB_ID); return; } @@ -1648,6 +1659,10 @@ public class SubscriptionController extends ISub.Stub { //if there are no activated subs available, no need to update. EXIT. if (mNextActivatedSub == null) return; + if (getSubState(getDefaultSubId()) == SubscriptionManager.INACTIVE) { + setDefaultSubId(mNextActivatedSub.subId); + } + long ddsSubId = getDefaultDataSubId(); int ddsSubState = getSubState(ddsSubId); //if current data sub is not active, fallback to next active sub. |