aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSandeep Gutta <sangutta@codeaurora.org>2014-11-07 14:23:42 +0530
committerSteve Kondik <steve@cyngn.com>2014-12-27 03:46:23 -0800
commit5fbd6a334fb3f4ddf3bddcee32c9bb29be41ea73 (patch)
treef60c5f6780429c8fddb337f2e52372ea03876d53
parentdaae2ef80446580628058015c8d398e03a31957a (diff)
downloadandroid_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.java15
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.