Loading src/java/com/android/internal/telephony/CallManager.java +0 −8 Original line number Original line Diff line number Diff line Loading @@ -808,7 +808,6 @@ public final class CallManager { * Phone can make a call only if ALL of the following are true: * Phone can make a call only if ALL of the following are true: * - Phone is not powered off * - Phone is not powered off * - There's no incoming or waiting call * - 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. * - The foreground call is ACTIVE or IDLE or DISCONNECTED. * (We mainly need to make sure it *isn't* DIALING or ALERTING.) * (We mainly need to make sure it *isn't* DIALING or ALERTING.) * @param phone * @param phone Loading @@ -817,14 +816,10 @@ public final class CallManager { private boolean canDial(Phone phone) { private boolean canDial(Phone phone) { int serviceState = phone.getServiceState().getState(); int serviceState = phone.getServiceState().getState(); boolean hasRingingCall = hasActiveRingingCall(); boolean hasRingingCall = hasActiveRingingCall(); boolean hasActiveCall = hasActiveFgCall(); boolean hasHoldingCall = hasActiveBgCall(); boolean allLinesTaken = hasActiveCall && hasHoldingCall; Call.State fgCallState = getActiveFgCallState(); Call.State fgCallState = getActiveFgCallState(); boolean result = (serviceState != ServiceState.STATE_POWER_OFF boolean result = (serviceState != ServiceState.STATE_POWER_OFF && !hasRingingCall && !hasRingingCall && !allLinesTaken && ((fgCallState == Call.State.ACTIVE) && ((fgCallState == Call.State.ACTIVE) || (fgCallState == Call.State.IDLE) || (fgCallState == Call.State.IDLE) || (fgCallState == Call.State.DISCONNECTED))); || (fgCallState == Call.State.DISCONNECTED))); Loading @@ -832,9 +827,6 @@ public final class CallManager { if (result == false) { if (result == false) { Rlog.d(LOG_TAG, "canDial serviceState=" + serviceState Rlog.d(LOG_TAG, "canDial serviceState=" + serviceState + " hasRingingCall=" + hasRingingCall + " hasRingingCall=" + hasRingingCall + " hasActiveCall=" + hasActiveCall + " hasHoldingCall=" + hasHoldingCall + " allLinesTaken=" + allLinesTaken + " fgCallState=" + fgCallState); + " fgCallState=" + fgCallState); } } return result; return result; Loading src/java/com/android/internal/telephony/gsm/GsmCallTracker.java +4 −2 Original line number Original line Diff line number Diff line Loading @@ -333,7 +333,9 @@ public final class GsmCallTracker extends CallTracker { boolean boolean canTransfer() { 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; && mBackgroundCall.getState() == GsmCall.State.HOLDING; } } Loading Loading
src/java/com/android/internal/telephony/CallManager.java +0 −8 Original line number Original line Diff line number Diff line Loading @@ -808,7 +808,6 @@ public final class CallManager { * Phone can make a call only if ALL of the following are true: * Phone can make a call only if ALL of the following are true: * - Phone is not powered off * - Phone is not powered off * - There's no incoming or waiting call * - 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. * - The foreground call is ACTIVE or IDLE or DISCONNECTED. * (We mainly need to make sure it *isn't* DIALING or ALERTING.) * (We mainly need to make sure it *isn't* DIALING or ALERTING.) * @param phone * @param phone Loading @@ -817,14 +816,10 @@ public final class CallManager { private boolean canDial(Phone phone) { private boolean canDial(Phone phone) { int serviceState = phone.getServiceState().getState(); int serviceState = phone.getServiceState().getState(); boolean hasRingingCall = hasActiveRingingCall(); boolean hasRingingCall = hasActiveRingingCall(); boolean hasActiveCall = hasActiveFgCall(); boolean hasHoldingCall = hasActiveBgCall(); boolean allLinesTaken = hasActiveCall && hasHoldingCall; Call.State fgCallState = getActiveFgCallState(); Call.State fgCallState = getActiveFgCallState(); boolean result = (serviceState != ServiceState.STATE_POWER_OFF boolean result = (serviceState != ServiceState.STATE_POWER_OFF && !hasRingingCall && !hasRingingCall && !allLinesTaken && ((fgCallState == Call.State.ACTIVE) && ((fgCallState == Call.State.ACTIVE) || (fgCallState == Call.State.IDLE) || (fgCallState == Call.State.IDLE) || (fgCallState == Call.State.DISCONNECTED))); || (fgCallState == Call.State.DISCONNECTED))); Loading @@ -832,9 +827,6 @@ public final class CallManager { if (result == false) { if (result == false) { Rlog.d(LOG_TAG, "canDial serviceState=" + serviceState Rlog.d(LOG_TAG, "canDial serviceState=" + serviceState + " hasRingingCall=" + hasRingingCall + " hasRingingCall=" + hasRingingCall + " hasActiveCall=" + hasActiveCall + " hasHoldingCall=" + hasHoldingCall + " allLinesTaken=" + allLinesTaken + " fgCallState=" + fgCallState); + " fgCallState=" + fgCallState); } } return result; return result; Loading
src/java/com/android/internal/telephony/gsm/GsmCallTracker.java +4 −2 Original line number Original line Diff line number Diff line Loading @@ -333,7 +333,9 @@ public final class GsmCallTracker extends CallTracker { boolean boolean canTransfer() { 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; && mBackgroundCall.getState() == GsmCall.State.HOLDING; } } Loading