From 2d5fd29b83c9cd8a0c2c77692d84574dffde17ee Mon Sep 17 00:00:00 2001 From: "kimmy.yang" Date: Wed, 29 Dec 2021 16:52:39 +0800 Subject: Show 4G LTE and 4G LTE+ data connection type Add 4G LTE and 4G LTE+ icon config, logic, and resources According to AT&T Technology Icons requirement , 4GLTE icon should be shown instead of 4G or LTE. Test: manual Change-Id: I6f23c5082e35cb9d562c30b1d710383e58dcf460 --- .../res/drawable/ic_4g_lte_mobiledata.xml | 25 +++++++++++++++++ .../res/drawable/ic_4g_lte_plus_mobiledata.xml | 29 ++++++++++++++++++++ packages/SettingsLib/res/values/strings.xml | 6 ++++ .../android/settingslib/mobile/MobileMappings.java | 16 +++++++++++ .../android/settingslib/mobile/TelephonyIcons.java | 32 ++++++++++++++++++++++ .../android/telephony/CarrierConfigManager.java | 8 ++++++ 6 files changed, 116 insertions(+) create mode 100644 packages/SettingsLib/res/drawable/ic_4g_lte_mobiledata.xml create mode 100644 packages/SettingsLib/res/drawable/ic_4g_lte_plus_mobiledata.xml diff --git a/packages/SettingsLib/res/drawable/ic_4g_lte_mobiledata.xml b/packages/SettingsLib/res/drawable/ic_4g_lte_mobiledata.xml new file mode 100644 index 000000000000..43a82fa2d86e --- /dev/null +++ b/packages/SettingsLib/res/drawable/ic_4g_lte_mobiledata.xml @@ -0,0 +1,25 @@ + + + + + diff --git a/packages/SettingsLib/res/drawable/ic_4g_lte_plus_mobiledata.xml b/packages/SettingsLib/res/drawable/ic_4g_lte_plus_mobiledata.xml new file mode 100644 index 000000000000..b80c47af23d2 --- /dev/null +++ b/packages/SettingsLib/res/drawable/ic_4g_lte_plus_mobiledata.xml @@ -0,0 +1,29 @@ + + + + + + + diff --git a/packages/SettingsLib/res/values/strings.xml b/packages/SettingsLib/res/values/strings.xml index a56c49088b67..2593aff24e7d 100644 --- a/packages/SettingsLib/res/values/strings.xml +++ b/packages/SettingsLib/res/values/strings.xml @@ -1495,6 +1495,12 @@ LTE+ + + 4G LTE + + + 4G LTE+ + <i>5G <small>E</small></i> diff --git a/packages/SettingsLib/src/com/android/settingslib/mobile/MobileMappings.java b/packages/SettingsLib/src/com/android/settingslib/mobile/MobileMappings.java index 14a7cfa568d8..15d673b2bf6d 100644 --- a/packages/SettingsLib/src/com/android/settingslib/mobile/MobileMappings.java +++ b/packages/SettingsLib/src/com/android/settingslib/mobile/MobileMappings.java @@ -156,6 +156,19 @@ public class MobileMappings { TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_LTE_CA), TelephonyIcons.FOUR_G_PLUS); } + } else if (config.show4glteForLte) { + networkToIconLookup.put(toIconKey( + TelephonyManager.NETWORK_TYPE_LTE), + TelephonyIcons.FOUR_G_LTE); + if (config.hideLtePlus) { + networkToIconLookup.put(toDisplayIconKey( + TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_LTE_CA), + TelephonyIcons.FOUR_G_LTE); + } else { + networkToIconLookup.put(toDisplayIconKey( + TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_LTE_CA), + TelephonyIcons.FOUR_G_LTE_PLUS); + } } else { networkToIconLookup.put(toIconKey( TelephonyManager.NETWORK_TYPE_LTE), @@ -196,6 +209,7 @@ public class MobileMappings { public boolean show4gFor3g = false; public boolean alwaysShowCdmaRssi = false; public boolean show4gForLte = false; + public boolean show4glteForLte = false; public boolean hideLtePlus = false; public boolean hspaDataDistinguishable; public boolean alwaysShowDataRatIcon = false; @@ -224,6 +238,8 @@ public class MobileMappings { CarrierConfigManager.KEY_ALWAYS_SHOW_DATA_RAT_ICON_BOOL); config.show4gForLte = b.getBoolean( CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL); + config.show4glteForLte = b.getBoolean( + CarrierConfigManager.KEY_SHOW_4GLTE_FOR_LTE_DATA_ICON_BOOL); config.show4gFor3g = b.getBoolean( CarrierConfigManager.KEY_SHOW_4G_FOR_3G_DATA_ICON_BOOL); config.hideLtePlus = b.getBoolean( diff --git a/packages/SettingsLib/src/com/android/settingslib/mobile/TelephonyIcons.java b/packages/SettingsLib/src/com/android/settingslib/mobile/TelephonyIcons.java index f8565bc2279f..77d64d7f7107 100644 --- a/packages/SettingsLib/src/com/android/settingslib/mobile/TelephonyIcons.java +++ b/packages/SettingsLib/src/com/android/settingslib/mobile/TelephonyIcons.java @@ -39,6 +39,8 @@ public class TelephonyIcons { public static final int ICON_3G = R.drawable.ic_3g_mobiledata; public static final int ICON_4G = R.drawable.ic_4g_mobiledata; public static final int ICON_4G_PLUS = R.drawable.ic_4g_plus_mobiledata; + public static final int ICON_4G_LTE = R.drawable.ic_4g_lte_mobiledata; + public static final int ICON_4G_LTE_PLUS = R.drawable.ic_4g_lte_plus_mobiledata; public static final int ICON_5G_E = R.drawable.ic_5g_e_mobiledata; public static final int ICON_1X = R.drawable.ic_1x_mobiledata; public static final int ICON_5G = R.drawable.ic_5g_mobiledata; @@ -210,6 +212,34 @@ public class TelephonyIcons { TelephonyIcons.ICON_LTE_PLUS, true); + public static final MobileIconGroup FOUR_G_LTE = new MobileIconGroup( + "4G LTE", + null, + null, + AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH, + 0, + 0, + 0, + 0, + AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0], + R.string.data_connection_4g_lte, + TelephonyIcons.ICON_4G_LTE + ); + + public static final MobileIconGroup FOUR_G_LTE_PLUS = new MobileIconGroup( + "4G LTE+", + null, + null, + AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH, + 0, + 0, + 0, + 0, + AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0], + R.string.data_connection_4g_lte_plus, + TelephonyIcons.ICON_4G_LTE_PLUS + ); + public static final MobileIconGroup LTE_CA_5G_E = new MobileIconGroup( "5Ge", null, @@ -309,6 +339,8 @@ public class TelephonyIcons { ICON_NAME_TO_ICON.put("h+", H_PLUS); ICON_NAME_TO_ICON.put("4g", FOUR_G); ICON_NAME_TO_ICON.put("4g+", FOUR_G_PLUS); + ICON_NAME_TO_ICON.put("4glte", FOUR_G_LTE); + ICON_NAME_TO_ICON.put("4glte+", FOUR_G_LTE_PLUS); ICON_NAME_TO_ICON.put("5ge", LTE_CA_5G_E); ICON_NAME_TO_ICON.put("lte", LTE); ICON_NAME_TO_ICON.put("lte+", LTE_PLUS); diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index 5851ee182368..54bbf8280fff 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -1873,6 +1873,13 @@ public class CarrierConfigManager { public static final String KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL = "show_4g_for_lte_data_icon_bool"; + /** + * Boolean indicating if default data account should show 4G LTE or 4G icon. + * @hide + */ + public static final String KEY_SHOW_4GLTE_FOR_LTE_DATA_ICON_BOOL = + "show_4glte_for_lte_data_icon_bool"; + /** * Boolean indicating if default data account should show 4G icon when in 3G. */ @@ -5685,6 +5692,7 @@ public class CarrierConfigManager { sDefaults.putBoolean(KEY_SPN_DISPLAY_RULE_USE_ROAMING_FROM_SERVICE_STATE_BOOL, false); sDefaults.putBoolean(KEY_ALWAYS_SHOW_DATA_RAT_ICON_BOOL, false); sDefaults.putBoolean(KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL, false); + sDefaults.putBoolean(KEY_SHOW_4GLTE_FOR_LTE_DATA_ICON_BOOL, false); sDefaults.putBoolean(KEY_SHOW_4G_FOR_3G_DATA_ICON_BOOL, false); sDefaults.putString(KEY_OPERATOR_NAME_FILTER_PATTERN_STRING, ""); sDefaults.putString(KEY_SHOW_CARRIER_DATA_ICON_PATTERN_STRING, ""); -- cgit v1.2.3-59-g8ed1b