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"?>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<string name="app_name" tools:ignore="PrivateResource">Tasks</string>
|
||||
<string name="backup_api_key">AEdPqrEAAAAI49v5bBusi_bq1bgLBB1LIsepNV0eBrFkQrBZkw</string>
|
||||
</resources>
|
Loading…
Reference in New Issue