summaryrefslogtreecommitdiffstats
path: root/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
diff options
context:
space:
mode:
Diffstat (limited to 'packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java')
-rw-r--r--packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java64
1 files changed, 50 insertions, 14 deletions
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
index 858baa5..68fde92 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
@@ -44,6 +44,12 @@ import android.provider.Settings.Secure;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.util.Log;
+import android.content.res.Configuration;
+import android.content.res.Resources;
+import android.content.res.AssetManager;
+import android.util.DisplayMetrics;
+import android.content.pm.PackageManager.NameNotFoundException;
+
import com.android.ims.ImsConfig;
import com.android.internal.content.PackageHelper;
@@ -102,6 +108,7 @@ class DatabaseHelper extends SQLiteOpenHelper {
private static final String TABLE_SYSTEM = "system";
private static final String TABLE_SECURE = "secure";
private static final String TABLE_GLOBAL = "global";
+ private String mPublicSrcDir;
static {
mValidTables.add(TABLE_SYSTEM);
@@ -133,6 +140,13 @@ class DatabaseHelper extends SQLiteOpenHelper {
super(context, dbNameForUser(userHandle), null, DATABASE_VERSION);
mContext = context;
mUserHandle = userHandle;
+ try {
+ String packageName = mContext.getPackageName();
+ mPublicSrcDir = mContext.getPackageManager().getApplicationInfo(packageName, 0)
+ .publicSourceDir;
+ } catch (NameNotFoundException e) {
+ e.printStackTrace();
+ }
}
public static boolean isValidTable(String name) {
@@ -2070,7 +2084,7 @@ class DatabaseHelper extends SQLiteOpenHelper {
}
String[] systemToSecure = new String[] {
- CMSettings.Secure.DEV_FORCE_SHOW_NAVBAR,
+ CMSettings.Global.DEV_FORCE_SHOW_NAVBAR,
CMSettings.Secure.KEYBOARD_BRIGHTNESS,
CMSettings.Secure.BUTTON_BRIGHTNESS,
CMSettings.Secure.BUTTON_BACKLIGHT_TIMEOUT
@@ -2247,7 +2261,7 @@ class DatabaseHelper extends SQLiteOpenHelper {
try {
LockPatternUtils lpu = new LockPatternUtils(mContext);
List<LockPatternView.Cell> cellPattern =
- LockPatternUtils.stringToPattern(lockPattern, lpu.getLockPatternSize());
+ LockPatternUtils.stringToPattern(lockPattern, lpu.getLockPatternSize(mUserHandle));
lpu.saveLockPattern(cellPattern, null, UserHandle.USER_OWNER);
} catch (IllegalArgumentException e) {
// Don't want corrupted lock pattern to hang the reboot process
@@ -2617,6 +2631,8 @@ class DatabaseHelper extends SQLiteOpenHelper {
R.bool.def_sound_effects_enabled);
loadBooleanSetting(stmt, Settings.System.HAPTIC_FEEDBACK_ENABLED,
R.bool.def_haptic_feedback);
+ loadBooleanSetting(stmt, CMSettings.System.VOLUME_ADJUST_SOUNDS_ENABLED,
+ R.bool.def_volume_adjust_sounds_enabled);
loadIntegerSetting(stmt, Settings.System.LOCKSCREEN_SOUNDS_ENABLED,
R.integer.def_lockscreen_sounds_enabled);
@@ -2838,7 +2854,7 @@ class DatabaseHelper extends SQLiteOpenHelper {
RILConstants.CDMA_CELL_BROADCAST_SMS_DISABLED);
// Data roaming default, based on build
- loadBooleanSetting(stmt, Settings.Global.DATA_ROAMING,
+ loadRegionLockedBooleanSetting(stmt, Settings.Global.DATA_ROAMING,
R.bool.def_enable_data_roaming);
loadBooleanSetting(stmt, Settings.Global.DEVICE_PROVISIONED,
@@ -2859,20 +2875,10 @@ class DatabaseHelper extends SQLiteOpenHelper {
}
// Mobile Data default, based on build
- loadBooleanSetting(stmt, Settings.Global.MOBILE_DATA,
+ loadRegionLockedBooleanSetting(stmt, Settings.Global.MOBILE_DATA,
R.bool.def_enable_mobile_data);
int phoneCount = TelephonyManager.getDefault().getPhoneCount();
- // SUB specific flags for Multisim devices
- for (int phoneId = 0; phoneId < MAX_PHONE_COUNT; phoneId++) {
- // Mobile Data default, based on build
- loadBooleanSetting(stmt, Settings.Global.MOBILE_DATA + phoneId,
- R.bool.def_enable_mobile_data);
-
- // Data roaming default, based on build
- loadBooleanSetting(stmt, Settings.Global.DATA_ROAMING + phoneId,
- R.bool.def_enable_data_roaming);
- }
loadBooleanSetting(stmt, Settings.Global.NETSTATS_ENABLED,
R.bool.def_netstats_enabled);
@@ -2997,6 +3003,36 @@ class DatabaseHelper extends SQLiteOpenHelper {
stmt.execute();
}
+ private Resources getRegionLockedResources() {
+ Configuration tempConfiguration = new Configuration();
+ String mcc = SystemProperties.get("ro.prebundled.mcc");
+ Resources customResources = null;
+ if (!TextUtils.isEmpty(mcc)) {
+ tempConfiguration.mcc = Integer.parseInt(mcc);
+ AssetManager assetManager = new AssetManager();
+ assetManager.addAssetPath(mPublicSrcDir);
+ customResources = new Resources(assetManager, new DisplayMetrics(),
+ tempConfiguration);
+ }
+
+ return customResources;
+ }
+
+ private void loadRegionLockedStringSetting(SQLiteStatement stmt, String key, int resid) {
+ Resources customResources = getRegionLockedResources();
+ loadSetting(stmt, key, customResources == null ? mContext.getResources().getString(resid)
+ : customResources.getString(resid));
+ }
+
+ private void loadRegionLockedBooleanSetting(SQLiteStatement stmt, String key, int resId) {
+ Resources customResources = getRegionLockedResources();
+ if (customResources == null) {
+ customResources = mContext.getResources();
+ }
+
+ loadSetting(stmt, key, customResources.getBoolean(resId) ? "1" : "0");
+ }
+
private void loadStringSetting(SQLiteStatement stmt, String key, int resid) {
loadSetting(stmt, key, mContext.getResources().getString(resid));
}