Fix null pointer exceptions on backup import

pull/513/head
Alex Baker 8 years ago
parent be048c8365
commit 2884b105af

@ -20,10 +20,10 @@ import org.tasks.data.UserActivity;
class BackupContainer {
final List<TaskBackup> tasks;
final List<TagData> tags;
final List<Filter> filters;
final List<GoogleTaskList> googleTaskLists;
private final List<TaskBackup> tasks;
private final List<TagData> tags;
private final List<Filter> filters;
private final List<GoogleTaskList> googleTaskLists;
private final List<GoogleTaskAccount> googleTaskAccounts;
private final List<CaldavAccount> caldavAccounts;
private final List<CaldavCalendar> caldavCalendars;
@ -45,6 +45,22 @@ class BackupContainer {
this.caldavCalendars = caldavCalendars;
}
public List<TaskBackup> getTasks() {
return tasks == null ? emptyList() : tasks;
}
public List<TagData> getTags() {
return tags == null ? emptyList() : tags;
}
public List<Filter> getFilters() {
return filters == null ? emptyList() : filters;
}
public List<GoogleTaskList> getGoogleTaskLists() {
return googleTaskLists == null ? emptyList() : googleTaskLists;
}
public List<CaldavAccount> getCaldavAccounts() {
return caldavAccounts == null ? emptyList() : caldavAccounts;
}

@ -128,7 +128,7 @@ public class TasksJsonImporter {
try {
JsonElement data = input.get("data");
BackupContainer backupContainer = gson.fromJson(data, BackupContainer.class);
for (TagData tagData : backupContainer.tags) {
for (TagData tagData : backupContainer.getTags()) {
if (tagDataDao.getByUuid(tagData.getRemoteId()) == null) {
tagDataDao.createNew(tagData);
}
@ -138,12 +138,12 @@ public class TasksJsonImporter {
googleTaskListDao.insert(googleTaskAccount);
}
}
for (GoogleTaskList googleTaskList : backupContainer.googleTaskLists) {
for (GoogleTaskList googleTaskList : backupContainer.getGoogleTaskLists()) {
if (googleTaskListDao.getByRemoteId(googleTaskList.getRemoteId()) == null) {
googleTaskListDao.insert(googleTaskList);
}
}
for (Filter filter : backupContainer.filters) {
for (Filter filter : backupContainer.getFilters()) {
if (filterDao.getByName(filter.getTitle()) == null) {
filterDao.insert(filter);
}
@ -158,7 +158,7 @@ public class TasksJsonImporter {
caldavDao.insert(calendar);
}
}
for (BackupContainer.TaskBackup backup : backupContainer.tasks) {
for (BackupContainer.TaskBackup backup : backupContainer.getTasks()) {
taskCount++;
setProgressMessage(activity.getString(R.string.import_progress_read, taskCount));
Task task = backup.task;

Loading…
Cancel
Save