|
@@ -40,6 +40,13 @@ object AppWebDav {
|
|
|
return url
|
|
return url
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ private val backupFileName: String
|
|
|
|
|
+ get() {
|
|
|
|
|
+ val backupDate = SimpleDateFormat("yyyy-MM-dd", Locale.getDefault())
|
|
|
|
|
+ .format(Date(System.currentTimeMillis()))
|
|
|
|
|
+ return "backup${backupDate}.zip"
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
@Throws(Exception::class)
|
|
@Throws(Exception::class)
|
|
|
suspend fun initWebDav(): Boolean {
|
|
suspend fun initWebDav(): Boolean {
|
|
|
val account = appCtx.getPrefString(PreferKey.webDavAccount)
|
|
val account = appCtx.getPrefString(PreferKey.webDavAccount)
|
|
@@ -105,6 +112,11 @@ object AppWebDav {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ suspend fun hasBackUp(): Boolean {
|
|
|
|
|
+ val url = "${rootWebDavUrl}${backupFileName}"
|
|
|
|
|
+ return WebDav(url).exists()
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
suspend fun backUpWebDav(path: String) {
|
|
suspend fun backUpWebDav(path: String) {
|
|
|
try {
|
|
try {
|
|
|
if (initWebDav() && NetworkUtils.isAvailable()) {
|
|
if (initWebDav() && NetworkUtils.isAvailable()) {
|
|
@@ -114,9 +126,7 @@ object AppWebDav {
|
|
|
}
|
|
}
|
|
|
FileUtils.deleteFile(zipFilePath)
|
|
FileUtils.deleteFile(zipFilePath)
|
|
|
if (ZipUtils.zipFiles(paths, zipFilePath)) {
|
|
if (ZipUtils.zipFiles(paths, zipFilePath)) {
|
|
|
- val backupDate = SimpleDateFormat("yyyy-MM-dd", Locale.getDefault())
|
|
|
|
|
- .format(Date(System.currentTimeMillis()))
|
|
|
|
|
- val putUrl = "${rootWebDavUrl}backup${backupDate}.zip"
|
|
|
|
|
|
|
+ val putUrl = "${rootWebDavUrl}${backupFileName}"
|
|
|
WebDav(putUrl).upload(zipFilePath)
|
|
WebDav(putUrl).upload(zipFilePath)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|