From c09d0323e6e9fc14d508a24c26e1ea9a61d25f5d Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Thu, 30 May 2019 11:31:09 -0500 Subject: [PATCH] Ignore 404 error when getting drive folder --- app/src/main/java/org/tasks/jobs/DriveUploader.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/tasks/jobs/DriveUploader.java b/app/src/main/java/org/tasks/jobs/DriveUploader.java index fc8e6de2f..608b5785b 100644 --- a/app/src/main/java/org/tasks/jobs/DriveUploader.java +++ b/app/src/main/java/org/tasks/jobs/DriveUploader.java @@ -8,6 +8,7 @@ import android.net.Uri; import androidx.annotation.NonNull; import androidx.work.Data; import androidx.work.WorkerParameters; +import com.google.api.client.googleapis.json.GoogleJsonResponseException; import com.google.api.services.drive.model.File; import com.google.common.base.Strings; import java.io.IOException; @@ -77,7 +78,17 @@ public class DriveUploader extends InjectingWorker { private File getFolder() throws IOException { String folderId = preferences.getStringValue(R.string.p_google_drive_backup_folder); - File file = Strings.isNullOrEmpty(folderId) ? null : drive.getFile(folderId); + File file = null; + if (!Strings.isNullOrEmpty(folderId)) { + try { + file = drive.getFile(folderId); + } catch (GoogleJsonResponseException e) { + if (e.getStatusCode() != 404) { + throw e; + } + } + } + return file == null || file.getTrashed() ? drive.createFolder(FOLDER_NAME) : file; }