commit | 68db26190978f8646f9de3ef665663c8a1e39c24 | [log] [tgz] |
---|---|---|
author | Tyler Gunn <tgunn@google.com> | Tue Jun 15 00:28:55 2021 +0000 |
committer | Android (Google) Code Review <android-gerrit@google.com> | Tue Jun 15 00:28:55 2021 +0000 |
tree | b8086223c5a6a234d779d63d6e9d45af51b4b198 | |
parent | 25cbedc164bca864f509bcad122af469f1ad1b82 [diff] | |
parent | d7343709b9abe000320066bcd308a5be884a88c0 [diff] |
Merge "Switch to using TelephonyConnection#hangup instead of onDisconnect." into sc-dev
diff --git a/src/com/android/services/telephony/TelephonyConnection.java b/src/com/android/services/telephony/TelephonyConnection.java index 64c008a..2383981 100755 --- a/src/com/android/services/telephony/TelephonyConnection.java +++ b/src/com/android/services/telephony/TelephonyConnection.java
@@ -2097,7 +2097,8 @@ phone.unregisterForInCallVoicePrivacyOff(mHandler); } - protected void hangup(int telephonyDisconnectCode) { + @VisibleForTesting + public void hangup(int telephonyDisconnectCode) { if (mOriginalConnection != null) { mHangupDisconnectCause = telephonyDisconnectCode; try {
diff --git a/src/com/android/services/telephony/TelephonyConnectionService.java b/src/com/android/services/telephony/TelephonyConnectionService.java index b3b50ee..d872316 100644 --- a/src/com/android/services/telephony/TelephonyConnectionService.java +++ b/src/com/android/services/telephony/TelephonyConnectionService.java
@@ -2628,7 +2628,10 @@ if (!tc.shouldTreatAsEmergencyCall()) { Log.i(LOG_TAG, "maybeDisconnectCallsOnOtherSubs: disconnect %s due to " + "incoming call on other sub.", tc.getTelecomCallId()); - tc.onDisconnect(); + // Note: intentionally calling hangup instead of onDisconnect. + // onDisconnect posts the disconnection to a handle which means that the + // disconnection will take place AFTER we answer the incoming call. + tc.hangup(android.telephony.DisconnectCause.LOCAL); } } });
diff --git a/tests/src/com/android/services/telephony/TelephonyConnectionServiceTest.java b/tests/src/com/android/services/telephony/TelephonyConnectionServiceTest.java index 2a79247..50386f1 100644 --- a/tests/src/com/android/services/telephony/TelephonyConnectionServiceTest.java +++ b/tests/src/com/android/services/telephony/TelephonyConnectionServiceTest.java
@@ -96,9 +96,8 @@ return null; } - @Override - public void onDisconnect() { + public void hangup(int telephonyDisconnectCode) { wasDisconnected = true; } }