aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/java/com/android/internal/telephony/dataconnection/DcSwitchStateMachine.java3
-rw-r--r--src/java/com/android/internal/telephony/dataconnection/DctController.java3
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);