Implementation of "Enable 2G" for Settings.
(1) Adds KEY_HIDE_ENABLE_2G_BOOL to CarrierConfigManager, and (2) Adds new reason ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G. Test: manual & atest -c Enable2gPreferenceControllerTest Bug: b/163168917 Change-Id: I81052549f8dde491697c35365320145fd24c3842
This commit is contained in:
@@ -40270,6 +40270,7 @@ package android.telephony {
|
||||
field public static final String KEY_GSM_ROAMING_NETWORKS_STRING_ARRAY = "gsm_roaming_networks_string_array";
|
||||
field public static final String KEY_HAS_IN_CALL_NOISE_SUPPRESSION_BOOL = "has_in_call_noise_suppression_bool";
|
||||
field public static final String KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL = "hide_carrier_network_settings_bool";
|
||||
field public static final String KEY_HIDE_ENABLE_2G = "hide_enable_2g_bool";
|
||||
field public static final String KEY_HIDE_ENHANCED_4G_LTE_BOOL = "hide_enhanced_4g_lte_bool";
|
||||
field public static final String KEY_HIDE_IMS_APN_BOOL = "hide_ims_apn_bool";
|
||||
field public static final String KEY_HIDE_LTE_PLUS_DATA_ICON_BOOL = "hide_lte_plus_data_icon_bool";
|
||||
|
||||
@@ -11944,6 +11944,7 @@ package android.telephony {
|
||||
field public static final String ACTION_SIM_CARD_STATE_CHANGED = "android.telephony.action.SIM_CARD_STATE_CHANGED";
|
||||
field public static final String ACTION_SIM_SLOT_STATUS_CHANGED = "android.telephony.action.SIM_SLOT_STATUS_CHANGED";
|
||||
field public static final int ALLOWED_NETWORK_TYPES_REASON_CARRIER = 2; // 0x2
|
||||
field public static final int ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G = 3; // 0x3
|
||||
field public static final int ALLOWED_NETWORK_TYPES_REASON_POWER = 1; // 0x1
|
||||
field public static final int ALLOWED_NETWORK_TYPES_REASON_USER = 0; // 0x0
|
||||
field public static final int CALL_WAITING_STATUS_DISABLED = 2; // 0x2
|
||||
|
||||
@@ -5286,7 +5286,8 @@ public final class Telephony {
|
||||
* which network types are allowed for
|
||||
* {@link TelephonyManager#ALLOWED_NETWORK_TYPES_REASON_USER},
|
||||
* {@link TelephonyManager#ALLOWED_NETWORK_TYPES_REASON_POWER},
|
||||
* {@link TelephonyManager#ALLOWED_NETWORK_TYPES_REASON_CARRIER}.
|
||||
* {@link TelephonyManager#ALLOWED_NETWORK_TYPES_REASON_CARRIER},
|
||||
* {@link TelephonyManager#ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G}.
|
||||
* <P>Type: TEXT </P>
|
||||
*
|
||||
* @hide
|
||||
|
||||
@@ -1840,13 +1840,15 @@ public class PhoneStateListener {
|
||||
*
|
||||
* @param allowedNetworkTypesList Map associating all allowed network type reasons
|
||||
* ({@link TelephonyManager#ALLOWED_NETWORK_TYPES_REASON_USER},
|
||||
* {@link TelephonyManager#ALLOWED_NETWORK_TYPES_REASON_POWER}, and
|
||||
* {@link TelephonyManager#ALLOWED_NETWORK_TYPES_REASON_CARRIER}) with reason's allowed
|
||||
* {@link TelephonyManager#ALLOWED_NETWORK_TYPES_REASON_POWER},
|
||||
* {@link TelephonyManager#ALLOWED_NETWORK_TYPES_REASON_CARRIER}, and
|
||||
* {@link TelephonyManager#ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G}) with reason's allowed
|
||||
* network type values.
|
||||
* For example:
|
||||
* map{{TelephonyManager#ALLOWED_NETWORK_TYPES_REASON_USER, long type value},
|
||||
* {TelephonyManager#ALLOWED_NETWORK_TYPES_REASON_POWER, long type value},
|
||||
* {TelephonyManager#ALLOWED_NETWORK_TYPES_REASON_CARRIER, long type value}}
|
||||
* {TelephonyManager#ALLOWED_NETWORK_TYPES_REASON_CARRIER, long type value},
|
||||
* {TelephonyManager#ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G, long type value}}
|
||||
*/
|
||||
@RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
|
||||
void onAllowedNetworkTypesChanged(
|
||||
|
||||
@@ -4763,6 +4763,14 @@ public class CarrierConfigManager {
|
||||
public static final String KEY_STORE_SIM_PIN_FOR_UNATTENDED_REBOOT_BOOL =
|
||||
"store_sim_pin_for_unattended_reboot_bool";
|
||||
|
||||
/**
|
||||
* Determine whether "Enable 2G" toggle can be shown.
|
||||
*
|
||||
* Used to trade privacy/security against potentially reduced carrier coverage for some
|
||||
* carriers.
|
||||
*/
|
||||
public static final String KEY_HIDE_ENABLE_2G = "hide_enable_2g_bool";
|
||||
|
||||
/** The default value for every variable. */
|
||||
private final static PersistableBundle sDefaults;
|
||||
|
||||
@@ -5320,6 +5328,7 @@ public class CarrierConfigManager {
|
||||
sDefaults.putBoolean(KEY_NETWORK_TEMP_NOT_METERED_SUPPORTED_BOOL, true);
|
||||
sDefaults.putInt(KEY_DEFAULT_RTT_MODE_INT, 0);
|
||||
sDefaults.putBoolean(KEY_STORE_SIM_PIN_FOR_UNATTENDED_REBOOT_BOOL, true);
|
||||
sDefaults.putBoolean(KEY_HIDE_ENABLE_2G, false);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -8591,7 +8591,8 @@ public class TelephonyManager {
|
||||
@IntDef({
|
||||
ALLOWED_NETWORK_TYPES_REASON_USER,
|
||||
ALLOWED_NETWORK_TYPES_REASON_POWER,
|
||||
ALLOWED_NETWORK_TYPES_REASON_CARRIER
|
||||
ALLOWED_NETWORK_TYPES_REASON_CARRIER,
|
||||
ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G
|
||||
})
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
public @interface AllowedNetworkTypesReason {
|
||||
@@ -8627,6 +8628,14 @@ public class TelephonyManager {
|
||||
@SystemApi
|
||||
public static final int ALLOWED_NETWORK_TYPES_REASON_CARRIER = 2;
|
||||
|
||||
/**
|
||||
* To indicate allowed network type change is requested by the user via the 2G toggle.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final int ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G = 3;
|
||||
|
||||
/**
|
||||
* Set the allowed network types of the device and
|
||||
* provide the reason triggering the allowed network change.
|
||||
@@ -8636,6 +8645,8 @@ public class TelephonyManager {
|
||||
* <li>Allowed network types control by power manager
|
||||
* {@link #ALLOWED_NETWORK_TYPES_REASON_POWER}
|
||||
* <li>Allowed network types control by carrier {@link #ALLOWED_NETWORK_TYPES_REASON_CARRIER}
|
||||
* <li>Allowed network types control by the user-controlled "Allow 2G" toggle
|
||||
* {@link #ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G}
|
||||
* </ol>
|
||||
* This API will result in allowing an intersection of allowed network types for all reasons,
|
||||
* including the configuration done through other reasons.
|
||||
@@ -8719,6 +8730,7 @@ public class TelephonyManager {
|
||||
case TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER:
|
||||
case TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_POWER:
|
||||
case TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_CARRIER:
|
||||
case TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G:
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user