From 64f05b101d158568da90c7d4c464443755d8d63d Mon Sep 17 00:00:00 2001 From: Sooraj Sasindran Date: Wed, 18 Nov 2020 12:07:10 -0800 Subject: [PATCH] Introduce IMS Cross SIM registration Introduce IMS Cross SIM registration Bug: 171391883 Test: Build Change-Id: Idd79a0a1f453a36587b89257e88437c96bf6ff4e --- core/api/current.txt | 9 +- core/api/system-current.txt | 4 + core/res/res/values/strings.xml | 11 +++ core/res/res/values/symbols.xml | 1 + telecomm/java/android/telecom/Call.java | 8 ++ telecomm/java/android/telecom/Connection.java | 10 +- .../android/telephony/TelephonyManager.java | 2 + .../android/telephony/ims/ImsCallProfile.java | 9 ++ .../telephony/ims/ImsMmTelManager.java | 2 + .../android/telephony/ims/ImsRcsManager.java | 1 + .../telephony/ims/RegistrationManager.java | 97 ++++++++++++++++++- .../ims/feature/CapabilityChangeRequest.java | 6 +- .../telephony/ims/feature/ImsFeature.java | 5 +- .../ims/stub/ImsRegistrationImplBase.java | 20 +++- 14 files changed, 172 insertions(+), 13 deletions(-) diff --git a/core/api/current.txt b/core/api/current.txt index 2c095ebd34516..99790b5904b25 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -38764,6 +38764,7 @@ package android.telecom { field public static final int DIRECTION_UNKNOWN = -1; // 0xffffffff field public static final int PROPERTY_ASSISTED_DIALING = 512; // 0x200 field public static final int PROPERTY_CONFERENCE = 1; // 0x1 + field public static final int PROPERTY_CROSS_SIM = 16384; // 0x4000 field public static final int PROPERTY_EMERGENCY_CALLBACK_MODE = 4; // 0x4 field public static final int PROPERTY_ENTERPRISE_CALL = 32; // 0x20 field public static final int PROPERTY_GENERIC_CONFERENCE = 2; // 0x2 @@ -39057,6 +39058,7 @@ package android.telecom { field public static final String EXTRA_LAST_FORWARDED_NUMBER = "android.telecom.extra.LAST_FORWARDED_NUMBER"; field public static final String EXTRA_SIP_INVITE = "android.telecom.extra.SIP_INVITE"; field public static final int PROPERTY_ASSISTED_DIALING = 512; // 0x200 + field public static final int PROPERTY_CROSS_SIM = 8192; // 0x2000 field public static final int PROPERTY_HAS_CDMA_VOICE_PRIVACY = 32; // 0x20 field public static final int PROPERTY_HIGH_DEF_AUDIO = 4; // 0x4 field public static final int PROPERTY_IS_ADHOC_CONFERENCE = 4096; // 0x1000 @@ -42577,6 +42579,7 @@ package android.telephony.ims { method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public void getRegistrationTransportType(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer); method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public void registerImsRegistrationCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.RegistrationManager.RegistrationCallback) throws android.telephony.ims.ImsException; method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public void unregisterImsRegistrationCallback(@NonNull android.telephony.ims.RegistrationManager.RegistrationCallback); + field public static final int ATTR_EPDG_OVER_CELL_INTERNET = 1; // 0x1 field public static final int REGISTRATION_STATE_NOT_REGISTERED = 0; // 0x0 field public static final int REGISTRATION_STATE_REGISTERED = 2; // 0x2 field public static final int REGISTRATION_STATE_REGISTERING = 1; // 0x1 @@ -42584,8 +42587,10 @@ package android.telephony.ims { public static class RegistrationManager.RegistrationCallback { ctor public RegistrationManager.RegistrationCallback(); - method public void onRegistered(int); - method public void onRegistering(int); + method @Deprecated public void onRegistered(int); + method public void onRegistered(int, int); + method @Deprecated public void onRegistering(int); + method public void onRegistering(int, int); method public void onTechnologyChangeFailed(int, @NonNull android.telephony.ims.ImsReasonInfo); method public void onUnregistered(@NonNull android.telephony.ims.ImsReasonInfo); } diff --git a/core/api/system-current.txt b/core/api/system-current.txt index 370751c796da5..a562721d0f5ee 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -12150,6 +12150,7 @@ package android.telephony.ims { field public static final String EXTRA_EXTENDING_TO_CONFERENCE_SUPPORTED = "android.telephony.ims.extra.EXTENDING_TO_CONFERENCE_SUPPORTED"; field public static final String EXTRA_FORWARDED_NUMBER = "android.telephony.ims.extra.FORWARDED_NUMBER"; field public static final String EXTRA_IS_CALL_PULL = "CallPull"; + field public static final String EXTRA_IS_CROSS_SIM_CALL = "android.telephony.ims.extra.IS_CROSS_SIM_CALL"; field public static final String EXTRA_LOCATION = "android.telephony.ims.extra.LOCATION"; field public static final String EXTRA_OI = "oi"; field public static final String EXTRA_OIR = "oir"; @@ -12292,6 +12293,8 @@ package android.telephony.ims { @Deprecated public static class ImsMmTelManager.RegistrationCallback extends android.telephony.ims.RegistrationManager.RegistrationCallback { ctor @Deprecated public ImsMmTelManager.RegistrationCallback(); + method @Deprecated public void onRegistered(int); + method @Deprecated public void onRegistering(int); } public final class ImsReasonInfo implements android.os.Parcelable { @@ -12931,6 +12934,7 @@ package android.telephony.ims.stub { method public void triggerFullNetworkRegistration(@IntRange(from=100, to=699) int, @Nullable String); method public void triggerSipDelegateDeregistration(); method public void updateSipDelegateRegistration(); + field public static final int REGISTRATION_TECH_CROSS_SIM = 2; // 0x2 field public static final int REGISTRATION_TECH_IWLAN = 1; // 0x1 field public static final int REGISTRATION_TECH_LTE = 0; // 0x0 field public static final int REGISTRATION_TECH_NONE = -1; // 0xffffffff diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml index 3a593b93346da..5715b31b94bc6 100644 --- a/core/res/res/values/strings.xml +++ b/core/res/res/values/strings.xml @@ -292,6 +292,17 @@ Wi-Fi only + + + @string/crossSimFormat_spn + @string/crossSimFormat_spn_cross_sim_calling + + + + %s + + %s Cross-SIM Calling +