aboutsummaryrefslogtreecommitdiffstats
path: root/packages
diff options
context:
space:
mode:
authorAdnan Begovic <adnan@cyngn.com>2015-12-14 14:11:32 -0800
committerGerrit Code Review <gerrit@cyanogenmod.org>2015-12-14 14:21:08 -0800
commitbe9f6b8f47b06a0dfdba79174ecb5690606c887a (patch)
tree3911c0a7c53942e9300f775b87bd6d2b38b150d4 /packages
parent5acf08c9cff4e23addd4d3ab39f8cbfae87c701f (diff)
downloadvendor_cmsdk-be9f6b8f47b06a0dfdba79174ecb5690606c887a.zip
vendor_cmsdk-be9f6b8f47b06a0dfdba79174ecb5690606c887a.tar.gz
vendor_cmsdk-be9f6b8f47b06a0dfdba79174ecb5690606c887a.tar.bz2
CMSettingsProvider: Split default load, don't load global for non-owner.
Any "CALL" into the CMSettingsProvider on a new user triggers the load default settings mechanism which may lead to attempting to load "global" settings for non owner which is impossible. Change-Id: Ic8535e3c211aeaccfd3d72c3f9b11eef4d9087b8
Diffstat (limited to 'packages')
-rw-r--r--packages/CMSettingsProvider/src/org/cyanogenmod/cmsettings/CMDatabaseHelper.java32
1 files changed, 23 insertions, 9 deletions
diff --git a/packages/CMSettingsProvider/src/org/cyanogenmod/cmsettings/CMDatabaseHelper.java b/packages/CMSettingsProvider/src/org/cyanogenmod/cmsettings/CMDatabaseHelper.java
index 3b4e30c..4257c42 100644
--- a/packages/CMSettingsProvider/src/org/cyanogenmod/cmsettings/CMDatabaseHelper.java
+++ b/packages/CMSettingsProvider/src/org/cyanogenmod/cmsettings/CMDatabaseHelper.java
@@ -206,10 +206,15 @@ public class CMDatabaseHelper extends SQLiteOpenHelper{
* @param db The {@link SQLiteDatabase} to insert into.
*/
private void loadSettings(SQLiteDatabase db) {
- // System
- loadIntegerSetting(db, CMTableNames.TABLE_SYSTEM, CMSettings.System.QS_QUICK_PULLDOWN,
- R.integer.def_qs_quick_pulldown);
+ loadSystemSettings(db);
+ loadSecureSettings(db);
+ // The global table only exists for the 'owner' user
+ if (mUserHandle == UserHandle.USER_OWNER) {
+ loadGlobalSettings(db);
+ }
+ }
+ private void loadSecureSettings(SQLiteDatabase db) {
// Secure
loadBooleanSetting(db, CMTableNames.TABLE_SECURE, CMSettings.Secure.ADVANCED_MODE,
R.bool.def_advanced_mode);
@@ -231,7 +236,22 @@ public class CMDatabaseHelper extends SQLiteOpenHelper{
loadBooleanSetting(db, CMTableNames.TABLE_SECURE, CMSettings.Secure.STATS_COLLECTION,
R.bool.def_stats_collection);
+ }
+ private void loadSystemSettings(SQLiteDatabase db) {
+ // System
+ loadIntegerSetting(db, CMTableNames.TABLE_SYSTEM, CMSettings.System.QS_QUICK_PULLDOWN,
+ R.integer.def_qs_quick_pulldown);
+
+ loadIntegerSetting(db, CMTableNames.TABLE_SYSTEM, CMSettings.System.NOTIFICATION_LIGHT_BRIGHTNESS_LEVEL,
+ R.integer.def_notification_brightness_level);
+
+ loadBooleanSetting(db, CMTableNames.TABLE_SYSTEM, CMSettings.System.NOTIFICATION_LIGHT_MULTIPLE_LEDS_ENABLE,
+ R.bool.def_notification_multiple_leds);
+ }
+
+ private void loadGlobalSettings(SQLiteDatabase db) {
+ // Global
loadBooleanSetting(db, CMTableNames.TABLE_GLOBAL,
CMSettings.Global.POWER_NOTIFICATIONS_ENABLED,
R.bool.def_power_notifications_enabled);
@@ -243,12 +263,6 @@ public class CMDatabaseHelper extends SQLiteOpenHelper{
loadStringSetting(db, CMTableNames.TABLE_GLOBAL,
CMSettings.Global.POWER_NOTIFICATIONS_RINGTONE,
R.string.def_power_notifications_ringtone);
-
- loadIntegerSetting(db, CMTableNames.TABLE_SYSTEM, CMSettings.System.NOTIFICATION_LIGHT_BRIGHTNESS_LEVEL,
- R.integer.def_notification_brightness_level);
-
- loadBooleanSetting(db, CMTableNames.TABLE_SYSTEM, CMSettings.System.NOTIFICATION_LIGHT_MULTIPLE_LEDS_ENABLE,
- R.bool.def_notification_multiple_leds);
}
/**