Merge "Reintroduce @FlakyTest to flaky CallFeaturesSettings test"
diff --git a/src/com/android/services/telephony/TelephonyConferenceBase.java b/src/com/android/services/telephony/TelephonyConferenceBase.java
index a8bbf64..5e7ecf6 100644
--- a/src/com/android/services/telephony/TelephonyConferenceBase.java
+++ b/src/com/android/services/telephony/TelephonyConferenceBase.java
@@ -17,6 +17,7 @@
package com.android.services.telephony;
import android.annotation.NonNull;
+import android.os.Bundle;
import android.telecom.Conference;
import android.telecom.Connection;
import android.telecom.PhoneAccountHandle;
@@ -134,9 +135,11 @@
final Connection primaryConnection = getPrimaryConnection();
if (primaryConnection != null && primaryConnection instanceof TelephonyConnection) {
TelephonyConnection telephonyConnection = (TelephonyConnection) primaryConnection;
- putExtra(TelecomManager.EXTRA_CALL_NETWORK_TYPE,
+ Bundle newExtras = new Bundle();
+ newExtras.putInt(TelecomManager.EXTRA_CALL_NETWORK_TYPE,
ServiceState.rilRadioTechnologyToNetworkType(
telephonyConnection.getCallRadioTech()));
+ putExtras(newExtras);
} else {
Log.w(TAG, "No primary connection found while updateCallRadioTechAfterCreation");
}
diff --git a/src/com/android/services/telephony/TelephonyConnection.java b/src/com/android/services/telephony/TelephonyConnection.java
index fdece42..702e6f7 100644
--- a/src/com/android/services/telephony/TelephonyConnection.java
+++ b/src/com/android/services/telephony/TelephonyConnection.java
@@ -1853,6 +1853,10 @@
Log.v(this, "close");
clearOriginalConnection();
destroy();
+ if (mTelephonyConnectionService != null) {
+ removeTelephonyConnectionListener(
+ mTelephonyConnectionService.getTelephonyConnectionListener());
+ }
notifyDestroyed();
}
@@ -2600,8 +2604,11 @@
// For IMS PS call conference call, it can be updated via its host connection
// {@link #Listener.onExtrasChanged} event.
if (getConference() != null) {
- getConference().putExtra(TelecomManager.EXTRA_CALL_NETWORK_TYPE,
+ Bundle newExtras = new Bundle();
+ newExtras.putInt(
+ TelecomManager.EXTRA_CALL_NETWORK_TYPE,
ServiceState.rilRadioTechnologyToNetworkType(vrat));
+ getConference().putExtras(newExtras);
}
}
diff --git a/src/com/android/services/telephony/TelephonyConnectionService.java b/src/com/android/services/telephony/TelephonyConnectionService.java
index 2cfc8dc..cfe614a 100644
--- a/src/com/android/services/telephony/TelephonyConnectionService.java
+++ b/src/com/android/services/telephony/TelephonyConnectionService.java
@@ -1798,13 +1798,8 @@
return true;
}
- @Override
- public void removeConnection(Connection connection) {
- super.removeConnection(connection);
- if (connection instanceof TelephonyConnection) {
- TelephonyConnection telephonyConnection = (TelephonyConnection) connection;
- telephonyConnection.removeTelephonyConnectionListener(mTelephonyConnectionListener);
- }
+ TelephonyConnection.TelephonyConnectionListener getTelephonyConnectionListener() {
+ return mTelephonyConnectionListener;
}
/**