diff options
| author | Sukanya Rajkhowa <srajkh@codeaurora.org> | 2015-12-01 17:32:30 -0800 |
|---|---|---|
| committer | Steve Kondik <steve@cyngn.com> | 2016-05-20 23:09:07 -0700 |
| commit | bd4e168b5756ae8a94cb33a5b7cb6f54558a47c4 (patch) | |
| tree | ebdd065e58b89dd96fb00a02dedeadd1590e89c0 /src/java/com | |
| parent | c7fa65984eb1c0c224fd2d491397bb31fe48dd96 (diff) | |
| download | android_frameworks_opt_telephony-bd4e168b5756ae8a94cb33a5b7cb6f54558a47c4.tar.gz android_frameworks_opt_telephony-bd4e168b5756ae8a94cb33a5b7cb6f54558a47c4.tar.bz2 android_frameworks_opt_telephony-bd4e168b5756ae8a94cb33a5b7cb6f54558a47c4.zip | |
Reset internet requests when SIM is removed
- When SIM is plugged out in Attached state, data state machine
goes from Attached -> Idle state and does not release the
requests. As a result, the executed flag of internet network
request remains false and ALLOW_DATA true is not sent down
when SIM is plugged back in same slot
- Fix this by resetting INTERNET network request when SIM is
removed. With the fix, when sim is plugged back into the same
slot and data attaches, state machine will move correctly
from Idle->Attaching
CRs-Fixed: 928537
Change-Id: I3ac780f4a7c2114b007107422b3c6cfc7142892e
Diffstat (limited to 'src/java/com')
| -rw-r--r-- | src/java/com/android/internal/telephony/dataconnection/DctController.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/java/com/android/internal/telephony/dataconnection/DctController.java b/src/java/com/android/internal/telephony/dataconnection/DctController.java index b1899ace2..091633550 100644 --- a/src/java/com/android/internal/telephony/dataconnection/DctController.java +++ b/src/java/com/android/internal/telephony/dataconnection/DctController.java @@ -32,6 +32,7 @@ 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; @@ -568,6 +569,16 @@ public class DctController extends Handler { for (int i = 0; i < mPhoneNum; ++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"); + PhoneBase phoneBase = (PhoneBase)mPhones[i].getActivePhone(); + DcTrackerBase dcTracker = phoneBase.mDcTracker; + if (dcTracker.isApnTypeActive(PhoneConstants.APN_TYPE_DEFAULT)) { + logd("onSubInfoReady: reset INTERNET request as SIM has been removed"); + deactivateDdsRequests(); + } + } mNetworkFilter[i].setNetworkSpecifier(String.valueOf(subId)); ((DctController.TelephonyNetworkFactory)mNetworkFactory[i]).evalPendingRequest(); } |
