summaryrefslogtreecommitdiff
path: root/services/QualifiedNetworksService/src/com/android
diff options
context:
space:
mode:
Diffstat (limited to 'services/QualifiedNetworksService/src/com/android')
-rw-r--r--services/QualifiedNetworksService/src/com/android/telephony/qns/AccessNetworkEvaluator.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/services/QualifiedNetworksService/src/com/android/telephony/qns/AccessNetworkEvaluator.java b/services/QualifiedNetworksService/src/com/android/telephony/qns/AccessNetworkEvaluator.java
index d708f2d..ae1a32d 100644
--- a/services/QualifiedNetworksService/src/com/android/telephony/qns/AccessNetworkEvaluator.java
+++ b/services/QualifiedNetworksService/src/com/android/telephony/qns/AccessNetworkEvaluator.java
@@ -675,7 +675,11 @@ class AccessNetworkEvaluator {
log(
"onEmergencyPreferredTransportTypeChanged transport:"
+ QnsConstants.transportTypeToString(transport));
- if (mDataConnectionStatusTracker.isInactiveState()) {
+ if (mDataConnectionStatusTracker.isInactiveState()
+ || (mDataConnectionStatusTracker.isActiveState()
+ && mCallType == QnsConstants.CALL_TYPE_IDLE)) {
+ // If data network state is inactive OR active but call is not active yet,
+ // QNS will follow domain selection's decision.
enforceNotifyQualifiedNetworksWithTransportType(transport);
} else {
log(
@@ -1170,7 +1174,7 @@ class AccessNetworkEvaluator {
}
log("evaluate reason:" + evaluateSpecificReasonToString(specificReason));
if (mNetCapability == NetworkCapabilities.NET_CAPABILITY_EIMS
- && mDataConnectionStatusTracker.isInactiveState()) {
+ && !mDataConnectionStatusTracker.isActiveState()) {
log("QNS only handles HO of EMERGENCY data connection");
return;
}