diff options
-rw-r--r-- | src/java/com/android/internal/telephony/dataconnection/DcSwitchStateMachine.java | 3 | ||||
-rw-r--r-- | src/java/com/android/internal/telephony/dataconnection/DctController.java | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/java/com/android/internal/telephony/dataconnection/DcSwitchStateMachine.java b/src/java/com/android/internal/telephony/dataconnection/DcSwitchStateMachine.java index 6caf20d92..12d2c0323 100644 --- a/src/java/com/android/internal/telephony/dataconnection/DcSwitchStateMachine.java +++ b/src/java/com/android/internal/telephony/dataconnection/DcSwitchStateMachine.java @@ -454,7 +454,8 @@ public class DcSwitchStateMachine extends StateMachine { if (DBG) log("AttachedState: REQ_CONNECT, apnRequest=" + apnRequest); int dataRat = mPhone.getServiceState().getRilDataRadioTechnology(); - if (dataRat == ServiceState.RIL_RADIO_TECHNOLOGY_IWLAN) { + if (dataRat == ServiceState.RIL_RADIO_TECHNOLOGY_IWLAN && + DctController.getInstance().isDdsSwitchNeeded()) { SubscriptionController subController = SubscriptionController.getInstance(); int ddsSubId = subController.getDefaultDataSubId(); int ddsPhoneId = subController.getPhoneId(ddsSubId); diff --git a/src/java/com/android/internal/telephony/dataconnection/DctController.java b/src/java/com/android/internal/telephony/dataconnection/DctController.java index fdc5145a0..6d86afe89 100644 --- a/src/java/com/android/internal/telephony/dataconnection/DctController.java +++ b/src/java/com/android/internal/telephony/dataconnection/DctController.java @@ -585,6 +585,9 @@ public class DctController extends Handler { PhoneConstants.APN_TYPE_IMS) && mNeedsDdsSwitch.get()) { logd("getTopPriorityRequestPhoneId: ims request, use dds phone id"); subId = mSubController.getDefaultDataSubId(); + } else if (subId != mSubController.getDefaultDataSubId()) { + logd("getTopPriorityRequestPhoneId: Request needs Dds switch"); + mNeedsDdsSwitch.set(true); } } final int phoneId = mSubController.getPhoneId(subId); |