|
|
@ -2,13 +2,11 @@ package org.isoron.uhabits.database
|
|
|
|
|
|
|
|
|
|
|
|
import android.content.Context
|
|
|
|
import android.content.Context
|
|
|
|
import android.net.Uri
|
|
|
|
import android.net.Uri
|
|
|
|
|
|
|
|
import android.util.Log
|
|
|
|
import androidx.work.CoroutineWorker
|
|
|
|
import androidx.work.CoroutineWorker
|
|
|
|
import androidx.work.WorkerParameters
|
|
|
|
import androidx.work.WorkerParameters
|
|
|
|
import org.isoron.uhabits.HabitsApplication
|
|
|
|
import org.isoron.uhabits.HabitsApplication
|
|
|
|
import org.isoron.uhabits.utils.DatabaseUtils
|
|
|
|
import org.isoron.uhabits.utils.DatabaseUtils
|
|
|
|
import org.isoron.uhabits.utils.UriUtils
|
|
|
|
|
|
|
|
import java.io.File
|
|
|
|
|
|
|
|
import java.io.IOException
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class PublicBackupWorker(
|
|
|
|
class PublicBackupWorker(
|
|
|
|
appContext: Context,
|
|
|
|
appContext: Context,
|
|
|
@ -19,13 +17,13 @@ class PublicBackupWorker(
|
|
|
|
val app = applicationContext as HabitsApplication
|
|
|
|
val app = applicationContext as HabitsApplication
|
|
|
|
val prefs = app.component.preferences
|
|
|
|
val prefs = app.component.preferences
|
|
|
|
val uriString = prefs.publicBackupUri ?: return Result.failure()
|
|
|
|
val uriString = prefs.publicBackupUri ?: return Result.failure()
|
|
|
|
val path = UriUtils.getPathFromTreeUri(applicationContext, Uri.parse(uriString))
|
|
|
|
val folderUri = Uri.parse(uriString)
|
|
|
|
?: return Result.failure()
|
|
|
|
|
|
|
|
return try {
|
|
|
|
return try {
|
|
|
|
val addDate = prefs.isPublicBackupAddDateEnabled
|
|
|
|
val addDate = prefs.isPublicBackupAddDateEnabled
|
|
|
|
DatabaseUtils.saveDatabaseCopy(applicationContext, File(path), addDate)
|
|
|
|
DatabaseUtils.saveDatabaseCopy(applicationContext, folderUri, addDate)
|
|
|
|
Result.success()
|
|
|
|
Result.success()
|
|
|
|
} catch (e: IOException) {
|
|
|
|
} catch (e: Exception) {
|
|
|
|
|
|
|
|
Log.e("PublicBackupWorker", "backup failed", e)
|
|
|
|
Result.retry()
|
|
|
|
Result.retry()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|