diff --git a/services/core/java/com/android/server/TelephonyRegistry.java b/services/core/java/com/android/server/TelephonyRegistry.java index 1a705828554da..9fa0053f535b5 100644 --- a/services/core/java/com/android/server/TelephonyRegistry.java +++ b/services/core/java/com/android/server/TelephonyRegistry.java @@ -1551,6 +1551,13 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub { log("notifyPreciseCallState: mCallQuality is null, skipping call attributes"); notifyCallAttributes = false; } else { + // If the precise call state is no longer active, reset the call network type and + // call quality. + if (mPreciseCallState.getForegroundCallState() + != PreciseCallState.PRECISE_CALL_STATE_ACTIVE) { + mCallNetworkType = TelephonyManager.NETWORK_TYPE_UNKNOWN; + mCallQuality = new CallQuality(); + } mCallAttributes = new CallAttributes(mPreciseCallState, mCallNetworkType, mCallQuality); }