diff options
author | 2023-06-20 16:55:06 -0700 | |
---|---|---|
committer | 2023-07-14 20:21:30 +0000 | |
commit | 5e54ebcc473fd582bec70ad9152239d6da9533ed (patch) | |
tree | e1055925cfc37ceab706785d8b0fc630379f73d2 /telephony | |
parent | 342ff0d160f8028c8f5135a946cc81a63d885eb5 (diff) |
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
Diffstat (limited to 'telephony')
-rw-r--r-- | telephony/java/android/telephony/CarrierConfigManager.java | 36 | ||||
-rw-r--r-- | telephony/java/android/telephony/NetworkRegistrationInfo.java | 18 |
2 files changed, 53 insertions, 1 deletions
diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index 3e7919305cbf..b8e135b910ff 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -9400,6 +9400,39 @@ public class CarrierConfigManager { "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); diff --git a/telephony/java/android/telephony/NetworkRegistrationInfo.java b/telephony/java/android/telephony/NetworkRegistrationInfo.java index 182d2fcbec67..f012ab56d94d 100644 --- a/telephony/java/android/telephony/NetworkRegistrationInfo.java +++ b/telephony/java/android/telephony/NetworkRegistrationInfo.java @@ -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; @@ -604,6 +610,16 @@ public final class NetworkRegistrationInfo implements Parcelable { } /** + * 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}. */ public @NetworkType int getAccessNetworkTechnology() { |