From 14723e314c98182bc9b7a1eaa06bdc35dc51637b Mon Sep 17 00:00:00 2001 From: "manabu, shimoda" Date: Fri, 6 Oct 2017 14:39:01 +0900 Subject: [PATCH] Customize the default value of Enhanced 4G LTE mode To control the default value by carrier configuration, - Add a carrier option to control default Enhanced 4G LTE mode enabled. - Remove initializing Settings.Global.ENHANCED_4G_MODE_ENABLED. Test: manual - Checked that the "Enhanced 4G LTE mode" can be controlled by carrier config. Bug: 67725875 Change-Id: Ic714abcae5c388cc12e6c4b1f45e2abb07febf54 --- core/java/android/provider/Settings.java | 3 ++- .../providers/settings/DatabaseHelper.java | 21 ++++--------------- .../telephony/CarrierConfigManager.java | 9 ++++++++ 3 files changed, 15 insertions(+), 18 deletions(-) mode change 100755 => 100644 core/java/android/provider/Settings.java diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java old mode 100755 new mode 100644 index 6981ffcae72d0..d230d2d14417f --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -9946,7 +9946,8 @@ public final class Settings { public static final String REQUIRE_PASSWORD_TO_DECRYPT = "require_password_to_decrypt"; /** - * Whether the Volte is enabled + * Whether the Volte is enabled. If this setting is not set then we use the Carrier Config + * value {@link CarrierConfigManager#KEY_ENHANCED_4G_LTE_ON_BY_DEFAULT_BOOL}. *

* Type: int (0 for false, 1 for true) * @hide diff --git a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java index 06d00be8aee8d..27d461b2b762f 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java @@ -1836,20 +1836,10 @@ class DatabaseHelper extends SQLiteOpenHelper { } if (upgradeVersion < 116) { - if (mUserHandle == UserHandle.USER_SYSTEM) { - db.beginTransaction(); - SQLiteStatement stmt = null; - try { - stmt = db.compileStatement("INSERT OR IGNORE INTO global(name,value)" - + " VALUES(?,?);"); - loadSetting(stmt, Settings.Global.ENHANCED_4G_MODE_ENABLED, - ImsConfig.FeatureValueConstants.ON); - db.setTransactionSuccessful(); - } finally { - db.endTransaction(); - if (stmt != null) stmt.close(); - } - } + /* + * To control the default value by carrier config manager, initializing + * ENHANCED_4G_MODE_ENABLED has been removed. + */ upgradeVersion = 116; } @@ -2633,9 +2623,6 @@ class DatabaseHelper extends SQLiteOpenHelper { loadSetting(stmt, Settings.Global.DEVICE_NAME, getDefaultDeviceName()); - loadSetting(stmt, Settings.Global.ENHANCED_4G_MODE_ENABLED, - ImsConfig.FeatureValueConstants.ON); - /* * IMPORTANT: Do not add any more upgrade steps here as the global, * secure, and system settings are no longer stored in a database diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index 686818856fbe2..a004d9dd9f6d8 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -818,6 +818,14 @@ public class CarrierConfigManager { */ public static final String KEY_HIDE_ENHANCED_4G_LTE_BOOL = "hide_enhanced_4g_lte_bool"; + /** + * Default Enhanced 4G LTE mode enabled. When this is {@code true}, Enhanced 4G LTE mode by + * default is on, otherwise if {@code false}, Enhanced 4G LTE mode by default is off. + * @hide + */ + public static final String KEY_ENHANCED_4G_LTE_ON_BY_DEFAULT_BOOL = + "enhanced_4g_lte_on_by_default_bool"; + /** * Determine whether IMS apn can be shown. */ @@ -1760,6 +1768,7 @@ public class CarrierConfigManager { sDefaults.putBoolean(KEY_DISPLAY_HD_AUDIO_PROPERTY_BOOL, true); sDefaults.putBoolean(KEY_EDITABLE_ENHANCED_4G_LTE_BOOL, true); sDefaults.putBoolean(KEY_HIDE_ENHANCED_4G_LTE_BOOL, false); + sDefaults.putBoolean(KEY_ENHANCED_4G_LTE_ON_BY_DEFAULT_BOOL, true); sDefaults.putBoolean(KEY_HIDE_IMS_APN_BOOL, false); sDefaults.putBoolean(KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL, false); sDefaults.putBoolean(KEY_ALLOW_EMERGENCY_VIDEO_CALLS_BOOL, false);