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

Commit 6eecb29d authored by Sungmin Choi's avatar Sungmin Choi Committed by Vineeta Srivastava
Browse files

telephony: Add Explicit Call Transfer (ECT) feature

Use ECT as "4 + Send".

Bug: 9745857
Change-Id: If94d7ad33eb72dede86030c26e8a8c1b5b8125e3
parent 536eeeb0
Loading
Loading
Loading
Loading
+0 −8
Original line number Diff line number Diff line
@@ -808,7 +808,6 @@ public final class CallManager {
     * Phone can make a call only if ALL of the following are true:
     *        - Phone is not powered off
     *        - There's no incoming or waiting call
     *        - There's available call slot in either foreground or background
     *        - The foreground call is ACTIVE or IDLE or DISCONNECTED.
     *          (We mainly need to make sure it *isn't* DIALING or ALERTING.)
     * @param phone
@@ -817,14 +816,10 @@ public final class CallManager {
    private boolean canDial(Phone phone) {
        int serviceState = phone.getServiceState().getState();
        boolean hasRingingCall = hasActiveRingingCall();
        boolean hasActiveCall = hasActiveFgCall();
        boolean hasHoldingCall = hasActiveBgCall();
        boolean allLinesTaken = hasActiveCall && hasHoldingCall;
        Call.State fgCallState = getActiveFgCallState();

        boolean result = (serviceState != ServiceState.STATE_POWER_OFF
                && !hasRingingCall
                && !allLinesTaken
                && ((fgCallState == Call.State.ACTIVE)
                    || (fgCallState == Call.State.IDLE)
                    || (fgCallState == Call.State.DISCONNECTED)));
@@ -832,9 +827,6 @@ public final class CallManager {
        if (result == false) {
            Rlog.d(LOG_TAG, "canDial serviceState=" + serviceState
                            + " hasRingingCall=" + hasRingingCall
                            + " hasActiveCall=" + hasActiveCall
                            + " hasHoldingCall=" + hasHoldingCall
                            + " allLinesTaken=" + allLinesTaken
                            + " fgCallState=" + fgCallState);
        }
        return result;
+4 −2
Original line number Diff line number Diff line
@@ -343,7 +343,9 @@ public final class GsmCallTracker extends CallTracker {

    boolean
    canTransfer() {
        return mForegroundCall.getState() == GsmCall.State.ACTIVE
        return (mForegroundCall.getState() == GsmCall.State.ACTIVE
                || mForegroundCall.getState() == GsmCall.State.ALERTING
                || mForegroundCall.getState() == GsmCall.State.DIALING)
            && mBackgroundCall.getState() == GsmCall.State.HOLDING;
    }