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