aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2020-09-30 23:14:22 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2020-09-30 23:14:22 +0000
commitafc2989469413ab1cc9cfc0b2b07e5ed0f8a3401 (patch)
tree183a7c4bdc32a6c6725494d48a0fd3a0a75b309e
parent6ab7e0dda187d8a2ce7dbbe1abdd2558666374de (diff)
parent41c1360539483a417f166e3a785be961416e2a8a (diff)
downloadtelephony-android11-qpr1-release.tar.gz
Change-Id: I2701e528762ee06ff71ba0c1336ae52a6f305b16
-rwxr-xr-xsrc/java/com/android/internal/telephony/ServiceStateTracker.java8
-rw-r--r--src/java/com/android/internal/telephony/dataconnection/DcTracker.java7
-rwxr-xr-xsrc/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java11
3 files changed, 17 insertions, 9 deletions
diff --git a/src/java/com/android/internal/telephony/ServiceStateTracker.java b/src/java/com/android/internal/telephony/ServiceStateTracker.java
index 922b934172..3b34d40a56 100755
--- a/src/java/com/android/internal/telephony/ServiceStateTracker.java
+++ b/src/java/com/android/internal/telephony/ServiceStateTracker.java
@@ -3414,15 +3414,15 @@ public class ServiceStateTracker extends Handler {
}
}
- if (hasCssIndicatorChanged) {
- mPhone.notifyAllActiveDataConnections();
- }
-
mReasonDataDenied = mNewReasonDataDenied;
mMaxDataCalls = mNewMaxDataCalls;
mRejectCode = mNewRejectCode;
}
+ if (hasCssIndicatorChanged) {
+ mPhone.notifyAllActiveDataConnections();
+ }
+
ServiceState oldMergedSS = new ServiceState(mPhone.getServiceState());
// swap mSS and mNewSS to put new state in mSS
diff --git a/src/java/com/android/internal/telephony/dataconnection/DcTracker.java b/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
index 9c6c5d6f82..a8dcbb7947 100644
--- a/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
+++ b/src/java/com/android/internal/telephony/dataconnection/DcTracker.java
@@ -2030,7 +2030,7 @@ public class DcTracker extends Handler {
// this type.
if (!apnContext.getApnType().equals(PhoneConstants.APN_TYPE_DUN)
|| ServiceState.isGsm(getDataRat())) {
- dataConnection = checkForCompatibleDataConnection(apnContext);
+ dataConnection = checkForCompatibleDataConnection(apnContext, apnSetting);
if (dataConnection != null) {
// Get the apn setting used by the data connection
ApnSetting dataConnectionApnSetting = dataConnection.getApnSetting();
@@ -2441,7 +2441,8 @@ public class DcTracker extends Handler {
}
}
- private DataConnection checkForCompatibleDataConnection(ApnContext apnContext) {
+ private DataConnection checkForCompatibleDataConnection(ApnContext apnContext,
+ ApnSetting nextApn) {
int apnType = apnContext.getApnTypeBitmask();
ArrayList<ApnSetting> dunSettings = null;
@@ -2480,7 +2481,7 @@ public class DcTracker extends Handler {
+ " found canHandle conn=" + curDc);
}
return curDc;
- } else if (curDc.isActivating()) {
+ } else if (curDc.isActivating() || apnSetting.equals(nextApn)) {
potentialDc = curDc;
}
}
diff --git a/src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java b/src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java
index 0d52ea1511..22d4c05b09 100755
--- a/src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java
+++ b/src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java
@@ -2882,9 +2882,16 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall {
}
String callId = imsCall.getSession().getCallId();
- EmergencyNumberTracker emergencyNumberTracker = conn.getEmergencyNumberTracker();
+ EmergencyNumberTracker emergencyNumberTracker = null;
+ EmergencyNumber num = null;
+
+ if (conn != null) {
+ emergencyNumberTracker = conn.getEmergencyNumberTracker();
+ num = conn.getEmergencyNumberInfo();
+ }
+
mMetrics.writeOnImsCallTerminated(mPhone.getPhoneId(), imsCall.getCallSession(),
- reasonInfo, mCallQualityMetrics.get(callId), conn.getEmergencyNumberInfo(),
+ reasonInfo, mCallQualityMetrics.get(callId), num,
getNetworkCountryIso(), emergencyNumberTracker != null
? emergencyNumberTracker.getEmergencyNumberDbVersion()
: TelephonyManager.INVALID_EMERGENCY_NUMBER_DB_VERSION);