From 8c4dc02ac4aa86de4b17a6f65aef79f130d66b21 Mon Sep 17 00:00:00 2001 From: zyr3x Date: Thu, 27 Jun 2013 16:00:15 +0200 Subject: [PATCH] Add Profiles --- .../main/java/com/aokp/backup/backup/JBMR1Backup.java | 5 +++++ .../com/aokp/backup/categories/JBMR1Categories.java | 5 ++++- .../java/com/aokp/backup/restore/JBMR1Restore.java | 11 +++++++++++ .../main/java/com/aokp/backup/restore/Restore.java | 7 ++++++- app/src/main/res/values/settings_jbmr1.xml | 6 ++++++ app/src/main/res/values/strings.xml | 1 + 6 files changed, 33 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/aokp/backup/backup/JBMR1Backup.java b/app/src/main/java/com/aokp/backup/backup/JBMR1Backup.java index 89765db..ccb6ddf 100644 --- a/app/src/main/java/com/aokp/backup/backup/JBMR1Backup.java +++ b/app/src/main/java/com/aokp/backup/backup/JBMR1Backup.java @@ -114,6 +114,11 @@ public boolean shouldHandleSpecialCase(String setting) { } } return true; + } else if (setting.equals("profile_xml")) { + Shell.SU.run( + "cp /data/system/profiles.xml " + + outDir); + return true; } return false; diff --git a/app/src/main/java/com/aokp/backup/categories/JBMR1Categories.java b/app/src/main/java/com/aokp/backup/categories/JBMR1Categories.java index 01c7592..790cd2b 100644 --- a/app/src/main/java/com/aokp/backup/categories/JBMR1Categories.java +++ b/app/src/main/java/com/aokp/backup/categories/JBMR1Categories.java @@ -18,7 +18,8 @@ public class JBMR1Categories extends Categories { public static final int CAT_SB_SIGNAL = 9; public static final int CAT_RIBBONS = 10; public static final int CAT_QUIET_HOURS = 11; - public static final int NUM_CATS = 12; + public static final int CAT_PROFILE = 12; + public static final int NUM_CATS = 13; @Override public String[] getSettingsCategory(Context c, int cat) { @@ -48,6 +49,8 @@ public String[] getSettingsCategory(Context c, int cat) { return res.getStringArray(R.array.jbmr1_cat_ribbons); case CAT_QUIET_HOURS: return res.getStringArray(R.array.jbmr1_cat_quiet_hours); + case CAT_PROFILE: + return res.getStringArray(R.array.jbmr1_cat_profiles); default: return null; } diff --git a/app/src/main/java/com/aokp/backup/restore/JBMR1Restore.java b/app/src/main/java/com/aokp/backup/restore/JBMR1Restore.java index ff67d1a..5fdb1e2 100644 --- a/app/src/main/java/com/aokp/backup/restore/JBMR1Restore.java +++ b/app/src/main/java/com/aokp/backup/restore/JBMR1Restore.java @@ -141,9 +141,20 @@ public boolean shouldHandleSpecialCase(String setting) { } else { Log.e(TAG, "Error getting RC user"); } + return true; + } else if (setting.equals("profile_xml")) { + String outDir = Tools.getBackupDirectory(mContext, name).getAbsolutePath(); + File source = new File(outDir, "profiles.xml"); + File target = new File(dsFileDir, "profiles.xml"); + Shell.SU.run("rm " + target.getAbsolutePath()); + Shell.SU.run("cp " + source.getAbsolutePath() + " " + + target.getAbsolutePath()); + Tools.chmodAndOwn(target, "0660", rcUser); + return true; } + return false; } } diff --git a/app/src/main/java/com/aokp/backup/restore/Restore.java b/app/src/main/java/com/aokp/backup/restore/Restore.java index 50cfc5f..c7b8eb2 100644 --- a/app/src/main/java/com/aokp/backup/restore/Restore.java +++ b/app/src/main/java/com/aokp/backup/restore/Restore.java @@ -46,7 +46,7 @@ public abstract class Restore { String rcUser = null; File rcFilesDir; File rcPrefsDir; - + File dsFileDir; int restoreResult = 0; public Restore(Context c) { @@ -72,6 +72,11 @@ public int restoreSettings(final String name, final boolean[] catsToRestore) { Shell.SU.run("mkdir " + rcFilesDir.getAbsolutePath()); Tools.chmodAndOwn(rcFilesDir, "0660", rcUser); } + dsFileDir = new File("/data/system/"); + if (!dsFileDir.exists()) { + Shell.SU.run("mkdir " + dsFileDir.getAbsolutePath()); + Tools.chmodAndOwn(dsFileDir, "0660", rcUser); + } Log.e(TAG, "setup files"); rcPrefsDir = new File("/data/data/com.aokp.romcontrol/shared_prefs/"); if (!rcPrefsDir.exists()) { diff --git a/app/src/main/res/values/settings_jbmr1.xml b/app/src/main/res/values/settings_jbmr1.xml index 414cedd..8ab6f49 100644 --- a/app/src/main/res/values/settings_jbmr1.xml +++ b/app/src/main/res/values/settings_jbmr1.xml @@ -14,6 +14,7 @@ Statusbar Signal Ribbons Quiet hours + Profiles recent_kill_all_button @@ -350,4 +351,9 @@ quiet_hours_still quiet_hours_dim + + + profile_enabled + profile_xml + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 7160ed2..5ac4ac9 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -29,6 +29,7 @@ Statusbar Battery Statusbar Signal Custom backlight Settings + Profiles