Merge "Add the API setAvailableServices and some overlay satellite configs" into udc-qpr-dev

This commit is contained in:
Thomas Nguyen
2023-07-18 18:21:44 +00:00
committed by Android (Google) Code Review
3 changed files with 70 additions and 1 deletions

View File

@@ -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

View File

@@ -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.
@@ -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);

View File

@@ -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;
@@ -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;
@@ -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}.
*/