Skip to content

Commit f460dd6

Browse files
committed
Update backup
1 parent fd9a2b0 commit f460dd6

File tree

1 file changed

+10
-9
lines changed
  • app/src/main/java/one/mixin/android/util/backup

1 file changed

+10
-9
lines changed

app/src/main/java/one/mixin/android/util/backup/Backup.kt

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import one.mixin.android.extension.getDisplayPath
2323
import one.mixin.android.extension.getLegacyBackupPath
2424
import one.mixin.android.extension.getMediaPath
2525
import one.mixin.android.extension.getOldBackupPath
26+
import one.mixin.android.util.database.databaseFile
2627
import one.mixin.android.util.database.dbDir
2728
import timber.log.Timber
2829
import java.io.File
@@ -37,7 +38,7 @@ suspend fun backup(
3738
context: Context,
3839
callback: (Result) -> Unit,
3940
) = coroutineScope {
40-
val dbFile = context.getDatabasePath(DB_NAME) ?: dbDir(context)
41+
val dbFile = databaseFile(context)
4142
if (dbFile == null) {
4243
withContext(Dispatchers.Main) {
4344
Timber.e("No database files found")
@@ -194,15 +195,18 @@ suspend fun backupApi29(
194195
}
195196
return@withContext
196197
}
197-
val dbFile = context.getDatabasePath(DB_NAME) ?: dbDir(context)
198-
if (dbFile == null) {
198+
val dbFile = databaseFile(context)
199+
if (!dbFile.exists() && dbFile.length() <= 0) {
199200
Timber.e("No database files found")
200201
withContext(Dispatchers.Main) {
201202
callback(Result.NOT_FOUND)
202203
}
203204
return@withContext
204205
}
205206
val tmpFile = File(context.getMediaPath(), DB_NAME)
207+
if (tmpFile.parentFile?.exists() != true) {
208+
tmpFile.parentFile?.mkdirs()
209+
}
206210
try {
207211
val inputStream = dbFile.inputStream()
208212
MixinDatabase.checkPoint()
@@ -260,10 +264,7 @@ suspend fun restore(
260264
val target =
261265
internalFindBackup(context, coroutineContext)
262266
?: return@withContext callback(Result.NOT_FOUND)
263-
var file = context.getDatabasePath(DB_NAME)
264-
if (!file.exists()){
265-
file = dbDir(context)
266-
}
267+
var file = dbDir(context)
267268
try {
268269
if (file.exists()) {
269270
file.delete()
@@ -313,7 +314,7 @@ suspend fun restoreApi29(
313314
}
314315
return@withContext
315316
}
316-
val file = dbDir(context) ?: return@withContext
317+
val file = databaseFile(context)
317318
try {
318319
val inputStream = context.contentResolver.openInputStream(backupDb.uri)
319320
if (inputStream == null) {
@@ -411,7 +412,7 @@ suspend fun findBackupApi29(
411412
return@withContext null
412413
}
413414
val backupChildDirectory = backupDirectory.findFile(BACKUP_DIR_NAME)
414-
val dbFile = backupChildDirectory?.findFile("mixin.db")
415+
val dbFile = backupChildDirectory?.findFile(DB_NAME)
415416
if (backupChildDirectory == null || !backupChildDirectory.exists() || backupChildDirectory.length() <= 0 || dbFile == null || !dbFile.exists() || dbFile.length() <= 0) {
416417
return@withContext null
417418
}

0 commit comments

Comments
 (0)