diff options
author | Adnan Begovic <adnan@cyngn.com> | 2015-12-14 14:11:32 -0800 |
---|---|---|
committer | Gerrit Code Review <gerrit@cyanogenmod.org> | 2015-12-14 14:21:08 -0800 |
commit | be9f6b8f47b06a0dfdba79174ecb5690606c887a (patch) | |
tree | 3911c0a7c53942e9300f775b87bd6d2b38b150d4 /packages | |
parent | 5acf08c9cff4e23addd4d3ab39f8cbfae87c701f (diff) | |
download | vendor_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.java | 32 |
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); } /** |