Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b4a88c7d authored by Jack He's avatar Jack He Committed by Gerrit Code Review
Browse files

Merge "Set the client terminated reason as the remote headset end the call"

parents 6ec85451 2b26748c
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -103,6 +103,7 @@ public class BluetoothInCallService extends InCallService {
    private BluetoothCall mOldHeldCall = null;
    private boolean mHeadsetUpdatedRecently = false;
    private boolean mIsDisconnectedTonePlaying = false;
    private boolean mIsTerminatedByClient = false;

    private static final Object LOCK = new Object();
    private BluetoothHeadsetProxy mBluetoothHeadset;
@@ -1287,6 +1288,10 @@ public class BluetoothInCallService extends InCallService {
        case DisconnectCause.REJECTED:
            return BluetoothLeCallControl.TERMINATION_REASON_REMOTE_HANGUP;
        case DisconnectCause.LOCAL:
            if (mIsTerminatedByClient) {
                mIsTerminatedByClient = false;
                return BluetoothLeCallControl.TERMINATION_REASON_CLIENT_HANGUP;
            }
            return BluetoothLeCallControl.TERMINATION_REASON_SERVER_HANGUP;
        case DisconnectCause.ERROR:
            return BluetoothLeCallControl.TERMINATION_REASON_NETWORK_CONGESTION;
@@ -1413,6 +1418,7 @@ public class BluetoothInCallService extends InCallService {
                if (mCallInfo.isNullCall(call)) {
                    result = BluetoothLeCallControl.RESULT_ERROR_UNKNOWN_CALL_ID;
                } else {
                    mIsTerminatedByClient = true;
                    call.disconnect();
                }
                mBluetoothLeCallControl.requestResult(requestId, result);