mirror of
https://github.com/M66B/FairEmail.git
synced 2026-04-01 22:56:33 +02:00
Added debug option to disable emergency file
This commit is contained in:
@@ -267,35 +267,42 @@ public abstract class DB extends RoomDatabase {
|
||||
}
|
||||
|
||||
static void createEmergencyBackup(Context context) {
|
||||
Log.i("Creating emergency backup");
|
||||
try {
|
||||
DB db = DB.getInstance(context);
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
boolean emergency_file = prefs.getBoolean("emergency_file", true);
|
||||
|
||||
JSONArray jaccounts = new JSONArray();
|
||||
List<EntityAccount> accounts = db.account().getAccounts();
|
||||
for (EntityAccount account : accounts) {
|
||||
JSONObject jaccount = account.toJSON();
|
||||
File emergency = new File(context.getFilesDir(), "emergency.json");
|
||||
|
||||
JSONArray jfolders = new JSONArray();
|
||||
List<EntityFolder> folders = db.folder().getFolders(account.id, false, true);
|
||||
for (EntityFolder folder : folders)
|
||||
jfolders.put(folder.toJSON());
|
||||
jaccount.put("folders", jfolders);
|
||||
if (emergency_file) {
|
||||
Log.i("Creating emergency backup");
|
||||
try {
|
||||
DB db = DB.getInstance(context);
|
||||
|
||||
JSONArray jidentities = new JSONArray();
|
||||
List<EntityIdentity> identities = db.identity().getIdentities(account.id);
|
||||
for (EntityIdentity identity : identities)
|
||||
jidentities.put(identity.toJSON());
|
||||
jaccount.put("identities", jidentities);
|
||||
JSONArray jaccounts = new JSONArray();
|
||||
List<EntityAccount> accounts = db.account().getAccounts();
|
||||
for (EntityAccount account : accounts) {
|
||||
JSONObject jaccount = account.toJSON();
|
||||
|
||||
jaccounts.put(jaccount);
|
||||
JSONArray jfolders = new JSONArray();
|
||||
List<EntityFolder> folders = db.folder().getFolders(account.id, false, true);
|
||||
for (EntityFolder folder : folders)
|
||||
jfolders.put(folder.toJSON());
|
||||
jaccount.put("folders", jfolders);
|
||||
|
||||
JSONArray jidentities = new JSONArray();
|
||||
List<EntityIdentity> identities = db.identity().getIdentities(account.id);
|
||||
for (EntityIdentity identity : identities)
|
||||
jidentities.put(identity.toJSON());
|
||||
jaccount.put("identities", jidentities);
|
||||
|
||||
jaccounts.put(jaccount);
|
||||
}
|
||||
|
||||
Helper.writeText(emergency, jaccounts.toString(2));
|
||||
} catch (Throwable ex) {
|
||||
Log.e(ex);
|
||||
}
|
||||
|
||||
File emergency = new File(context.getFilesDir(), "emergency.json");
|
||||
Helper.writeText(emergency, jaccounts.toString(2));
|
||||
} catch (Throwable ex) {
|
||||
Log.e(ex);
|
||||
}
|
||||
} else
|
||||
emergency.delete();
|
||||
}
|
||||
|
||||
private static void checkEmergencyBackup(Context context) {
|
||||
|
||||
Reference in New Issue
Block a user