diff options
author | Sewook Seo <sewookseo@google.com> | 2023-02-16 15:58:48 +0000 |
---|---|---|
committer | Sewook Seo <sewookseo@google.com> | 2023-02-18 13:52:02 +0000 |
commit | 3f3b96ba1231e470ac7637f19d754979ac7b6808 (patch) | |
tree | 7786f3ef028a4275f3945a0dafeac0860420ae46 /services/QualifiedNetworksService/src/com/android/telephony/qns | |
parent | 04e2c0c7e8315b21761d6b0e4ab98432192fac4e (diff) | |
download | Telephony-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.java | 16 |
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; } } |