Loading src/java/com/android/internal/telephony/Connection.java +11 −0 Original line number Diff line number Diff line Loading @@ -664,6 +664,17 @@ public abstract class Connection { */ public abstract void deflect(String number) throws CallStateException; /** * Transfer individual Connection */ public abstract void transfer(String number, boolean isConfirmationRequired) throws CallStateException; /** * Transfer individual Connection for consultative transfer */ public abstract void consultativeTransfer(Connection other) throws CallStateException; /** * Hangup individual Connection */ Loading src/java/com/android/internal/telephony/GsmCdmaConnection.java +12 −0 Original line number Diff line number Diff line Loading @@ -365,6 +365,18 @@ public class GsmCdmaConnection extends Connection { throw new CallStateException ("deflect is not supported for CS"); } @Override public void transfer(String number, boolean isConfirmationRequired) throws CallStateException { // Transfer is not supported. throw new CallStateException("Transfer is not supported for CS"); } @Override public void consultativeTransfer(Connection other) throws CallStateException { // Transfer is not supported. throw new CallStateException("Transfer is not supported for CS"); } @Override public void separate() throws CallStateException { if (!mDisconnected) { Loading src/java/com/android/internal/telephony/imsphone/ImsExternalConnection.java +12 −0 Original line number Diff line number Diff line Loading @@ -132,6 +132,18 @@ public class ImsExternalConnection extends Connection { throw new CallStateException ("Deflect is not supported for external calls"); } @Override public void transfer(String number, boolean isConfirmationRequired) throws CallStateException { // Transfer is not supported for external calls. throw new CallStateException("Transfer is not supported for external calls"); } @Override public void consultativeTransfer(Connection other) throws CallStateException { // Transfer is not supported for external calls. throw new CallStateException("Transfer is not supported for external calls"); } @Override public void separate() throws CallStateException { // No-op - Separate is not supported for external calls. Loading src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java 100644 → 100755 +10 −0 Original line number Diff line number Diff line Loading @@ -3462,6 +3462,16 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall { } } @Override public void onCallSessionTransferred(ImsCall imsCall) { if (DBG) log("onCallSessionTransferred success"); } @Override public void onCallSessionTransferFailed(ImsCall imsCall, ImsReasonInfo reasonInfo) { if (DBG) log("onCallSessionTransferFailed reasonInfo=" + reasonInfo); } /** * Handles a change to the multiparty state for an {@code ImsCall}. Notifies the associated * {@link ImsPhoneConnection} of the change. Loading src/java/com/android/internal/telephony/imsphone/ImsPhoneConnection.java 100644 → 100755 +26 −0 Original line number Diff line number Diff line Loading @@ -413,6 +413,32 @@ public class ImsPhoneConnection extends Connection implements } } @Override public void transfer(String number, boolean isConfirmationRequired) throws CallStateException { try { if (mImsCall != null) { mImsCall.transfer(number, isConfirmationRequired); } else { throw new CallStateException("no valid ims call to transfer"); } } catch (ImsException e) { throw new CallStateException("cannot transfer call"); } } @Override public void consultativeTransfer(Connection other) throws CallStateException { try { if (mImsCall != null) { mImsCall.consultativeTransfer(((ImsPhoneConnection) other).getImsCall()); } else { throw new CallStateException("no valid ims call to transfer"); } } catch (ImsException e) { throw new CallStateException("cannot transfer call"); } } @Override public void hangup() throws CallStateException { if (!mDisconnected) { Loading Loading
src/java/com/android/internal/telephony/Connection.java +11 −0 Original line number Diff line number Diff line Loading @@ -664,6 +664,17 @@ public abstract class Connection { */ public abstract void deflect(String number) throws CallStateException; /** * Transfer individual Connection */ public abstract void transfer(String number, boolean isConfirmationRequired) throws CallStateException; /** * Transfer individual Connection for consultative transfer */ public abstract void consultativeTransfer(Connection other) throws CallStateException; /** * Hangup individual Connection */ Loading
src/java/com/android/internal/telephony/GsmCdmaConnection.java +12 −0 Original line number Diff line number Diff line Loading @@ -365,6 +365,18 @@ public class GsmCdmaConnection extends Connection { throw new CallStateException ("deflect is not supported for CS"); } @Override public void transfer(String number, boolean isConfirmationRequired) throws CallStateException { // Transfer is not supported. throw new CallStateException("Transfer is not supported for CS"); } @Override public void consultativeTransfer(Connection other) throws CallStateException { // Transfer is not supported. throw new CallStateException("Transfer is not supported for CS"); } @Override public void separate() throws CallStateException { if (!mDisconnected) { Loading
src/java/com/android/internal/telephony/imsphone/ImsExternalConnection.java +12 −0 Original line number Diff line number Diff line Loading @@ -132,6 +132,18 @@ public class ImsExternalConnection extends Connection { throw new CallStateException ("Deflect is not supported for external calls"); } @Override public void transfer(String number, boolean isConfirmationRequired) throws CallStateException { // Transfer is not supported for external calls. throw new CallStateException("Transfer is not supported for external calls"); } @Override public void consultativeTransfer(Connection other) throws CallStateException { // Transfer is not supported for external calls. throw new CallStateException("Transfer is not supported for external calls"); } @Override public void separate() throws CallStateException { // No-op - Separate is not supported for external calls. Loading
src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java 100644 → 100755 +10 −0 Original line number Diff line number Diff line Loading @@ -3462,6 +3462,16 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall { } } @Override public void onCallSessionTransferred(ImsCall imsCall) { if (DBG) log("onCallSessionTransferred success"); } @Override public void onCallSessionTransferFailed(ImsCall imsCall, ImsReasonInfo reasonInfo) { if (DBG) log("onCallSessionTransferFailed reasonInfo=" + reasonInfo); } /** * Handles a change to the multiparty state for an {@code ImsCall}. Notifies the associated * {@link ImsPhoneConnection} of the change. Loading
src/java/com/android/internal/telephony/imsphone/ImsPhoneConnection.java 100644 → 100755 +26 −0 Original line number Diff line number Diff line Loading @@ -413,6 +413,32 @@ public class ImsPhoneConnection extends Connection implements } } @Override public void transfer(String number, boolean isConfirmationRequired) throws CallStateException { try { if (mImsCall != null) { mImsCall.transfer(number, isConfirmationRequired); } else { throw new CallStateException("no valid ims call to transfer"); } } catch (ImsException e) { throw new CallStateException("cannot transfer call"); } } @Override public void consultativeTransfer(Connection other) throws CallStateException { try { if (mImsCall != null) { mImsCall.consultativeTransfer(((ImsPhoneConnection) other).getImsCall()); } else { throw new CallStateException("no valid ims call to transfer"); } } catch (ImsException e) { throw new CallStateException("cannot transfer call"); } } @Override public void hangup() throws CallStateException { if (!mDisconnected) { Loading