kunfei 3 жил өмнө
parent
commit
b516c96e43

+ 3 - 2
app/proguard-rules.pro

@@ -174,8 +174,9 @@
 -dontwarn com.jeremyliao.liveeventbus.**
 -dontwarn com.jeremyliao.liveeventbus.**
 -dontwarn org.commonmark.ext.gfm.**
 -dontwarn org.commonmark.ext.gfm.**
 
 
--keep class com.google.gson.** { *; }
--keep class com.ke.gson.** { *; }
+-keep,allowobfuscation,allowshrinking class com.google.gson.** { *; }
+-keep,allowobfuscation,allowshrinking class com.ke.gson.** { *; }
+-keep,allowobfuscation,allowshrinking class * extends com.google.gson.reflect.TypeToken
 -keep class com.jeremyliao.liveeventbus.** { *; }
 -keep class com.jeremyliao.liveeventbus.** { *; }
 -keep class okhttp3.**{*;}
 -keep class okhttp3.**{*;}
 -keep class okio.**{*;}
 -keep class okio.**{*;}

+ 3 - 2
app/src/main/java/io/legado/app/ui/association/ImportBookSourceViewModel.kt

@@ -7,6 +7,7 @@ import com.jayway.jsonpath.JsonPath
 import io.legado.app.R
 import io.legado.app.R
 import io.legado.app.base.BaseViewModel
 import io.legado.app.base.BaseViewModel
 import io.legado.app.constant.AppConst
 import io.legado.app.constant.AppConst
+import io.legado.app.constant.AppLog
 import io.legado.app.constant.AppPattern
 import io.legado.app.constant.AppPattern
 import io.legado.app.data.appDb
 import io.legado.app.data.appDb
 import io.legado.app.data.entities.BookSource
 import io.legado.app.data.entities.BookSource
@@ -124,8 +125,8 @@ class ImportBookSourceViewModel(app: Application) : BaseViewModel(app) {
                 else -> throw NoStackTraceException(context.getString(R.string.wrong_format))
                 else -> throw NoStackTraceException(context.getString(R.string.wrong_format))
             }
             }
         }.onError {
         }.onError {
-            it.printOnDebug()
-            errorLiveData.postValue(it.localizedMessage ?: "")
+            errorLiveData.postValue("ImportError:${it.localizedMessage}")
+            AppLog.put("ImportError:${it.localizedMessage}", it)
         }.onSuccess {
         }.onSuccess {
             comparisonSource()
             comparisonSource()
         }
         }

+ 3 - 2
app/src/main/java/io/legado/app/ui/association/ImportDictRuleViewModel.kt

@@ -5,6 +5,7 @@ import androidx.lifecycle.MutableLiveData
 import io.legado.app.R
 import io.legado.app.R
 import io.legado.app.base.BaseViewModel
 import io.legado.app.base.BaseViewModel
 import io.legado.app.constant.AppConst
 import io.legado.app.constant.AppConst
+import io.legado.app.constant.AppLog
 import io.legado.app.data.appDb
 import io.legado.app.data.appDb
 import io.legado.app.data.entities.DictRule
 import io.legado.app.data.entities.DictRule
 import io.legado.app.exception.NoStackTraceException
 import io.legado.app.exception.NoStackTraceException
@@ -61,8 +62,8 @@ class ImportDictRuleViewModel(app: Application) : BaseViewModel(app) {
         execute {
         execute {
             importSourceAwait(text.trim())
             importSourceAwait(text.trim())
         }.onError {
         }.onError {
-            it.printOnDebug()
-            errorLiveData.postValue(it.localizedMessage ?: "")
+            errorLiveData.postValue("ImportError:${it.localizedMessage}")
+            AppLog.put("ImportError:${it.localizedMessage}", it)
         }.onSuccess {
         }.onSuccess {
             comparisonSource()
             comparisonSource()
         }
         }

+ 3 - 3
app/src/main/java/io/legado/app/ui/association/ImportHttpTtsViewModel.kt

@@ -5,6 +5,7 @@ import androidx.lifecycle.MutableLiveData
 import io.legado.app.R
 import io.legado.app.R
 import io.legado.app.base.BaseViewModel
 import io.legado.app.base.BaseViewModel
 import io.legado.app.constant.AppConst
 import io.legado.app.constant.AppConst
+import io.legado.app.constant.AppLog
 import io.legado.app.data.appDb
 import io.legado.app.data.appDb
 import io.legado.app.data.entities.HttpTTS
 import io.legado.app.data.entities.HttpTTS
 import io.legado.app.exception.NoStackTraceException
 import io.legado.app.exception.NoStackTraceException
@@ -14,7 +15,6 @@ import io.legado.app.help.http.text
 import io.legado.app.utils.isAbsUrl
 import io.legado.app.utils.isAbsUrl
 import io.legado.app.utils.isJsonArray
 import io.legado.app.utils.isJsonArray
 import io.legado.app.utils.isJsonObject
 import io.legado.app.utils.isJsonObject
-import io.legado.app.utils.printOnDebug
 
 
 class ImportHttpTtsViewModel(app: Application) : BaseViewModel(app) {
 class ImportHttpTtsViewModel(app: Application) : BaseViewModel(app) {
 
 
@@ -64,8 +64,8 @@ class ImportHttpTtsViewModel(app: Application) : BaseViewModel(app) {
         execute {
         execute {
             importSourceAwait(text.trim())
             importSourceAwait(text.trim())
         }.onError {
         }.onError {
-            it.printOnDebug()
-            errorLiveData.postValue(it.localizedMessage ?: "")
+            errorLiveData.postValue("ImportError:${it.localizedMessage}")
+            AppLog.put("ImportError:${it.localizedMessage}", it)
         }.onSuccess {
         }.onSuccess {
             comparisonSource()
             comparisonSource()
         }
         }

+ 3 - 1
app/src/main/java/io/legado/app/ui/association/ImportReplaceRuleViewModel.kt

@@ -4,6 +4,7 @@ import android.app.Application
 import androidx.lifecycle.MutableLiveData
 import androidx.lifecycle.MutableLiveData
 import io.legado.app.base.BaseViewModel
 import io.legado.app.base.BaseViewModel
 import io.legado.app.constant.AppConst
 import io.legado.app.constant.AppConst
+import io.legado.app.constant.AppLog
 import io.legado.app.constant.AppPattern
 import io.legado.app.constant.AppPattern
 import io.legado.app.data.appDb
 import io.legado.app.data.appDb
 import io.legado.app.data.entities.ReplaceRule
 import io.legado.app.data.entities.ReplaceRule
@@ -80,7 +81,8 @@ class ImportReplaceRuleViewModel(app: Application) : BaseViewModel(app) {
         execute {
         execute {
             importAwait(text.trim())
             importAwait(text.trim())
         }.onError {
         }.onError {
-            errorLiveData.postValue(it.localizedMessage ?: "ERROR")
+            errorLiveData.postValue("ImportError:${it.localizedMessage}")
+            AppLog.put("ImportError:${it.localizedMessage}", it)
         }.onSuccess {
         }.onSuccess {
             comparisonSource()
             comparisonSource()
         }
         }

+ 2 - 0
app/src/main/java/io/legado/app/ui/association/ImportRssSourceViewModel.kt

@@ -6,6 +6,7 @@ import com.jayway.jsonpath.JsonPath
 import io.legado.app.R
 import io.legado.app.R
 import io.legado.app.base.BaseViewModel
 import io.legado.app.base.BaseViewModel
 import io.legado.app.constant.AppConst
 import io.legado.app.constant.AppConst
+import io.legado.app.constant.AppLog
 import io.legado.app.constant.AppPattern
 import io.legado.app.constant.AppPattern
 import io.legado.app.data.appDb
 import io.legado.app.data.appDb
 import io.legado.app.data.entities.RssSource
 import io.legado.app.data.entities.RssSource
@@ -115,6 +116,7 @@ class ImportRssSourceViewModel(app: Application) : BaseViewModel(app) {
             }
             }
         }.onError {
         }.onError {
             errorLiveData.postValue("ImportError:${it.localizedMessage}")
             errorLiveData.postValue("ImportError:${it.localizedMessage}")
+            AppLog.put("ImportError:${it.localizedMessage}", it)
         }.onSuccess {
         }.onSuccess {
             comparisonSource()
             comparisonSource()
         }
         }

+ 3 - 2
app/src/main/java/io/legado/app/ui/association/ImportThemeViewModel.kt

@@ -5,6 +5,7 @@ import androidx.lifecycle.MutableLiveData
 import io.legado.app.R
 import io.legado.app.R
 import io.legado.app.base.BaseViewModel
 import io.legado.app.base.BaseViewModel
 import io.legado.app.constant.AppConst
 import io.legado.app.constant.AppConst
+import io.legado.app.constant.AppLog
 import io.legado.app.exception.NoStackTraceException
 import io.legado.app.exception.NoStackTraceException
 import io.legado.app.help.config.ThemeConfig
 import io.legado.app.help.config.ThemeConfig
 import io.legado.app.help.http.newCallResponseBody
 import io.legado.app.help.http.newCallResponseBody
@@ -58,8 +59,8 @@ class ImportThemeViewModel(app: Application) : BaseViewModel(app) {
         execute {
         execute {
             importSourceAwait(text.trim())
             importSourceAwait(text.trim())
         }.onError {
         }.onError {
-            it.printOnDebug()
-            errorLiveData.postValue(it.localizedMessage ?: "")
+            errorLiveData.postValue("ImportError:${it.localizedMessage}")
+            AppLog.put("ImportError:${it.localizedMessage}", it)
         }.onSuccess {
         }.onSuccess {
             comparisonSource()
             comparisonSource()
         }
         }

+ 3 - 2
app/src/main/java/io/legado/app/ui/association/ImportTxtTocRuleViewModel.kt

@@ -5,6 +5,7 @@ import androidx.lifecycle.MutableLiveData
 import io.legado.app.R
 import io.legado.app.R
 import io.legado.app.base.BaseViewModel
 import io.legado.app.base.BaseViewModel
 import io.legado.app.constant.AppConst
 import io.legado.app.constant.AppConst
+import io.legado.app.constant.AppLog
 import io.legado.app.data.appDb
 import io.legado.app.data.appDb
 import io.legado.app.data.entities.TxtTocRule
 import io.legado.app.data.entities.TxtTocRule
 import io.legado.app.exception.NoStackTraceException
 import io.legado.app.exception.NoStackTraceException
@@ -61,8 +62,8 @@ class ImportTxtTocRuleViewModel(app: Application) : BaseViewModel(app) {
         execute {
         execute {
             importSourceAwait(text.trim())
             importSourceAwait(text.trim())
         }.onError {
         }.onError {
-            it.printOnDebug()
-            errorLiveData.postValue(it.localizedMessage ?: "")
+            errorLiveData.postValue("ImportError:${it.localizedMessage}")
+            AppLog.put("ImportError:${it.localizedMessage}", it)
         }.onSuccess {
         }.onSuccess {
             comparisonSource()
             comparisonSource()
         }
         }

+ 1 - 1
app/src/main/java/io/legado/app/utils/GsonExtensions.kt

@@ -13,7 +13,7 @@ import java.lang.reflect.ParameterizedType
 import java.lang.reflect.Type
 import java.lang.reflect.Type
 import kotlin.math.ceil
 import kotlin.math.ceil
 
 
-val INITIAL_GSON by lazy {
+val INITIAL_GSON: Gson by lazy {
     GsonBuilder()
     GsonBuilder()
         .registerTypeAdapter(
         .registerTypeAdapter(
             object : TypeToken<Map<String?, Any?>?>() {}.type,
             object : TypeToken<Map<String?, Any?>?>() {}.type,