summaryrefslogtreecommitdiffstats
path: root/packages/SettingsProvider/src
diff options
context:
space:
mode:
authorWolfgang Wiedmeyer <wolfgit@wiedmeyer.de>2016-12-12 15:03:40 +0100
committerWolfgang Wiedmeyer <wolfgit@wiedmeyer.de>2016-12-12 15:03:40 +0100
commitae08d65dc25290d8d411ff44d7eb07f4cb74e8c6 (patch)
tree1afe8d827942011eafc2afebd0ae158b24f8b38e /packages/SettingsProvider/src
parent90e1e6b2e9b79d444545d729561cf7fc099a8f10 (diff)
parent2df190c3a2ed1e339bb34c175fa227f90e7cbb02 (diff)
downloadframeworks_base-ae08d65dc25290d8d411ff44d7eb07f4cb74e8c6.zip
frameworks_base-ae08d65dc25290d8d411ff44d7eb07f4cb74e8c6.tar.gz
frameworks_base-ae08d65dc25290d8d411ff44d7eb07f4cb74e8c6.tar.bz2
Merge branch 'cm-13.0' of https://github.com/CyanogenMod/android_frameworks_base into replicant-6.0
Diffstat (limited to 'packages/SettingsProvider/src')
-rw-r--r--packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java64
-rw-r--r--packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java18
2 files changed, 68 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));
}
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
index 5c871ca..c075e0b 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
@@ -2023,6 +2023,7 @@ public class SettingsProvider extends ContentProvider {
if ((oldVersion == newVersion || oldVersion == CM_SETTINGS_DB_VERSION)) {
if (oldVersion == CM_SETTINGS_DB_VERSION && !hasReplayedDefaultsFromL()) {
forceReplayAOSPDefaults(mUserId);
+ forceMigrateProfilesEnabled(mUserId);
setDefaultsReplayedFromLFlag();
}
return;
@@ -2221,6 +2222,23 @@ public class SettingsProvider extends ContentProvider {
}
}
+ private void forceMigrateProfilesEnabled(int userId) {
+ final SettingsState systemSettings = getSystemSettingsLocked(userId);
+ final Setting settingLocked = systemSettings.getSettingLocked(
+ CMSettings.System.SYSTEM_PROFILES_ENABLED);
+ if (settingLocked != null) {
+ final String value = settingLocked.getValue();
+ if (value != null) {
+ CMSettings.System.putStringForUser(getContext().getContentResolver(),
+ CMSettings.System.SYSTEM_PROFILES_ENABLED,
+ value,
+ userId);
+ systemSettings.deleteSettingLocked(
+ CMSettings.System.SYSTEM_PROFILES_ENABLED);
+ }
+ }
+ }
+
}
}
}