|
|
@ -65,12 +65,10 @@ public class FairEmailBackupAgent extends BackupAgent {
|
|
|
|
|
|
|
|
|
|
|
|
EntityLog.log(this, "Backup start enabled=" + enabled);
|
|
|
|
EntityLog.log(this, "Backup start enabled=" + enabled);
|
|
|
|
|
|
|
|
|
|
|
|
if (!enabled)
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
JSONObject jroot = new JSONObject();
|
|
|
|
JSONObject jroot = new JSONObject();
|
|
|
|
jroot.put("version", 1);
|
|
|
|
jroot.put("version", 1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (enabled) {
|
|
|
|
JSONObject jsettings = new JSONObject();
|
|
|
|
JSONObject jsettings = new JSONObject();
|
|
|
|
jsettings.put("enabled", prefs.getBoolean("enabled", true));
|
|
|
|
jsettings.put("enabled", prefs.getBoolean("enabled", true));
|
|
|
|
jsettings.put("poll_interval", prefs.getInt("poll_interval", 0));
|
|
|
|
jsettings.put("poll_interval", prefs.getInt("poll_interval", 0));
|
|
|
@ -108,6 +106,7 @@ public class FairEmailBackupAgent extends BackupAgent {
|
|
|
|
Log.e(ex);
|
|
|
|
Log.e(ex);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
jroot.put("accounts", jaccounts);
|
|
|
|
jroot.put("accounts", jaccounts);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
byte[] dataBuf = jroot.toString().getBytes(StandardCharsets.UTF_8);
|
|
|
|
byte[] dataBuf = jroot.toString().getBytes(StandardCharsets.UTF_8);
|
|
|
|
String dataHash = Helper.sha256(dataBuf);
|
|
|
|
String dataHash = Helper.sha256(dataBuf);
|
|
|
@ -153,14 +152,11 @@ public class FairEmailBackupAgent extends BackupAgent {
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void onRestore(BackupDataInput data, int appVersionCode, ParcelFileDescriptor newState) {
|
|
|
|
public void onRestore(BackupDataInput data, int appVersionCode, ParcelFileDescriptor newState) {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
|
|
|
|
EntityLog.log(this, "Restore start version=" + appVersionCode);
|
|
|
|
|
|
|
|
|
|
|
|
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
|
|
|
|
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
|
|
|
|
boolean enabled = prefs.getBoolean("google_backup", BuildConfig.PLAY_STORE_RELEASE);
|
|
|
|
boolean enabled = prefs.getBoolean("google_backup", BuildConfig.PLAY_STORE_RELEASE);
|
|
|
|
|
|
|
|
|
|
|
|
EntityLog.log(this, "Restore start enabled=" + enabled + " version=" + appVersionCode);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!enabled)
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
while (data.readNextHeader()) {
|
|
|
|
while (data.readNextHeader()) {
|
|
|
|
String dataKey = data.getKey();
|
|
|
|
String dataKey = data.getKey();
|
|
|
|
int dataSize = data.getDataSize();
|
|
|
|
int dataSize = data.getDataSize();
|
|
|
@ -181,6 +177,11 @@ public class FairEmailBackupAgent extends BackupAgent {
|
|
|
|
JSONObject jroot = new JSONObject(new String(dataBuf, StandardCharsets.UTF_8));
|
|
|
|
JSONObject jroot = new JSONObject(new String(dataBuf, StandardCharsets.UTF_8));
|
|
|
|
EntityLog.log(this, "Restore version=" + jroot.optInt("version", 0));
|
|
|
|
EntityLog.log(this, "Restore version=" + jroot.optInt("version", 0));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!enabled || !jroot.has("accounts")) {
|
|
|
|
|
|
|
|
EntityLog.log(this, "Restore empty or disabled");
|
|
|
|
|
|
|
|
continue;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
SharedPreferences.Editor editor = prefs.edit();
|
|
|
|
SharedPreferences.Editor editor = prefs.edit();
|
|
|
|
JSONObject jsettings = jroot.getJSONObject("settings");
|
|
|
|
JSONObject jsettings = jroot.getJSONObject("settings");
|
|
|
|
editor.putBoolean("enabled", jsettings.optBoolean("enabled"));
|
|
|
|
editor.putBoolean("enabled", jsettings.optBoolean("enabled"));
|
|
|
|