diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 56aa671a2..b151a5eb5 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -174,8 +174,9 @@ -dontwarn com.jeremyliao.liveeventbus.** -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 okhttp3.**{*;} -keep class okio.**{*;} diff --git a/app/src/main/java/io/legado/app/ui/association/ImportBookSourceViewModel.kt b/app/src/main/java/io/legado/app/ui/association/ImportBookSourceViewModel.kt index 6a0969ec4..67963babb 100644 --- a/app/src/main/java/io/legado/app/ui/association/ImportBookSourceViewModel.kt +++ b/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.base.BaseViewModel import io.legado.app.constant.AppConst +import io.legado.app.constant.AppLog import io.legado.app.constant.AppPattern import io.legado.app.data.appDb 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)) } }.onError { - it.printOnDebug() - errorLiveData.postValue(it.localizedMessage ?: "") + errorLiveData.postValue("ImportError:${it.localizedMessage}") + AppLog.put("ImportError:${it.localizedMessage}", it) }.onSuccess { comparisonSource() } diff --git a/app/src/main/java/io/legado/app/ui/association/ImportDictRuleViewModel.kt b/app/src/main/java/io/legado/app/ui/association/ImportDictRuleViewModel.kt index 90a8eaa4b..b2ba12553 100644 --- a/app/src/main/java/io/legado/app/ui/association/ImportDictRuleViewModel.kt +++ b/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.base.BaseViewModel import io.legado.app.constant.AppConst +import io.legado.app.constant.AppLog import io.legado.app.data.appDb import io.legado.app.data.entities.DictRule import io.legado.app.exception.NoStackTraceException @@ -61,8 +62,8 @@ class ImportDictRuleViewModel(app: Application) : BaseViewModel(app) { execute { importSourceAwait(text.trim()) }.onError { - it.printOnDebug() - errorLiveData.postValue(it.localizedMessage ?: "") + errorLiveData.postValue("ImportError:${it.localizedMessage}") + AppLog.put("ImportError:${it.localizedMessage}", it) }.onSuccess { comparisonSource() } diff --git a/app/src/main/java/io/legado/app/ui/association/ImportHttpTtsViewModel.kt b/app/src/main/java/io/legado/app/ui/association/ImportHttpTtsViewModel.kt index 05f21811c..a68bd8376 100644 --- a/app/src/main/java/io/legado/app/ui/association/ImportHttpTtsViewModel.kt +++ b/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.base.BaseViewModel import io.legado.app.constant.AppConst +import io.legado.app.constant.AppLog import io.legado.app.data.appDb import io.legado.app.data.entities.HttpTTS 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.isJsonArray import io.legado.app.utils.isJsonObject -import io.legado.app.utils.printOnDebug class ImportHttpTtsViewModel(app: Application) : BaseViewModel(app) { @@ -64,8 +64,8 @@ class ImportHttpTtsViewModel(app: Application) : BaseViewModel(app) { execute { importSourceAwait(text.trim()) }.onError { - it.printOnDebug() - errorLiveData.postValue(it.localizedMessage ?: "") + errorLiveData.postValue("ImportError:${it.localizedMessage}") + AppLog.put("ImportError:${it.localizedMessage}", it) }.onSuccess { comparisonSource() } diff --git a/app/src/main/java/io/legado/app/ui/association/ImportReplaceRuleViewModel.kt b/app/src/main/java/io/legado/app/ui/association/ImportReplaceRuleViewModel.kt index a25914c18..0902bab7a 100644 --- a/app/src/main/java/io/legado/app/ui/association/ImportReplaceRuleViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/association/ImportReplaceRuleViewModel.kt @@ -4,6 +4,7 @@ import android.app.Application import androidx.lifecycle.MutableLiveData import io.legado.app.base.BaseViewModel import io.legado.app.constant.AppConst +import io.legado.app.constant.AppLog import io.legado.app.constant.AppPattern import io.legado.app.data.appDb import io.legado.app.data.entities.ReplaceRule @@ -80,7 +81,8 @@ class ImportReplaceRuleViewModel(app: Application) : BaseViewModel(app) { execute { importAwait(text.trim()) }.onError { - errorLiveData.postValue(it.localizedMessage ?: "ERROR") + errorLiveData.postValue("ImportError:${it.localizedMessage}") + AppLog.put("ImportError:${it.localizedMessage}", it) }.onSuccess { comparisonSource() } diff --git a/app/src/main/java/io/legado/app/ui/association/ImportRssSourceViewModel.kt b/app/src/main/java/io/legado/app/ui/association/ImportRssSourceViewModel.kt index 11b7695b3..05b06a5e8 100644 --- a/app/src/main/java/io/legado/app/ui/association/ImportRssSourceViewModel.kt +++ b/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.base.BaseViewModel import io.legado.app.constant.AppConst +import io.legado.app.constant.AppLog import io.legado.app.constant.AppPattern import io.legado.app.data.appDb import io.legado.app.data.entities.RssSource @@ -115,6 +116,7 @@ class ImportRssSourceViewModel(app: Application) : BaseViewModel(app) { } }.onError { errorLiveData.postValue("ImportError:${it.localizedMessage}") + AppLog.put("ImportError:${it.localizedMessage}", it) }.onSuccess { comparisonSource() } diff --git a/app/src/main/java/io/legado/app/ui/association/ImportThemeViewModel.kt b/app/src/main/java/io/legado/app/ui/association/ImportThemeViewModel.kt index fad8f27f7..f7fa14827 100644 --- a/app/src/main/java/io/legado/app/ui/association/ImportThemeViewModel.kt +++ b/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.base.BaseViewModel import io.legado.app.constant.AppConst +import io.legado.app.constant.AppLog import io.legado.app.exception.NoStackTraceException import io.legado.app.help.config.ThemeConfig import io.legado.app.help.http.newCallResponseBody @@ -58,8 +59,8 @@ class ImportThemeViewModel(app: Application) : BaseViewModel(app) { execute { importSourceAwait(text.trim()) }.onError { - it.printOnDebug() - errorLiveData.postValue(it.localizedMessage ?: "") + errorLiveData.postValue("ImportError:${it.localizedMessage}") + AppLog.put("ImportError:${it.localizedMessage}", it) }.onSuccess { comparisonSource() } diff --git a/app/src/main/java/io/legado/app/ui/association/ImportTxtTocRuleViewModel.kt b/app/src/main/java/io/legado/app/ui/association/ImportTxtTocRuleViewModel.kt index df481a4e8..d2ff9ae56 100644 --- a/app/src/main/java/io/legado/app/ui/association/ImportTxtTocRuleViewModel.kt +++ b/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.base.BaseViewModel import io.legado.app.constant.AppConst +import io.legado.app.constant.AppLog import io.legado.app.data.appDb import io.legado.app.data.entities.TxtTocRule import io.legado.app.exception.NoStackTraceException @@ -61,8 +62,8 @@ class ImportTxtTocRuleViewModel(app: Application) : BaseViewModel(app) { execute { importSourceAwait(text.trim()) }.onError { - it.printOnDebug() - errorLiveData.postValue(it.localizedMessage ?: "") + errorLiveData.postValue("ImportError:${it.localizedMessage}") + AppLog.put("ImportError:${it.localizedMessage}", it) }.onSuccess { comparisonSource() } diff --git a/app/src/main/java/io/legado/app/utils/GsonExtensions.kt b/app/src/main/java/io/legado/app/utils/GsonExtensions.kt index bf2868789..b08d49893 100644 --- a/app/src/main/java/io/legado/app/utils/GsonExtensions.kt +++ b/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 kotlin.math.ceil -val INITIAL_GSON by lazy { +val INITIAL_GSON: Gson by lazy { GsonBuilder() .registerTypeAdapter( object : TypeToken?>() {}.type,