aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSusheel nyamala <snyamala@codeaurora.org>2016-02-24 21:04:51 +0530
committerSteve Kondik <steve@cyngn.com>2016-07-02 10:55:01 -0700
commit0dbab41dd234c211a7322e5a6f1a794580ecba44 (patch)
tree51708ca2d7b63b7bc81d2d4b2000d3fd44f7464a
parent1e4c0b0eeeb3d966c5da4e137b1af09568edc566 (diff)
downloadandroid_frameworks_opt_telephony-0dbab41dd234c211a7322e5a6f1a794580ecba44.tar.gz
android_frameworks_opt_telephony-0dbab41dd234c211a7322e5a6f1a794580ecba44.tar.bz2
android_frameworks_opt_telephony-0dbab41dd234c211a7322e5a6f1a794580ecba44.zip
Fix default data reset issue on device powerup
Subinfo null check is leading to default data call reset. Replace it with sim state check. Change-Id: I64c255c667e7ed667e004b361c0a68e507b30e5d CRs-Fixed: 980485
-rw-r--r--src/java/com/android/internal/telephony/dataconnection/DctController.java12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/java/com/android/internal/telephony/dataconnection/DctController.java b/src/java/com/android/internal/telephony/dataconnection/DctController.java
index e1c8bace5..ea2b2f385 100644
--- a/src/java/com/android/internal/telephony/dataconnection/DctController.java
+++ b/src/java/com/android/internal/telephony/dataconnection/DctController.java
@@ -32,7 +32,6 @@ import android.os.Message;
import android.os.Messenger;
import android.provider.Settings;
import android.telephony.Rlog;
-import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.SubscriptionManager.OnSubscriptionsChangedListener;
import android.text.TextUtils;
@@ -45,6 +44,9 @@ import com.android.internal.telephony.PhoneConstants;
import com.android.internal.telephony.PhoneProxy;
import com.android.internal.telephony.SubscriptionController;
import com.android.internal.telephony.dataconnection.DcSwitchAsyncChannel.RequestInfo;
+import com.android.internal.telephony.uicc.IccCardStatus;
+import com.android.internal.telephony.uicc.UiccCard;
+import com.android.internal.telephony.uicc.UiccController;
import com.android.internal.util.AsyncChannel;
import com.android.internal.util.IndentingPrintWriter;
@@ -578,12 +580,14 @@ public class DctController extends Handler {
private void onSubInfoReady() {
logd("onSubInfoReady mPhoneNum=" + mPhoneNum);
+ UiccController uiccController = UiccController.getInstance();
for (int i = 0; i < mPhoneNum; ++i) {
+ UiccCard card = uiccController.getUiccCard(i);
int subId = mPhones[i].getSubId();
logd("onSubInfoReady handle pending requests subId=" + subId);
- SubscriptionInfo subInfo = mSubMgr.getActiveSubscriptionInfoForSimSlotIndex(i);
- if (subInfo == null) { // No sim in slot
- logd("onSubInfoReady: subInfo = null");
+ if ((card == null) || (card.getCardState() ==
+ IccCardStatus.CardState.CARDSTATE_ABSENT)) {
+ logd("onSubInfoReady: SIM card absent on phoneId = " + i);
PhoneBase phoneBase = (PhoneBase)mPhones[i].getActivePhone();
DcTrackerBase dcTracker = phoneBase.mDcTracker;
if (dcTracker.isApnTypeActive(PhoneConstants.APN_TYPE_DEFAULT)) {