feat: 优化代码

pull/167/head
kunfei 5 years ago
parent 8395ad61f6
commit cc41f5130e
  1. 57
      app/src/main/java/io/legado/app/help/storage/Backup.kt
  2. 1
      app/src/main/java/io/legado/app/help/storage/OldBook.kt

@ -54,35 +54,37 @@ object Backup {
suspend fun backup(context: Context, path: String = legadoPath) { suspend fun backup(context: Context, path: String = legadoPath) {
context.putPrefLong(PreferKey.lastBackup, System.currentTimeMillis()) context.putPrefLong(PreferKey.lastBackup, System.currentTimeMillis())
withContext(IO) { withContext(IO) {
writeListToJson(App.db.bookDao().all, "bookshelf.json", backupPath) synchronized(this@Backup) {
writeListToJson(App.db.bookGroupDao().all, "bookGroup.json", backupPath) writeListToJson(App.db.bookDao().all, "bookshelf.json", backupPath)
writeListToJson(App.db.bookSourceDao().all, "bookSource.json", backupPath) writeListToJson(App.db.bookGroupDao().all, "bookGroup.json", backupPath)
writeListToJson(App.db.rssSourceDao().all, "rssSource.json", backupPath) writeListToJson(App.db.bookSourceDao().all, "bookSource.json", backupPath)
writeListToJson(App.db.rssStarDao().all, "rssStar.json", backupPath) writeListToJson(App.db.rssSourceDao().all, "rssSource.json", backupPath)
writeListToJson(App.db.replaceRuleDao().all, "replaceRule.json", backupPath) writeListToJson(App.db.rssStarDao().all, "rssStar.json", backupPath)
GSON.toJson(ReadBookConfig.configList)?.let { writeListToJson(App.db.replaceRuleDao().all, "replaceRule.json", backupPath)
FileUtils.createFileIfNotExist(backupPath + File.separator + ReadBookConfig.readConfigFileName) GSON.toJson(ReadBookConfig.configList)?.let {
.writeText(it) FileUtils.createFileIfNotExist(backupPath + File.separator + ReadBookConfig.readConfigFileName)
} .writeText(it)
Preferences.getSharedPreferences(App.INSTANCE, backupPath, "config")?.let { sp -> }
val edit = sp.edit() Preferences.getSharedPreferences(App.INSTANCE, backupPath, "config")?.let { sp ->
App.INSTANCE.defaultSharedPreferences.all.map { val edit = sp.edit()
when (val value = it.value) { App.INSTANCE.defaultSharedPreferences.all.map {
is Int -> edit.putInt(it.key, value) when (val value = it.value) {
is Boolean -> edit.putBoolean(it.key, value) is Int -> edit.putInt(it.key, value)
is Long -> edit.putLong(it.key, value) is Boolean -> edit.putBoolean(it.key, value)
is Float -> edit.putFloat(it.key, value) is Long -> edit.putLong(it.key, value)
is String -> edit.putString(it.key, value) is Float -> edit.putFloat(it.key, value)
else -> Unit is String -> edit.putString(it.key, value)
else -> Unit
}
} }
edit.commit()
}
WebDavHelp.backUpWebDav(backupPath)
if (path.isContentPath()) {
copyBackup(context, Uri.parse(path))
} else {
copyBackup(File(path))
} }
edit.commit()
}
WebDavHelp.backUpWebDav(backupPath)
if (path.isContentPath()) {
copyBackup(context, Uri.parse(path))
} else {
copyBackup(File(path))
} }
} }
} }
@ -96,6 +98,7 @@ object Backup {
@Throws(java.lang.Exception::class) @Throws(java.lang.Exception::class)
private fun copyBackup(context: Context, uri: Uri) { private fun copyBackup(context: Context, uri: Uri) {
DocumentFile.fromTreeUri(context, uri)?.let { treeDoc -> DocumentFile.fromTreeUri(context, uri)?.let { treeDoc ->
for (fileName in backupFileNames) { for (fileName in backupFileNames) {
val file = File(backupPath + File.separator + fileName) val file = File(backupPath + File.separator + fileName)

@ -40,7 +40,6 @@ object OldBook {
book.durChapterTitle = jsonItem.readString("$.durChapterName") book.durChapterTitle = jsonItem.readString("$.durChapterName")
book.durChapterPos = jsonItem.readInt("$.durChapterPage") ?: 0 book.durChapterPos = jsonItem.readInt("$.durChapterPage") ?: 0
book.durChapterTime = jsonItem.readLong("$.finalDate") ?: 0 book.durChapterTime = jsonItem.readLong("$.finalDate") ?: 0
book.group = jsonItem.readInt("$.group") ?: 0
book.intro = jsonItem.readString("$.bookInfoBean.introduce") book.intro = jsonItem.readString("$.bookInfoBean.introduce")
book.latestChapterTitle = jsonItem.readString("$.lastChapterName") book.latestChapterTitle = jsonItem.readString("$.lastChapterName")
book.lastCheckCount = jsonItem.readInt("$.newChapters") ?: 0 book.lastCheckCount = jsonItem.readInt("$.newChapters") ?: 0

Loading…
Cancel
Save