diff --git a/api/current.txt b/api/current.txt index 6126e90babd94..47cfe3cb3e80d 100644 --- a/api/current.txt +++ b/api/current.txt @@ -45183,6 +45183,7 @@ package android.telephony { method public void updateAvailableNetworks(@NonNull java.util.List, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.Consumer); field public static final String ACTION_CARRIER_MESSAGING_CLIENT_SERVICE = "android.telephony.action.CARRIER_MESSAGING_CLIENT_SERVICE"; field public static final String ACTION_CONFIGURE_VOICEMAIL = "android.telephony.action.CONFIGURE_VOICEMAIL"; + field public static final String ACTION_MULTI_SIM_CONFIG_CHANGED = "android.telephony.action.MULTI_SIM_CONFIG_CHANGED"; field public static final String ACTION_NETWORK_COUNTRY_CHANGED = "android.telephony.action.NETWORK_COUNTRY_CHANGED"; field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final String ACTION_PHONE_STATE_CHANGED = "android.intent.action.PHONE_STATE"; field public static final String ACTION_RESPOND_VIA_MESSAGE = "android.intent.action.RESPOND_VIA_MESSAGE"; @@ -45223,6 +45224,7 @@ package android.telephony { field public static final String EXTRA_LAUNCH_VOICEMAIL_SETTINGS_INTENT = "android.telephony.extra.LAUNCH_VOICEMAIL_SETTINGS_INTENT"; field public static final String EXTRA_NETWORK_COUNTRY = "android.telephony.extra.NETWORK_COUNTRY"; field public static final String EXTRA_NOTIFICATION_COUNT = "android.telephony.extra.NOTIFICATION_COUNT"; + field public static final String EXTRA_NUM_OF_ACTIVE_SIM_SUPPORTED = "android.telephony.extra.NUM_OF_ACTIVE_SIM_SUPPORTED"; field public static final String EXTRA_PHONE_ACCOUNT_HANDLE = "android.telephony.extra.PHONE_ACCOUNT_HANDLE"; field public static final String EXTRA_SPECIFIC_CARRIER_ID = "android.telephony.extra.SPECIFIC_CARRIER_ID"; field public static final String EXTRA_SPECIFIC_CARRIER_NAME = "android.telephony.extra.SPECIFIC_CARRIER_NAME"; diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index cfc2ed4361d73..b584e9d23773f 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -1170,6 +1170,35 @@ public class TelephonyManager { public static final String EXTRA_VOICEMAIL_SCRAMBLED_PIN_STRING = "android.telephony.extra.VOICEMAIL_SCRAMBLED_PIN_STRING"; + /** + * Broadcast intent that indicates multi-SIM configuration is changed. For example, it changed + * from single SIM capable to dual-SIM capable (DSDS or DSDA) or triple-SIM mode. + * + * It doesn't indicate how many subscriptions are actually active, or which states SIMs are, + * or that all steps during multi-SIM change are done. To know those information you still need + * to listen to SIM_STATE changes or active subscription changes. + * + * See extra of {@link #EXTRA_NUM_OF_ACTIVE_SIM_SUPPORTED} for updated value. + */ + public static final String ACTION_MULTI_SIM_CONFIG_CHANGED = + "android.telephony.action.MULTI_SIM_CONFIG_CHANGED"; + + + /** + * The number of active SIM supported by current multi-SIM config. It's not related to how many + * SIM/subscriptions are currently active. + * + * For single SIM mode, it's 1. + * For DSDS or DSDA mode, it's 2. + * For triple-SIM mode, it's 3. + * + * Extra of {@link #ACTION_MULTI_SIM_CONFIG_CHANGED}. + * + * type: integer + */ + public static final String EXTRA_NUM_OF_ACTIVE_SIM_SUPPORTED = + "android.telephony.extra.NUM_OF_ACTIVE_SIM_SUPPORTED"; + /** * @hide */