mirror of https://github.com/tasks/tasks
Automatically import Android AutoBackup data
parent
e119fb34f0
commit
59a722f251
@ -0,0 +1,49 @@
|
|||||||
|
package org.tasks.backup;
|
||||||
|
|
||||||
|
import android.app.backup.BackupAgentHelper;
|
||||||
|
import android.app.backup.BackupDataInput;
|
||||||
|
import android.app.backup.FileBackupHelper;
|
||||||
|
import android.net.Uri;
|
||||||
|
import android.os.ParcelFileDescriptor;
|
||||||
|
import com.todoroo.astrid.backup.BackupConstants;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import javax.inject.Inject;
|
||||||
|
import org.tasks.injection.InjectingApplication;
|
||||||
|
import timber.log.Timber;
|
||||||
|
|
||||||
|
public class TasksBackupAgent extends BackupAgentHelper {
|
||||||
|
|
||||||
|
private static final String BACKUP_KEY = "backup";
|
||||||
|
|
||||||
|
@Inject TasksJsonImporter importer;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate() {
|
||||||
|
((InjectingApplication) getApplicationContext()).getComponent().inject(this);
|
||||||
|
|
||||||
|
addHelper(BACKUP_KEY, new FileBackupHelper(this, BackupConstants.INTERNAL_BACKUP));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onRestore(BackupDataInput data, int appVersionCode, ParcelFileDescriptor newState)
|
||||||
|
throws IOException {
|
||||||
|
super.onRestore(data, appVersionCode, newState);
|
||||||
|
|
||||||
|
File backup =
|
||||||
|
new File(
|
||||||
|
String.format(
|
||||||
|
"%s/%s", getFilesDir().getAbsolutePath(), BackupConstants.INTERNAL_BACKUP));
|
||||||
|
|
||||||
|
if (backup.exists()) {
|
||||||
|
importer.importTasks(this, Uri.fromFile(backup), null);
|
||||||
|
} else {
|
||||||
|
Timber.w("%s not found", backup.getAbsolutePath());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onQuotaExceeded(long backupDataBytes, long quotaBytes) {
|
||||||
|
Timber.e("onQuotaExceeded(%s, %s)", backupDataBytes, quotaBytes);
|
||||||
|
}
|
||||||
|
}
|
@ -1,9 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<full-backup-content>
|
|
||||||
<exclude
|
|
||||||
domain="sharedpref"
|
|
||||||
path="evernote_jobs.xml"/>
|
|
||||||
<exclude
|
|
||||||
domain="database"
|
|
||||||
path="evernote_jobs.db"/>
|
|
||||||
</full-backup-content>
|
|
@ -1,4 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||||
<string name="app_name" tools:ignore="PrivateResource">Tasks</string>
|
<string name="app_name" tools:ignore="PrivateResource">Tasks</string>
|
||||||
|
<string name="backup_api_key">AEdPqrEAAAAI49v5bBusi_bq1bgLBB1LIsepNV0eBrFkQrBZkw</string>
|
||||||
</resources>
|
</resources>
|
Loading…
Reference in New Issue