diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/java/com/android/internal/telephony/dataconnection/DctController.java | 12 |
1 files changed, 12 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 091633550..e1c8bace5 100644 --- a/src/java/com/android/internal/telephony/dataconnection/DctController.java +++ b/src/java/com/android/internal/telephony/dataconnection/DctController.java @@ -544,11 +544,23 @@ public class DctController extends Handler { int priority = -1; int subId; + int activePhoneId = -1; + for (int i = 0; i < mDcSwitchStateMachine.length; i++) { + if (!mDcSwitchAsyncChannel[i].isIdleSync()) { + activePhoneId = i; + break; + } + } + for (RequestInfo requestInfo : mRequestInfos.values()) { logd("getTopPriorityRequestPhoneId requestInfo=" + requestInfo); if (requestInfo.priority > priority) { priority = requestInfo.priority; topSubId = requestInfo.request.networkCapabilities.getNetworkSpecifier(); + } else if (priority == requestInfo.priority) { + if (requestInfo.executedPhoneId == activePhoneId) { + topSubId = requestInfo.request.networkCapabilities.getNetworkSpecifier(); + } } } if (TextUtils.isEmpty(topSubId)) { |
