Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8f708822 authored by Karthick M J's avatar Karthick M J
Browse files

Allow carriers to bypass data roaming for Satellite

Satellite connectivity often comes through partnerships and therefore it gets classified as Data Roaming connection. Due to high cost nature of Data Roaming setting, users generally keep it off. In contrast to high cost of international roaming services, satellite comes in at low-affordable costs. So, carriers would want the devices to get connected to satellite even though if data roaming is turned off. Therefore, we are enabling carriers to decide if they want to bypass data roaming for Satellite connectivity. As part of that, we are introducing a carrier config.

More information could be found at: go/satellite-and-dataroaming

Bug: 381359023
Flag: com.android.internal.telephony.flags.satellite_25q4_apis
Test: atest CarrierConfigManagerTest DataNetworkControllerTest

Change-Id: I19104a9b47d03462736ed1351af4ad56b93b9c80
parent 44407507
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -44983,6 +44983,7 @@ package android.telephony {
    field @FlaggedApi("com.android.internal.telephony.flags.carrier_enabled_satellite_flag") public static final String KEY_SATELLITE_ENTITLEMENT_STATUS_REFRESH_DAYS_INT = "satellite_entitlement_status_refresh_days_int";
    field @FlaggedApi("com.android.internal.telephony.flags.carrier_enabled_satellite_flag") public static final String KEY_SATELLITE_ENTITLEMENT_SUPPORTED_BOOL = "satellite_entitlement_supported_bool";
    field @FlaggedApi("com.android.internal.telephony.flags.carrier_roaming_nb_iot_ntn") public static final String KEY_SATELLITE_ESOS_SUPPORTED_BOOL = "satellite_esos_supported_bool";
    field @FlaggedApi("com.android.internal.telephony.flags.satellite_25q4_apis") public static final String KEY_SATELLITE_IGNORE_DATA_ROAMING_SETTING_BOOL = "satellite_ignore_data_roaming_setting_bool";
    field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final String KEY_SATELLITE_INFORMATION_REDIRECT_URL_STRING = "satellite_information_redirect_url_string";
    field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final String KEY_SATELLITE_NIDD_APN_NAME_STRING = "satellite_nidd_apn_name_string";
    field @FlaggedApi("com.android.internal.telephony.flags.carrier_roaming_nb_iot_ntn") public static final String KEY_SATELLITE_ROAMING_ESOS_INACTIVITY_TIMEOUT_SEC_INT = "satellite_roaming_esos_inactivity_timeout_sec_int";
+14 −0
Original line number Diff line number Diff line
@@ -9931,6 +9931,19 @@ public class CarrierConfigManager {
    public static final String KEY_SATELLITE_DATA_SUPPORT_MODE_INT =
            "satellite_data_support_mode_int";
    /**
     * Determines whether data roaming off setting should be ignored and satellite data should be
     * allowed even when data roaming is off.
     *
     * If the carrier would like to allow the device to use satellite connection when data roaming
     * is off, this key should be set to {@code true}.
     *
     * The default value is {@code false} i.e. disallow satellite data when data roaming is off.
     */
    @FlaggedApi(Flags.FLAG_SATELLITE_25Q4_APIS)
    public static final String KEY_SATELLITE_IGNORE_DATA_ROAMING_SETTING_BOOL =
        "satellite_ignore_data_roaming_setting_bool";
    /**
     * Determine whether to override roaming Wi-Fi Calling preference when device is connected to
     * non-terrestrial network.
@@ -11327,6 +11340,7 @@ public class CarrierConfigManager {
        sDefaults.putBoolean(KEY_REMOVE_SATELLITE_PLMN_IN_MANUAL_NETWORK_SCAN_BOOL, true);
        sDefaults.putInt(KEY_SATELLITE_DATA_SUPPORT_MODE_INT,
                CarrierConfigManager.SATELLITE_DATA_SUPPORT_ONLY_RESTRICTED);
        sDefaults.putBoolean(KEY_SATELLITE_IGNORE_DATA_ROAMING_SETTING_BOOL, false);
        sDefaults.putBoolean(KEY_OVERRIDE_WFC_ROAMING_MODE_WHILE_USING_NTN_BOOL, true);
        sDefaults.putInt(KEY_SATELLITE_ENTITLEMENT_STATUS_REFRESH_DAYS_INT, 7);
        sDefaults.putBoolean(KEY_SATELLITE_ENTITLEMENT_SUPPORTED_BOOL, false);