Loading src/com/android/server/telecom/Call.java +12 −1 Original line number Diff line number Diff line Loading @@ -3216,7 +3216,18 @@ public class Call implements CreateConnectionResponse, EventManager.Loggable, } else if (mConnectionService != null) { if (mFlags.transactionalCsVerifier() || mFlags.enableCallSequencing()) { holdFutureHandler = awaitCallStateChangeAndMaybeDisconnectCall(isSelfManaged(), "hold", CallState.ON_HOLD); "hold", CallState.ON_HOLD, CallState.DISCONNECTED).thenCompose( (result) -> { // Explicitly handle self-managed hold failures where we // explicitly disconnect the call and treat it as a // completed transaction. if (!result && isSelfManaged()) { Log.i(this, "hold: Completing transaction " + "after disconnecting held call."); return CompletableFuture.completedFuture(true); } return CompletableFuture.completedFuture(result); });; } mConnectionService.hold(this); return holdFutureHandler; Loading Loading
src/com/android/server/telecom/Call.java +12 −1 Original line number Diff line number Diff line Loading @@ -3216,7 +3216,18 @@ public class Call implements CreateConnectionResponse, EventManager.Loggable, } else if (mConnectionService != null) { if (mFlags.transactionalCsVerifier() || mFlags.enableCallSequencing()) { holdFutureHandler = awaitCallStateChangeAndMaybeDisconnectCall(isSelfManaged(), "hold", CallState.ON_HOLD); "hold", CallState.ON_HOLD, CallState.DISCONNECTED).thenCompose( (result) -> { // Explicitly handle self-managed hold failures where we // explicitly disconnect the call and treat it as a // completed transaction. if (!result && isSelfManaged()) { Log.i(this, "hold: Completing transaction " + "after disconnecting held call."); return CompletableFuture.completedFuture(true); } return CompletableFuture.completedFuture(result); });; } mConnectionService.hold(this); return holdFutureHandler; Loading