Loading core/res/res/values/config_telephony.xml +17 −0 Original line number Diff line number Diff line Loading @@ -151,6 +151,23 @@ <integer name="config_timeout_to_receive_delivered_ack_millis">300000</integer> <java-symbol type="integer" name="config_timeout_to_receive_delivered_ack_millis" /> <!-- Telephony config for services supported by satellite providers. The format of each config string in the array is as follows: "PLMN_1:service_1,service_2,..." where PLMN is the satellite PLMN of a provider and service is an integer with the following value: 1 = {@link android.telephony.NetworkRegistrationInfo#SERVICE_TYPE_VOICE} 2 = {@link android.telephony.NetworkRegistrationInfo#SERVICE_TYPE_DATA} 3 = {@link android.telephony.NetworkRegistrationInfo#SERVICE_TYPE_SMS} 4 = {@link android.telephony.NetworkRegistrationInfo#SERVICE_TYPE_VIDEO} 5 = {@link android.telephony.NetworkRegistrationInfo#SERVICE_TYPE_EMERGENCY} Example of a config string: "10011:2,3" The PLMNs not configured in this array will be ignored and will not be used for satellite scanning. --> <string-array name="config_satellite_services_supported_by_providers" translatable="false"> </string-array> <java-symbol type="array" name="config_satellite_services_supported_by_providers" /> <!-- Whether enhanced IWLAN handover check is enabled. If enabled, telephony frameworks will not perform handover if the target transport is out of service, or VoPS not supported. The network will be torn down on the source transport, and will be Loading telephony/java/android/telephony/CarrierConfigManager.java +36 −0 Original line number Diff line number Diff line Loading @@ -9399,6 +9399,39 @@ public class CarrierConfigManager { public static final String KEY_MISSED_INCOMING_CALL_SMS_PATTERN_STRING_ARRAY = "missed_incoming_call_sms_pattern_string_array"; /** * Indicate the satellite services supported per provider by a carrier. * * Key is the PLMN of a satellite provider. Value should be an integer array of supported * services with the following value: * <ul> * <li>1 = {@link android.telephony.NetworkRegistrationInfo#SERVICE_TYPE_VOICE}</li> * <li>2 = {@link android.telephony.NetworkRegistrationInfo#SERVICE_TYPE_DATA}</li> * <li>3 = {@link android.telephony.NetworkRegistrationInfo#SERVICE_TYPE_SMS}</li> * <li>4 = {@link android.telephony.NetworkRegistrationInfo#SERVICE_TYPE_VIDEO}</li> * <li>5 = {@link android.telephony.NetworkRegistrationInfo#SERVICE_TYPE_EMERGENCY}</li> * </ul> * <p> * If this carrier config is not present, the overlay config * {@code config_satellite_services_supported_by_providers} will be used. If the carrier config * is present, the supported satellite services will be identified as follows: * <ul> * <li>For the PLMN that exists in both provider supported satellite services and carrier * supported satellite services, the supported services will be the intersection of the two * sets.</li> * <li>For the PLMN that is present in provider supported satellite services but not in carrier * supported satellite services, the provider supported satellite services will be used.</li> * <li>For the PLMN that is present in carrier supported satellite services but not in provider * supported satellite services, the PLMN will be ignored.</li> * </ul> * * This config is empty by default. * * @hide */ public static final String KEY_CARRIER_SUPPORTED_SATELLITE_SERVICES_PER_PROVIDER_BUNDLE = "carrier_supported_satellite_services_per_provider_bundle"; /** * Indicating whether DUN APN should be disabled when the device is roaming. In that case, * the default APN (i.e. internet) will be used for tethering. Loading Loading @@ -10405,6 +10438,9 @@ public class CarrierConfigManager { }); sDefaults.putBoolean(KEY_DELAY_IMS_TEAR_DOWN_UNTIL_CALL_END_BOOL, false); sDefaults.putStringArray(KEY_MISSED_INCOMING_CALL_SMS_PATTERN_STRING_ARRAY, new String[0]); sDefaults.putPersistableBundle( KEY_CARRIER_SUPPORTED_SATELLITE_SERVICES_PER_PROVIDER_BUNDLE, PersistableBundle.EMPTY); sDefaults.putBoolean(KEY_DISABLE_DUN_APN_WHILE_ROAMING_WITH_PRESET_APN_BOOL, false); sDefaults.putString(KEY_DEFAULT_PREFERRED_APN_NAME_STRING, ""); sDefaults.putBoolean(KEY_SUPPORTS_CALL_COMPOSER_BOOL, false); Loading telephony/java/android/telephony/NetworkRegistrationInfo.java +17 −1 Original line number Diff line number Diff line Loading @@ -203,6 +203,12 @@ public final class NetworkRegistrationInfo implements Parcelable { */ public static final int SERVICE_TYPE_EMERGENCY = 5; /** @hide */ public static final int FIRST_SERVICE_TYPE = SERVICE_TYPE_VOICE; /** @hide */ public static final int LAST_SERVICE_TYPE = SERVICE_TYPE_EMERGENCY; @Domain private final int mDomain; Loading Loading @@ -240,7 +246,7 @@ public final class NetworkRegistrationInfo implements Parcelable { private final boolean mEmergencyOnly; @ServiceType private final ArrayList<Integer> mAvailableServices; private ArrayList<Integer> mAvailableServices; @Nullable private CellIdentity mCellIdentity; Loading Loading @@ -603,6 +609,16 @@ public final class NetworkRegistrationInfo implements Parcelable { return Collections.unmodifiableList(mAvailableServices); } /** * Set available service types. * * @param availableServices The list of available services for this network. * @hide */ public void setAvailableServices(@NonNull @ServiceType List<Integer> availableServices) { mAvailableServices = new ArrayList<>(availableServices); } /** * @return The access network technology {@link NetworkType}. */ Loading Loading
core/res/res/values/config_telephony.xml +17 −0 Original line number Diff line number Diff line Loading @@ -151,6 +151,23 @@ <integer name="config_timeout_to_receive_delivered_ack_millis">300000</integer> <java-symbol type="integer" name="config_timeout_to_receive_delivered_ack_millis" /> <!-- Telephony config for services supported by satellite providers. The format of each config string in the array is as follows: "PLMN_1:service_1,service_2,..." where PLMN is the satellite PLMN of a provider and service is an integer with the following value: 1 = {@link android.telephony.NetworkRegistrationInfo#SERVICE_TYPE_VOICE} 2 = {@link android.telephony.NetworkRegistrationInfo#SERVICE_TYPE_DATA} 3 = {@link android.telephony.NetworkRegistrationInfo#SERVICE_TYPE_SMS} 4 = {@link android.telephony.NetworkRegistrationInfo#SERVICE_TYPE_VIDEO} 5 = {@link android.telephony.NetworkRegistrationInfo#SERVICE_TYPE_EMERGENCY} Example of a config string: "10011:2,3" The PLMNs not configured in this array will be ignored and will not be used for satellite scanning. --> <string-array name="config_satellite_services_supported_by_providers" translatable="false"> </string-array> <java-symbol type="array" name="config_satellite_services_supported_by_providers" /> <!-- Whether enhanced IWLAN handover check is enabled. If enabled, telephony frameworks will not perform handover if the target transport is out of service, or VoPS not supported. The network will be torn down on the source transport, and will be Loading
telephony/java/android/telephony/CarrierConfigManager.java +36 −0 Original line number Diff line number Diff line Loading @@ -9399,6 +9399,39 @@ public class CarrierConfigManager { public static final String KEY_MISSED_INCOMING_CALL_SMS_PATTERN_STRING_ARRAY = "missed_incoming_call_sms_pattern_string_array"; /** * Indicate the satellite services supported per provider by a carrier. * * Key is the PLMN of a satellite provider. Value should be an integer array of supported * services with the following value: * <ul> * <li>1 = {@link android.telephony.NetworkRegistrationInfo#SERVICE_TYPE_VOICE}</li> * <li>2 = {@link android.telephony.NetworkRegistrationInfo#SERVICE_TYPE_DATA}</li> * <li>3 = {@link android.telephony.NetworkRegistrationInfo#SERVICE_TYPE_SMS}</li> * <li>4 = {@link android.telephony.NetworkRegistrationInfo#SERVICE_TYPE_VIDEO}</li> * <li>5 = {@link android.telephony.NetworkRegistrationInfo#SERVICE_TYPE_EMERGENCY}</li> * </ul> * <p> * If this carrier config is not present, the overlay config * {@code config_satellite_services_supported_by_providers} will be used. If the carrier config * is present, the supported satellite services will be identified as follows: * <ul> * <li>For the PLMN that exists in both provider supported satellite services and carrier * supported satellite services, the supported services will be the intersection of the two * sets.</li> * <li>For the PLMN that is present in provider supported satellite services but not in carrier * supported satellite services, the provider supported satellite services will be used.</li> * <li>For the PLMN that is present in carrier supported satellite services but not in provider * supported satellite services, the PLMN will be ignored.</li> * </ul> * * This config is empty by default. * * @hide */ public static final String KEY_CARRIER_SUPPORTED_SATELLITE_SERVICES_PER_PROVIDER_BUNDLE = "carrier_supported_satellite_services_per_provider_bundle"; /** * Indicating whether DUN APN should be disabled when the device is roaming. In that case, * the default APN (i.e. internet) will be used for tethering. Loading Loading @@ -10405,6 +10438,9 @@ public class CarrierConfigManager { }); sDefaults.putBoolean(KEY_DELAY_IMS_TEAR_DOWN_UNTIL_CALL_END_BOOL, false); sDefaults.putStringArray(KEY_MISSED_INCOMING_CALL_SMS_PATTERN_STRING_ARRAY, new String[0]); sDefaults.putPersistableBundle( KEY_CARRIER_SUPPORTED_SATELLITE_SERVICES_PER_PROVIDER_BUNDLE, PersistableBundle.EMPTY); sDefaults.putBoolean(KEY_DISABLE_DUN_APN_WHILE_ROAMING_WITH_PRESET_APN_BOOL, false); sDefaults.putString(KEY_DEFAULT_PREFERRED_APN_NAME_STRING, ""); sDefaults.putBoolean(KEY_SUPPORTS_CALL_COMPOSER_BOOL, false); Loading
telephony/java/android/telephony/NetworkRegistrationInfo.java +17 −1 Original line number Diff line number Diff line Loading @@ -203,6 +203,12 @@ public final class NetworkRegistrationInfo implements Parcelable { */ public static final int SERVICE_TYPE_EMERGENCY = 5; /** @hide */ public static final int FIRST_SERVICE_TYPE = SERVICE_TYPE_VOICE; /** @hide */ public static final int LAST_SERVICE_TYPE = SERVICE_TYPE_EMERGENCY; @Domain private final int mDomain; Loading Loading @@ -240,7 +246,7 @@ public final class NetworkRegistrationInfo implements Parcelable { private final boolean mEmergencyOnly; @ServiceType private final ArrayList<Integer> mAvailableServices; private ArrayList<Integer> mAvailableServices; @Nullable private CellIdentity mCellIdentity; Loading Loading @@ -603,6 +609,16 @@ public final class NetworkRegistrationInfo implements Parcelable { return Collections.unmodifiableList(mAvailableServices); } /** * Set available service types. * * @param availableServices The list of available services for this network. * @hide */ public void setAvailableServices(@NonNull @ServiceType List<Integer> availableServices) { mAvailableServices = new ArrayList<>(availableServices); } /** * @return The access network technology {@link NetworkType}. */ Loading