Add the API setAvailableServices and some overlay satellite configs
Bug: 287504843 Test: SMS, MMS, call with live network. atest com.android.internal.telephony.ServiceStateTrackerTest atest com.android.internal.telephony.satellite.SatelliteControllerTest atest com.android.internal.telephony.satellite.SatelliteServiceUtilsTest atest com.android.internal.telephony.satellite.SatelliteSOSMessageRecommenderTest atest android.telephony.cts.CarrierConfigManagerTest Change-Id: I737cb77937fc19c047ef04010c5ca9397bbc45a7 Merged-In: I737cb77937fc19c047ef04010c5ca9397bbc45a7
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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.
|
||||
@@ -10404,6 +10437,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);
|
||||
|
||||
@@ -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}.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user