diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2019-07-12 04:11:02 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2019-07-12 04:11:02 +0000 |
commit | dd5c3144a3535391b94b4fb220a9ac857ed5e70b (patch) | |
tree | a816a715436bc2580d190ac2a212bcc21051e552 | |
parent | 14f0e3a4cedbb567a3506b4f28065199c6750a95 (diff) | |
parent | 397dd849679ec3179863762a7ab8f6afb799a74e (diff) | |
download | telephony-android10-release.tar.gz |
Merge cherrypicks of [8558068, 8558825, 8558826, 8558827, 8557109, 8558018, 8558886, 8558887, 8558888, 8558889, 8558071, 8558072, 8556231] into qt-releaseandroid-vts-10.0_r9android-vts-10.0_r8android-vts-10.0_r7android-vts-10.0_r6android-vts-10.0_r5android-vts-10.0_r4android-vts-10.0_r3android-vts-10.0_r2android-vts-10.0_r16android-vts-10.0_r15android-vts-10.0_r14android-vts-10.0_r13android-vts-10.0_r12android-vts-10.0_r11android-vts-10.0_r10android-vts-10.0_r1android-cts-10.0_r9android-cts-10.0_r8android-cts-10.0_r7android-cts-10.0_r6android-cts-10.0_r5android-cts-10.0_r4android-cts-10.0_r3android-cts-10.0_r2android-cts-10.0_r16android-cts-10.0_r15android-cts-10.0_r14android-cts-10.0_r13android-cts-10.0_r12android-cts-10.0_r11android-cts-10.0_r10android-cts-10.0_r1android-10.0.0_r6android-10.0.0_r5android-10.0.0_r4android-10.0.0_r3android-10.0.0_r2android-10.0.0_r17android-10.0.0_r11android-10.0.0_r10android-10.0.0_r1android10-tests-releaseandroid10-s3-releaseandroid10-s2-releaseandroid10-s1-releaseandroid10-release
Change-Id: Ie56006124d1d4821e3befc49b474ac684fae993d
-rw-r--r-- | src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java b/src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java index c2cf4be6e8..9fbef9c583 100644 --- a/src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java +++ b/src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java @@ -156,7 +156,8 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall { private TelephonyMetrics mMetrics; private final Map<String, CallQualityMetrics> mCallQualityMetrics = new ConcurrentHashMap<>(); - private final ConcurrentLinkedQueue<String> mLeastRecentCallId = new ConcurrentLinkedQueue<>(); + private final ConcurrentLinkedQueue<CallQualityMetrics> mCallQualityMetricsHistory = + new ConcurrentLinkedQueue<>(); private boolean mCarrierConfigLoaded = false; private final MmTelFeatureListener mMmTelFeatureListener = new MmTelFeatureListener(); @@ -2354,6 +2355,11 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall { mMetrics.writeOnImsCallTerminated(mPhone.getPhoneId(), imsCall.getCallSession(), reasonInfo, mCallQualityMetrics.get(callId), conn.getEmergencyNumberInfo(), getNetworkCountryIso()); + // Remove info for the callId from the current calls and add it to the history + CallQualityMetrics lastCallMetrics = mCallQualityMetrics.remove(callId); + if (lastCallMetrics != null) { + mCallQualityMetricsHistory.add(lastCallMetrics); + } pruneCallQualityMetricsHistory(); mPhone.notifyImsReason(reasonInfo); @@ -2987,7 +2993,6 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall { CallQualityMetrics cqm = mCallQualityMetrics.get(callId); if (cqm == null) { cqm = new CallQualityMetrics(mPhone); - mLeastRecentCallId.add(callId); } cqm.saveCallQuality(callQuality); mCallQualityMetrics.put(callId, cqm); @@ -3549,6 +3554,7 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall { pw.println(" mVtDataUsageSnapshot=" + mVtDataUsageSnapshot); pw.println(" mVtDataUsageUidSnapshot=" + mVtDataUsageUidSnapshot); pw.println(" mCallQualityMetrics=" + mCallQualityMetrics); + pw.println(" mCallQualityMetricsHistory=" + mCallQualityMetricsHistory); pw.flush(); pw.println("++++++++++++++++++++++++++++++++"); @@ -4125,10 +4131,10 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall { mIsDataEnabled = isDataEnabled; } - // Removes old call quality metrics if mCallQualityMetrics exceeds its max size + // Removes old call quality metrics if mCallQualityMetricsHistory exceeds its max size private void pruneCallQualityMetricsHistory() { - if (mCallQualityMetrics.size() > MAX_CALL_QUALITY_HISTORY) { - mCallQualityMetrics.remove(mLeastRecentCallId.poll()); + if (mCallQualityMetricsHistory.size() > MAX_CALL_QUALITY_HISTORY) { + mCallQualityMetricsHistory.poll(); } } |