From f0a973b5647e89b8c0e8d7e4555bba389cb7ebf9 Mon Sep 17 00:00:00 2001 From: Jayachandran C Date: Mon, 13 Jan 2020 16:01:21 -0800 Subject: [PATCH] Add new system API constant DEFAULT_PREFERRED_NETWORK_MODE Bug: 140768340 Test: Following tests have been done atest packages/services/Telephony/tests/ atest frameworks/opt/telephony/tests/telephonytests/ Manual sanity to check basic telephony Change-Id: Ia114e4546d88e294ed37b6632a1eae6a06fbf7bc --- api/system-current.txt | 1 + .../android/providers/settings/DatabaseHelper.java | 2 +- .../java/android/telephony/TelephonyManager.java | 12 ++++++++++++ .../com/android/internal/telephony/RILConstants.java | 5 ++++- 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/api/system-current.txt b/api/system-current.txt index b4218072a586d..c4c96def2bbe8 100755 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -10726,6 +10726,7 @@ package android.telephony { field public static final int CDMA_SUBSCRIPTION_NV = 1; // 0x1 field public static final int CDMA_SUBSCRIPTION_RUIM_SIM = 0; // 0x0 field public static final int CDMA_SUBSCRIPTION_UNKNOWN = -1; // 0xffffffff + field public static final int DEFAULT_PREFERRED_NETWORK_MODE = 0; // 0x0 field public static final String EXTRA_ANOMALY_DESCRIPTION = "android.telephony.extra.ANOMALY_DESCRIPTION"; field public static final String EXTRA_ANOMALY_ID = "android.telephony.extra.ANOMALY_ID"; field @Deprecated public static final String EXTRA_APN_PROTOCOL = "apnProto"; diff --git a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java index 375a650446833..266bfe0a22b55 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java @@ -2554,7 +2554,7 @@ class DatabaseHelper extends SQLiteOpenHelper { for (int phoneId = 0; phoneId < phoneCount; phoneId++) { int mode = defaultNetworks.size() <= phoneId || defaultNetworks.get(phoneId) == null - ? RILConstants.PREFERRED_NETWORK_MODE : defaultNetworks.get(phoneId); + ? TelephonyManager.DEFAULT_PREFERRED_NETWORK_MODE : defaultNetworks.get(phoneId); if (phoneId > 0) val.append(','); val.append(mode); } diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index 7ee68ea2881ca..5457bfcf00e99 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -7648,6 +7648,18 @@ public class TelephonyManager { public static final int NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = RILConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA; + /** + * The default preferred network mode constant. + * + *

This constant is used in case of nothing is set in + * TelephonyProperties#default_network(). + * + * @hide + */ + @SystemApi + public static final int DEFAULT_PREFERRED_NETWORK_MODE = + RILConstants.DEFAULT_PREFERRED_NETWORK_MODE; + /** * Get the preferred network type. * Used for device configuration by some CDMA operators. diff --git a/telephony/java/com/android/internal/telephony/RILConstants.java b/telephony/java/com/android/internal/telephony/RILConstants.java index 284544b7f6f2f..e1b33b4f86871 100644 --- a/telephony/java/com/android/internal/telephony/RILConstants.java +++ b/telephony/java/com/android/internal/telephony/RILConstants.java @@ -233,11 +233,14 @@ public interface RILConstants { /** NR 5G, LTE, TD-SCDMA, CDMA, EVDO, GSM and WCDMA */ int NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 33; + /** Default preferred network mode */ + int DEFAULT_PREFERRED_NETWORK_MODE = NETWORK_MODE_WCDMA_PREF; + @UnsupportedAppUsage int PREFERRED_NETWORK_MODE = Optional.of(TelephonyProperties.default_network()) .filter(list -> !list.isEmpty()) .map(list -> list.get(0)) - .orElse(NETWORK_MODE_WCDMA_PREF); + .orElse(DEFAULT_PREFERRED_NETWORK_MODE); int BAND_MODE_UNSPECIFIED = 0; //"unspecified" (selected by baseband automatically) int BAND_MODE_EURO = 1; //"EURO band" (GSM-900 / DCS-1800 / WCDMA-IMT-2000)