From 0d9d1ab12eabd126324292a8851e56f46274c29a Mon Sep 17 00:00:00 2001 From: Adnan Begovic Date: Wed, 20 Jan 2016 13:16:31 -0800 Subject: CMSettings: Introduce concept of protected apps managers. TICKET: CYNGNOS-84 Change-Id: I06245b0a69eea3474c1c093c5843bd59b5c53a80 --- .../CMSettingsProvider/res/values/defaults.xml | 4 +++ .../cyanogenmod/cmsettings/CMDatabaseHelper.java | 32 +++++++++++++++++++++- 2 files changed, 35 insertions(+), 1 deletion(-) (limited to 'packages') diff --git a/packages/CMSettingsProvider/res/values/defaults.xml b/packages/CMSettingsProvider/res/values/defaults.xml index 79f1b78..a503e5b 100644 --- a/packages/CMSettingsProvider/res/values/defaults.xml +++ b/packages/CMSettingsProvider/res/values/defaults.xml @@ -87,6 +87,10 @@ false + false + + com.android.settings|com.android.launcher3|com.cyanogenmod.trebuchet + diff --git a/packages/CMSettingsProvider/src/org/cyanogenmod/cmsettings/CMDatabaseHelper.java b/packages/CMSettingsProvider/src/org/cyanogenmod/cmsettings/CMDatabaseHelper.java index 713cad3..f7795d1 100644 --- a/packages/CMSettingsProvider/src/org/cyanogenmod/cmsettings/CMDatabaseHelper.java +++ b/packages/CMSettingsProvider/src/org/cyanogenmod/cmsettings/CMDatabaseHelper.java @@ -46,7 +46,7 @@ public class CMDatabaseHelper extends SQLiteOpenHelper{ private static final boolean LOCAL_LOGV = false; private static final String DATABASE_NAME = "cmsettings.db"; - private static final int DATABASE_VERSION = 2; + private static final int DATABASE_VERSION = 3; static class CMTableNames { static final String TABLE_SYSTEM = "system"; @@ -168,6 +168,22 @@ public class CMDatabaseHelper extends SQLiteOpenHelper{ } } + if (upgradeVersion < 3) { + db.beginTransaction(); + SQLiteStatement stmt = null; + try { + stmt = db.compileStatement("INSERT INTO secure(name,value)" + + " VALUES(?,?);"); + loadStringSetting(stmt, CMSettings.Secure.PROTECTED_COMPONENT_MANAGERS, + R.string.def_protected_component_managers); + db.setTransactionSuccessful(); + } finally { + if (stmt != null) stmt.close(); + db.endTransaction(); + } + upgradeVersion = 3; + } + // *** Remember to update DATABASE_VERSION above! if (upgradeVersion < newVersion) { @@ -239,6 +255,10 @@ public class CMDatabaseHelper extends SQLiteOpenHelper{ loadBooleanSetting(db, CMTableNames.TABLE_SECURE, CMSettings.Secure.LOCKSCREEN_VISUALIZER_ENABLED, R.bool.def_lockscreen_visualizer); + + loadStringSetting(db, CMTableNames.TABLE_SECURE, + CMSettings.Secure.PROTECTED_COMPONENT_MANAGERS, + R.string.def_protected_component_managers); } private void loadSystemSettings(SQLiteDatabase db) { @@ -384,4 +404,14 @@ public class CMDatabaseHelper extends SQLiteOpenHelper{ db.insertWithOnConflict(tableName, null, contentValues, SQLiteDatabase.CONFLICT_IGNORE); } + + private void loadSetting(SQLiteStatement stmt, String key, Object value) { + stmt.bindString(1, key); + stmt.bindString(2, value.toString()); + stmt.execute(); + } + + private void loadStringSetting(SQLiteStatement stmt, String key, int resid) { + loadSetting(stmt, key, mContext.getResources().getString(resid)); + } } -- cgit v1.1