Plumb call quality values through platform
Test: builds
Bug: 110107501
Change-Id: Ic838d89c5cde2197832ff4cbcd23d7d06f7d81c9
diff --git a/src/java/com/android/ims/ImsCall.java b/src/java/com/android/ims/ImsCall.java
index 32350d1..74098a0 100644
--- a/src/java/com/android/ims/ImsCall.java
+++ b/src/java/com/android/ims/ImsCall.java
@@ -35,6 +35,7 @@
import java.util.Objects;
import java.util.concurrent.atomic.AtomicInteger;
+import android.telephony.CallQuality;
import android.telephony.ServiceState;
import android.telephony.ims.ImsCallProfile;
import android.telephony.ims.ImsConferenceState;
@@ -484,6 +485,15 @@
*/
public void onRttAudioIndicatorChanged(ImsCall imsCall, ImsStreamMediaProfile profile) {
}
+
+ /**
+ * Called when the call quality has changed.
+ *
+ * @param imsCall ImsCall object
+ * @param callQuality the updated CallQuality
+ */
+ public void onCallQualityChanged(ImsCall imsCall, CallQuality callQuality) {
+ }
}
// List of update operation for IMS call control
@@ -3203,6 +3213,23 @@
}
}
}
+
+ @Override
+ public void callQualityChanged(CallQuality callQuality) {
+ ImsCall.Listener listener;
+
+ synchronized (ImsCall.this) {
+ listener = mListener;
+ }
+
+ if (listener != null) {
+ try {
+ listener.onCallQualityChanged(ImsCall.this, callQuality);
+ } catch (Throwable t) {
+ loge("callQualityChanged:: ", t);
+ }
+ }
+ }
}
/**