Loading src/java/com/android/internal/telephony/imsphone/ImsExternalConnection.java +16 −0 Original line number Original line Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.internal.telephony.imsphone; package com.android.internal.telephony.imsphone; import com.android.internal.R; import com.android.internal.telephony.Call; import com.android.internal.telephony.Call; import com.android.internal.telephony.CallStateException; import com.android.internal.telephony.CallStateException; import com.android.internal.telephony.Connection; import com.android.internal.telephony.Connection; Loading @@ -23,7 +24,9 @@ import com.android.internal.telephony.Phone; import com.android.internal.telephony.PhoneConstants; import com.android.internal.telephony.PhoneConstants; import com.android.internal.telephony.UUSInfo; import com.android.internal.telephony.UUSInfo; import android.content.Context; import android.net.Uri; import android.net.Uri; import android.telecom.PhoneAccount; import android.telephony.PhoneNumberUtils; import android.telephony.PhoneNumberUtils; import android.telephony.Rlog; import android.telephony.Rlog; import android.util.Log; import android.util.Log; Loading @@ -45,6 +48,9 @@ import java.util.concurrent.ConcurrentHashMap; */ */ public class ImsExternalConnection extends Connection { public class ImsExternalConnection extends Connection { private static final String CONFERENCE_PREFIX = "conf"; private final Context mContext; public interface Listener { public interface Listener { void onPullExternalCall(ImsExternalConnection connection); void onPullExternalCall(ImsExternalConnection connection); } } Loading Loading @@ -79,6 +85,7 @@ public class ImsExternalConnection extends Connection { protected ImsExternalConnection(Phone phone, int callId, Uri address, boolean isPullable) { protected ImsExternalConnection(Phone phone, int callId, Uri address, boolean isPullable) { super(phone.getPhoneType()); super(phone.getPhoneType()); mContext = phone.getContext(); mCall = new ImsExternalCall(phone, this); mCall = new ImsExternalCall(phone, this); mCallId = callId; mCallId = callId; setExternalConnectionAddress(address); setExternalConnectionAddress(address); Loading Loading @@ -215,6 +222,15 @@ public class ImsExternalConnection extends Connection { public void setExternalConnectionAddress(Uri address) { public void setExternalConnectionAddress(Uri address) { mOriginalAddress = address; mOriginalAddress = address; if (PhoneAccount.SCHEME_SIP.equals(address.getScheme())) { if (address.getSchemeSpecificPart().startsWith(CONFERENCE_PREFIX)) { mCnapName = mContext.getString(com.android.internal.R.string.conference_call); mCnapNamePresentation = PhoneConstants.PRESENTATION_ALLOWED; mAddress = ""; mNumberPresentation = PhoneConstants.PRESENTATION_RESTRICTED; return; } } Uri telUri = PhoneNumberUtils.convertSipUriToTelUri(address); Uri telUri = PhoneNumberUtils.convertSipUriToTelUri(address); mAddress = telUri.getSchemeSpecificPart(); mAddress = telUri.getSchemeSpecificPart(); } } Loading Loading
src/java/com/android/internal/telephony/imsphone/ImsExternalConnection.java +16 −0 Original line number Original line Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.internal.telephony.imsphone; package com.android.internal.telephony.imsphone; import com.android.internal.R; import com.android.internal.telephony.Call; import com.android.internal.telephony.Call; import com.android.internal.telephony.CallStateException; import com.android.internal.telephony.CallStateException; import com.android.internal.telephony.Connection; import com.android.internal.telephony.Connection; Loading @@ -23,7 +24,9 @@ import com.android.internal.telephony.Phone; import com.android.internal.telephony.PhoneConstants; import com.android.internal.telephony.PhoneConstants; import com.android.internal.telephony.UUSInfo; import com.android.internal.telephony.UUSInfo; import android.content.Context; import android.net.Uri; import android.net.Uri; import android.telecom.PhoneAccount; import android.telephony.PhoneNumberUtils; import android.telephony.PhoneNumberUtils; import android.telephony.Rlog; import android.telephony.Rlog; import android.util.Log; import android.util.Log; Loading @@ -45,6 +48,9 @@ import java.util.concurrent.ConcurrentHashMap; */ */ public class ImsExternalConnection extends Connection { public class ImsExternalConnection extends Connection { private static final String CONFERENCE_PREFIX = "conf"; private final Context mContext; public interface Listener { public interface Listener { void onPullExternalCall(ImsExternalConnection connection); void onPullExternalCall(ImsExternalConnection connection); } } Loading Loading @@ -79,6 +85,7 @@ public class ImsExternalConnection extends Connection { protected ImsExternalConnection(Phone phone, int callId, Uri address, boolean isPullable) { protected ImsExternalConnection(Phone phone, int callId, Uri address, boolean isPullable) { super(phone.getPhoneType()); super(phone.getPhoneType()); mContext = phone.getContext(); mCall = new ImsExternalCall(phone, this); mCall = new ImsExternalCall(phone, this); mCallId = callId; mCallId = callId; setExternalConnectionAddress(address); setExternalConnectionAddress(address); Loading Loading @@ -215,6 +222,15 @@ public class ImsExternalConnection extends Connection { public void setExternalConnectionAddress(Uri address) { public void setExternalConnectionAddress(Uri address) { mOriginalAddress = address; mOriginalAddress = address; if (PhoneAccount.SCHEME_SIP.equals(address.getScheme())) { if (address.getSchemeSpecificPart().startsWith(CONFERENCE_PREFIX)) { mCnapName = mContext.getString(com.android.internal.R.string.conference_call); mCnapNamePresentation = PhoneConstants.PRESENTATION_ALLOWED; mAddress = ""; mNumberPresentation = PhoneConstants.PRESENTATION_RESTRICTED; return; } } Uri telUri = PhoneNumberUtils.convertSipUriToTelUri(address); Uri telUri = PhoneNumberUtils.convertSipUriToTelUri(address); mAddress = telUri.getSchemeSpecificPart(); mAddress = telUri.getSchemeSpecificPart(); } } Loading