summaryrefslogtreecommitdiff
path: root/services/QualifiedNetworksService/src/com/android/telephony/qns
diff options
context:
space:
mode:
authorSewook Seo <sewookseo@google.com>2023-02-16 15:58:48 +0000
committerSewook Seo <sewookseo@google.com>2023-02-18 13:52:02 +0000
commit3f3b96ba1231e470ac7637f19d754979ac7b6808 (patch)
tree7786f3ef028a4275f3945a0dafeac0860420ae46 /services/QualifiedNetworksService/src/com/android/telephony/qns
parent04e2c0c7e8315b21761d6b0e4ab98432192fac4e (diff)
downloadTelephony-3f3b96ba1231e470ac7637f19d754979ac7b6808.tar.gz
[QNS]notify callsate for emergency at active
- Update QNS callstate for emergency when emergency call state is changed to ACTIVE. - Bug fixes related to mNetCapability at ActiveCallTracker Bug: 266189145 Test: atest QualifiedNetworksServiceTests, domain selection test Change-Id: Ib47c0126120c5360a91a49758cf18270f7b61662
Diffstat (limited to 'services/QualifiedNetworksService/src/com/android/telephony/qns')
-rw-r--r--services/QualifiedNetworksService/src/com/android/telephony/qns/QnsCallStatusTracker.java16
1 files changed, 10 insertions, 6 deletions
diff --git a/services/QualifiedNetworksService/src/com/android/telephony/qns/QnsCallStatusTracker.java b/services/QualifiedNetworksService/src/com/android/telephony/qns/QnsCallStatusTracker.java
index 5932059..5e904d9 100644
--- a/services/QualifiedNetworksService/src/com/android/telephony/qns/QnsCallStatusTracker.java
+++ b/services/QualifiedNetworksService/src/com/android/telephony/qns/QnsCallStatusTracker.java
@@ -390,8 +390,11 @@ public class QnsCallStatusTracker {
void close() {
mTelephonyListener.removeMediaQualityStatusCallback(mMediaQualityStatusConsumer);
- mTelephonyListener.unregisterPreciseDataConnectionStateChanged(
- mNetCapability, mActiveCallHandler);
+ if (mNetCapability != QnsConstants.INVALID_VALUE) {
+ mTelephonyListener.unregisterPreciseDataConnectionStateChanged(
+ mNetCapability, mActiveCallHandler);
+ mNetCapability = QnsConstants.INVALID_VALUE;
+ }
if (mHandlerThread != null) {
mHandlerThread.quitSafely();
}
@@ -523,11 +526,11 @@ public class QnsCallStatusTracker {
Log.d(mLogTag, "callEnded callType: " + mCallType + " netCapa:"
+ QnsUtils.getNameOfNetCapability(mNetCapability) + " " + sb.toString());
mCallType = QnsConstants.CALL_TYPE_IDLE;
- mNetCapability = 0;
- mAccessNetwork = AccessNetworkConstants.AccessNetworkType.UNKNOWN;
- mTransportType = AccessNetworkConstants.TRANSPORT_TYPE_INVALID;
mTelephonyListener.unregisterPreciseDataConnectionStateChanged(
mNetCapability, mActiveCallHandler);
+ mNetCapability = QnsConstants.INVALID_VALUE;
+ mAccessNetwork = AccessNetworkConstants.AccessNetworkType.UNKNOWN;
+ mTransportType = AccessNetworkConstants.TRANSPORT_TYPE_INVALID;
}
void onMediaQualityStatusChanged(MediaQualityStatus status) {
@@ -846,7 +849,8 @@ public class QnsCallStatusTracker {
boolean hasEmergencyCall() {
for (CallState cs : mCallStates) {
- if (cs.getImsCallServiceType() == ImsCallProfile.SERVICE_TYPE_EMERGENCY) {
+ if (cs.getImsCallServiceType() == ImsCallProfile.SERVICE_TYPE_EMERGENCY
+ && cs.getCallState() == PreciseCallState.PRECISE_CALL_STATE_ACTIVE) {
return true;
}
}