Просмотр исходного кода

Merge remote-tracking branch 'origin/master'

kunfei 4 лет назад
Родитель
Сommit
8c0f8f13f7
34 измененных файлов с 157 добавлено и 98 удалено
  1. 1 1
      app/build.gradle
  2. 4 0
      app/src/main/assets/updateLog.md
  3. 3 1
      app/src/main/java/io/legado/app/help/AppWebDav.kt
  4. 4 1
      app/src/main/java/io/legado/app/help/BookHelp.kt
  5. 1 1
      app/src/main/java/io/legado/app/help/glide/ImageLoader.kt
  6. 1 1
      app/src/main/java/io/legado/app/ui/about/ReadRecordActivity.kt
  7. 1 1
      app/src/main/java/io/legado/app/ui/association/BaseAssociationViewModel.kt
  8. 0 2
      app/src/main/java/io/legado/app/ui/association/FileAssociationViewModel.kt
  9. 16 2
      app/src/main/java/io/legado/app/ui/association/OnLineImportViewModel.kt
  10. 2 1
      app/src/main/java/io/legado/app/ui/association/VerificationCodeActivity.kt
  11. 1 1
      app/src/main/java/io/legado/app/ui/book/local/ImportBookActivity.kt
  12. 0 1
      app/src/main/java/io/legado/app/ui/book/manage/BookAdapter.kt
  13. 2 1
      app/src/main/java/io/legado/app/ui/book/read/ReadMenu.kt
  14. 3 1
      app/src/main/java/io/legado/app/ui/book/read/page/provider/ImageProvider.kt
  15. 0 1
      app/src/main/java/io/legado/app/ui/book/source/manage/BookSourceActivity.kt
  16. 2 6
      app/src/main/java/io/legado/app/ui/main/explore/ExploreAdapter.kt
  17. 11 0
      app/src/main/java/io/legado/app/ui/main/explore/ExploreFragment.kt
  18. 8 0
      app/src/main/java/io/legado/app/ui/main/explore/ExploreViewModel.kt
  19. 1 1
      app/src/main/java/io/legado/app/utils/EncoderUtils.kt
  20. 1 1
      app/src/main/java/io/legado/app/utils/StringExtensions.kt
  21. 56 55
      app/src/main/res/layout/activity_book_source_edit.xml
  22. 2 1
      app/src/main/res/layout/dialog_bookmark.xml
  23. 2 1
      app/src/main/res/layout/dialog_http_tts_edit.xml
  24. 2 1
      app/src/main/res/layout/dialog_login.xml
  25. 2 1
      app/src/main/res/layout/dialog_url_option_edit.xml
  26. 2 0
      app/src/main/res/layout/item_change_source.xml
  27. 4 2
      app/src/main/res/values-es-rES/strings.xml
  28. 4 2
      app/src/main/res/values-ja-rJP/strings.xml
  29. 4 2
      app/src/main/res/values-pt-rBR/strings.xml
  30. 4 2
      app/src/main/res/values-zh-rHK/strings.xml
  31. 4 2
      app/src/main/res/values-zh-rTW/strings.xml
  32. 4 2
      app/src/main/res/values-zh/strings.xml
  33. 4 2
      app/src/main/res/values/strings.xml
  34. 1 1
      build.gradle

+ 1 - 1
app/build.gradle

@@ -131,7 +131,7 @@ resourcePlaceholders {
 
 dependencies {
     //noinspection GradleDependency
-    coreLibraryDesugaring('com.android.tools:desugar_jdk_libs:1.1.6')
+    coreLibraryDesugaring('com.android.tools:desugar_jdk_libs:1.2.2')
     testImplementation('junit:junit:4.13.2')
     androidTestImplementation('androidx.test:runner:1.4.0')
     androidTestImplementation('androidx.test.espresso:espresso-core:3.4.0')

+ 4 - 0
app/src/main/assets/updateLog.md

@@ -11,6 +11,10 @@
 * 正文出现缺字漏字、内容缺失、排版错乱等情况,有可能是净化规则或简繁转换出现问题。
 * 漫画源看书显示乱码,**阅读与其他软件的源并不通用**,请导入阅读的支持的漫画源!
 
+**2022/09/16**
+
+* 一些优化
+
 **2022/09/15**
 
 * 更新cronet: 105.0.5195.136

+ 3 - 1
app/src/main/java/io/legado/app/help/AppWebDav.kt

@@ -19,9 +19,11 @@ import io.legado.app.lib.webdav.WebDavException
 import io.legado.app.lib.webdav.WebDavFile
 import io.legado.app.ui.widget.dialog.WaitDialog
 import io.legado.app.utils.*
-import kotlinx.coroutines.*
 import kotlinx.coroutines.Dispatchers.IO
 import kotlinx.coroutines.Dispatchers.Main
+import kotlinx.coroutines.ensureActive
+import kotlinx.coroutines.runBlocking
+import kotlinx.coroutines.withContext
 import splitties.init.appCtx
 import java.io.File
 import java.text.SimpleDateFormat

+ 4 - 1
app/src/main/java/io/legado/app/help/BookHelp.kt

@@ -139,8 +139,11 @@ object BookHelp {
             var bytes = analyzeUrl.getByteArrayAwait()
             //某些图片被加密,需要进一步解密
             bookSource?.getContentRule()?.imageDecode?.let {
+                if (it.isBlank()) {
+                    return@let
+                }
                 kotlin.runCatching {
-                    bookSource?.evalJS(it) {
+                    bookSource.evalJS(it) {
                         put("book", book)
                         put("result", bytes)
                         put("src", src)

+ 1 - 1
app/src/main/java/io/legado/app/help/glide/ImageLoader.kt

@@ -7,8 +7,8 @@ import android.net.Uri
 import androidx.annotation.DrawableRes
 import com.bumptech.glide.RequestBuilder
 import io.legado.app.utils.isAbsUrl
-import io.legado.app.utils.isDataUrl
 import io.legado.app.utils.isContentScheme
+import io.legado.app.utils.isDataUrl
 import java.io.File
 
 @Suppress("unused")

+ 1 - 1
app/src/main/java/io/legado/app/ui/about/ReadRecordActivity.kt

@@ -1,6 +1,5 @@
 package io.legado.app.ui.about
 
-import java.text.SimpleDateFormat
 import android.content.Context
 import android.os.Bundle
 import android.view.Menu
@@ -26,6 +25,7 @@ import io.legado.app.utils.viewbindingdelegate.viewBinding
 import kotlinx.coroutines.Dispatchers.IO
 import kotlinx.coroutines.launch
 import kotlinx.coroutines.withContext
+import java.text.SimpleDateFormat
 
 class ReadRecordActivity : BaseActivity<ActivityReadRecordBinding>() {
 

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

@@ -21,7 +21,7 @@ abstract class BaseAssociationViewModel(application: Application) : BaseViewMode
         }
     }
 
-    fun importJson(json: String) {
+    private fun importJson(json: String) {
         //暂时根据文件内容判断属于什么
         when {
             json.contains("sourceUrl") ->

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

@@ -7,13 +7,11 @@ import androidx.lifecycle.MutableLiveData
 import io.legado.app.constant.AppLog
 import io.legado.app.constant.AppPattern.bookFileRegex
 import io.legado.app.exception.NoStackTraceException
-import io.legado.app.help.IntentData
 import io.legado.app.model.localBook.LocalBook
 import io.legado.app.utils.inputStream
 import io.legado.app.utils.isJson
 import io.legado.app.utils.printOnDebug
 import java.io.File
-import java.io.InputStream
 
 class FileAssociationViewModel(application: Application) : BaseAssociationViewModel(application) {
     val importBookLiveData = MutableLiveData<Uri>()

+ 16 - 2
app/src/main/java/io/legado/app/ui/association/OnLineImportViewModel.kt

@@ -1,12 +1,16 @@
 package io.legado.app.ui.association
 
 import android.app.Application
+import androidx.core.net.toUri
 import io.legado.app.R
 import io.legado.app.help.config.ReadBookConfig
 import io.legado.app.help.http.newCallResponseBody
 import io.legado.app.help.http.okHttpClient
 import io.legado.app.help.http.text
+import io.legado.app.utils.FileUtils
+import io.legado.app.utils.externalCache
 import okhttp3.MediaType.Companion.toMediaType
+import splitties.init.appCtx
 
 class OnLineImportViewModel(app: Application) : BaseAssociationViewModel(app) {
 
@@ -72,8 +76,18 @@ class OnLineImportViewModel(app: Application) : BaseAssociationViewModel(app) {
                     importReadConfig(rs.bytes(), finally)
                 }
                 else -> {
-                    val json = rs.text("utf-8")
-                    importJson(json)
+                    val inputStream = rs.byteStream()
+                    val file = FileUtils.createFileIfNotExist(
+                        appCtx.externalCache,
+                        "download",
+                        "scheme_import_cache.json"
+                    )
+                    file.outputStream().use { out ->
+                        inputStream.use {
+                            it.copyTo(out)
+                        }
+                    }
+                    importJson(file.toUri())
                 }
             }
         }

+ 2 - 1
app/src/main/java/io/legado/app/ui/association/VerificationCodeActivity.kt

@@ -17,8 +17,9 @@ class VerificationCodeActivity :
     override fun onActivityCreated(savedInstanceState: Bundle?) {
         intent.getStringExtra("imageUrl")?.let {
             val sourceOrigin = intent.getStringExtra("sourceOrigin")
+            val sourceName = intent.getStringExtra("sourceName")
             showDialogFragment(
-                VerificationCodeDialog(it, sourceOrigin)
+                VerificationCodeDialog(it, sourceOrigin, sourceName)
             )
         } ?: finish()
     }

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/local/ImportBookActivity.kt

@@ -200,7 +200,7 @@ class ImportBookActivity : VMBaseActivity<ActivityImportBookBinding, ImportBookV
     private fun upSort(sort: Int) {
         viewModel.sort = sort
         putPrefInt(PreferKey.localBookImportSort, sort)
-        if (scanDocJob?.isCancelled == true || scanDocJob?.isCompleted == true) {
+        if (scanDocJob?.isActive != true) {
             viewModel.dataCallback?.setItems(adapter.getItems())
         }
     }

+ 0 - 1
app/src/main/java/io/legado/app/ui/book/manage/BookAdapter.kt

@@ -15,7 +15,6 @@ import io.legado.app.lib.theme.backgroundColor
 import io.legado.app.ui.widget.recycler.DragSelectTouchHelper
 import io.legado.app.ui.widget.recycler.ItemTouchCallback
 import java.util.*
-import kotlin.collections.HashSet
 
 class BookAdapter(context: Context, val callBack: CallBack) :
     RecyclerAdapter<Book, ItemArrangeBookBinding>(context),

+ 2 - 1
app/src/main/java/io/legado/app/ui/book/read/ReadMenu.kt

@@ -15,7 +15,8 @@ import android.view.animation.Animation
 import android.widget.FrameLayout
 import android.widget.SeekBar
 import androidx.appcompat.widget.PopupMenu
-import androidx.core.view.*
+import androidx.core.view.isGone
+import androidx.core.view.isVisible
 import io.legado.app.R
 import io.legado.app.constant.PreferKey
 import io.legado.app.databinding.ViewReadMenuBinding

+ 3 - 1
app/src/main/java/io/legado/app/ui/book/read/page/provider/ImageProvider.kt

@@ -15,7 +15,9 @@ import io.legado.app.help.config.AppConfig
 import io.legado.app.help.coroutine.Coroutine
 import io.legado.app.model.ReadBook
 import io.legado.app.model.localBook.EpubFile
-import io.legado.app.utils.*
+import io.legado.app.utils.BitmapUtils
+import io.legado.app.utils.FileUtils
+import io.legado.app.utils.toastOnUi
 import kotlinx.coroutines.Dispatchers.IO
 import kotlinx.coroutines.Dispatchers.Main
 import kotlinx.coroutines.withContext

+ 0 - 1
app/src/main/java/io/legado/app/ui/book/source/manage/BookSourceActivity.kt

@@ -21,7 +21,6 @@ import io.legado.app.data.entities.BookSource
 import io.legado.app.databinding.ActivityBookSourceBinding
 import io.legado.app.databinding.DialogEditTextBinding
 import io.legado.app.help.DirectLinkUpload
-import io.legado.app.help.IntentData
 import io.legado.app.help.config.LocalConfig
 import io.legado.app.lib.dialogs.alert
 import io.legado.app.lib.theme.primaryColor

+ 2 - 6
app/src/main/java/io/legado/app/ui/main/explore/ExploreAdapter.kt

@@ -10,12 +10,10 @@ import com.google.android.flexbox.FlexboxLayout
 import io.legado.app.R
 import io.legado.app.base.adapter.ItemViewHolder
 import io.legado.app.base.adapter.RecyclerAdapter
-import io.legado.app.data.appDb
 import io.legado.app.data.entities.BookSource
 import io.legado.app.data.entities.rule.ExploreKind
 import io.legado.app.databinding.ItemFilletTextBinding
 import io.legado.app.databinding.ItemFindBookBinding
-import io.legado.app.help.config.SourceConfig
 import io.legado.app.help.coroutine.Coroutine
 import io.legado.app.lib.theme.accentColor
 import io.legado.app.ui.login.SourceLoginActivity
@@ -173,10 +171,7 @@ class ExploreAdapter(context: Context, val callBack: CallBack) :
                 }.onSuccess {
                     callBack.refreshData()
                 }
-                R.id.menu_del -> Coroutine.async(callBack.scope) {
-                    appDb.bookSourceDao.delete(source)
-                    SourceConfig.removeSource(source.bookSourceUrl)
-                }
+                R.id.menu_del -> callBack.deleteSource(source)
             }
             true
         }
@@ -191,5 +186,6 @@ class ExploreAdapter(context: Context, val callBack: CallBack) :
         fun openExplore(sourceUrl: String, title: String, exploreUrl: String?)
         fun editSource(sourceUrl: String)
         fun toTop(source: BookSource)
+        fun deleteSource(source: BookSource)
     }
 }

+ 11 - 0
app/src/main/java/io/legado/app/ui/main/explore/ExploreFragment.kt

@@ -18,6 +18,7 @@ import io.legado.app.data.appDb
 import io.legado.app.data.entities.BookSource
 import io.legado.app.databinding.FragmentExploreBinding
 import io.legado.app.help.config.AppConfig
+import io.legado.app.lib.dialogs.alert
 import io.legado.app.lib.theme.primaryColor
 import io.legado.app.lib.theme.primaryTextColor
 import io.legado.app.ui.book.explore.ExploreShowActivity
@@ -183,6 +184,16 @@ class ExploreFragment : VMBaseFragment<ExploreViewModel>(R.layout.fragment_explo
         viewModel.topSource(source)
     }
 
+    override fun deleteSource(source: BookSource) {
+        alert(R.string.draw) {
+            setMessage(getString(R.string.sure_del) + "\n" + source.bookSourceName)
+            noButton()
+            yesButton {
+                viewModel.deleteSource(source)
+            }
+        }
+    }
+
     fun compressExplore() {
         if (!adapter.compressExplore()) {
             if (AppConfig.isEInkMode) {

+ 8 - 0
app/src/main/java/io/legado/app/ui/main/explore/ExploreViewModel.kt

@@ -4,6 +4,7 @@ import android.app.Application
 import io.legado.app.base.BaseViewModel
 import io.legado.app.data.appDb
 import io.legado.app.data.entities.BookSource
+import io.legado.app.help.config.SourceConfig
 
 class ExploreViewModel(application: Application) : BaseViewModel(application) {
 
@@ -15,4 +16,11 @@ class ExploreViewModel(application: Application) : BaseViewModel(application) {
         }
     }
 
+    fun deleteSource(source: BookSource) {
+        execute {
+            appDb.bookSourceDao.delete(source)
+            SourceConfig.removeSource(source.bookSourceUrl)
+        }
+    }
+
 }

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

@@ -1,10 +1,10 @@
 package io.legado.app.utils
 
 import android.util.Base64
+import cn.hutool.crypto.symmetric.SymmetricCrypto
 import java.security.spec.AlgorithmParameterSpec
 import javax.crypto.spec.IvParameterSpec
 import javax.crypto.spec.SecretKeySpec
-import cn.hutool.crypto.symmetric.SymmetricCrypto
 
 /**
  * transformations https://developer.android.google.cn/reference/kotlin/javax/crypto/Cipher?hl=en

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

@@ -2,11 +2,11 @@
 
 package io.legado.app.utils
 
-import io.legado.app.constant.AppPattern.dataUriRegex
 import android.icu.text.Collator
 import android.icu.util.ULocale
 import android.net.Uri
 import android.text.Editable
+import io.legado.app.constant.AppPattern.dataUriRegex
 import java.io.File
 import java.util.*
 

+ 56 - 55
app/src/main/res/layout/activity_book_source_edit.xml

@@ -13,64 +13,64 @@
         app:fitStatusBar="false"
         app:title="@string/edit_book_source" />
 
-    <LinearLayout
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:orientation="horizontal"
-        android:layout_gravity="center_vertical">
-
-        <io.legado.app.lib.theme.view.ThemeCheckBox
-            android:id="@+id/cb_is_enable"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:checked="true"
-            android:text="@string/is_enable" />
-
-        <io.legado.app.lib.theme.view.ThemeCheckBox
-            android:id="@+id/cb_is_enable_explore"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:checked="true"
-            android:text="@string/discovery" />
-
-        <io.legado.app.lib.theme.view.ThemeCheckBox
-            android:id="@+id/cb_is_enable_cookie"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:checked="true"
-            android:text="@string/auto_save_cookie" />
-
-        <io.legado.app.lib.theme.view.ThemeCheckBox
-            android:id="@+id/cb_is_enable_review"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:checked="true"
-            android:text="@string/review" />
-
-    </LinearLayout>
-    <LinearLayout
+    <HorizontalScrollView
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:orientation="horizontal">
+        android:scrollbars="none">
 
-        <TextView
-            android:height="30dp"
-            android:gravity="center"
-            android:layout_width="wrap_content"
-            android:layout_height="match_parent"
-            android:text="@string/book_type"
-            android:layout_marginLeft="8dp"
-            android:layout_marginRight="3dp"
-            tools:ignore="RtlHardcoded" />
-
-        <androidx.appcompat.widget.AppCompatSpinner
-            android:id="@+id/sp_type"
+        <LinearLayout
             android:layout_width="wrap_content"
-            android:layout_height="match_parent"
-            android:entries="@array/book_type"
-            app:theme="@style/Spinner" />
-
-    </LinearLayout>
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_vertical"
+            android:paddingHorizontal="8dp"
+            android:gravity="center_vertical"
+            android:orientation="horizontal">
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="match_parent"
+                android:gravity="center"
+                android:text="@string/book_type"
+                tools:ignore="RtlHardcoded" />
+
+            <androidx.appcompat.widget.AppCompatSpinner
+                android:id="@+id/sp_type"
+                android:layout_width="wrap_content"
+                android:layout_height="match_parent"
+                android:entries="@array/book_type"
+                app:theme="@style/Spinner" />
+
+            <io.legado.app.lib.theme.view.ThemeCheckBox
+                android:id="@+id/cb_is_enable"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:checked="true"
+                android:text="@string/is_enable" />
+
+            <io.legado.app.lib.theme.view.ThemeCheckBox
+                android:id="@+id/cb_is_enable_explore"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:checked="true"
+                android:text="@string/discovery" />
+
+            <io.legado.app.lib.theme.view.ThemeCheckBox
+                android:id="@+id/cb_is_enable_cookie"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:checked="true"
+                android:text="@string/auto_save_cookie" />
+
+            <io.legado.app.lib.theme.view.ThemeCheckBox
+                android:id="@+id/cb_is_enable_review"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:checked="true"
+                android:text="@string/review" />
+
+        </LinearLayout>
+
+    </HorizontalScrollView>
 
     <com.google.android.material.tabs.TabLayout
         android:id="@+id/tab_layout"
@@ -119,6 +119,7 @@
     <androidx.recyclerview.widget.RecyclerView
         android:id="@+id/recycler_view"
         android:layout_width="match_parent"
-        android:layout_height="match_parent" />
+        android:layout_height="match_parent"
+        tools:listitem="@layout/item_source_edit" />
 
 </LinearLayout>

+ 2 - 1
app/src/main/res/layout/dialog_bookmark.xml

@@ -35,7 +35,8 @@
         <androidx.core.widget.NestedScrollView
             android:layout_width="match_parent"
             android:layout_height="0dp"
-            android:layout_weight="1">
+            android:layout_weight="1"
+            android:overScrollMode="ifContentScrolls">
 
             <LinearLayout
                 android:layout_width="match_parent"

+ 2 - 1
app/src/main/res/layout/dialog_http_tts_edit.xml

@@ -26,7 +26,8 @@
 
         <androidx.core.widget.NestedScrollView
             android:layout_width="match_parent"
-            android:layout_height="match_parent">
+            android:layout_height="match_parent"
+            android:overScrollMode="ifContentScrolls">
 
             <LinearLayout
                 android:layout_width="match_parent"

+ 2 - 1
app/src/main/res/layout/dialog_login.xml

@@ -30,7 +30,8 @@
 
         <androidx.core.widget.NestedScrollView
             android:layout_width="match_parent"
-            android:layout_height="wrap_content">
+            android:layout_height="wrap_content"
+            android:overScrollMode="ifContentScrolls">
 
             <com.google.android.flexbox.FlexboxLayout
                 android:id="@+id/flexbox"

+ 2 - 1
app/src/main/res/layout/dialog_url_option_edit.xml

@@ -46,7 +46,8 @@
 
         <androidx.core.widget.NestedScrollView
             android:layout_width="match_parent"
-            android:layout_height="wrap_content">
+            android:layout_height="wrap_content"
+            android:overScrollMode="ifContentScrolls">
 
             <LinearLayout
                 android:layout_width="match_parent"

+ 2 - 0
app/src/main/res/layout/item_change_source.xml

@@ -14,6 +14,7 @@
         android:layout_marginTop="5dp"
         android:padding="5dp"
         android:src="@drawable/ic_praise"
+        android:contentDescription="@string/like_source"
         app:layout_constraintBottom_toTopOf="@+id/iv_bad"
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintTop_toTopOf="parent"
@@ -27,6 +28,7 @@
         android:padding="5dp"
         android:rotationX="180"
         android:src="@drawable/ic_praise"
+        android:contentDescription="@string/not_like_source"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintTop_toBottomOf="@+id/iv_good"

+ 4 - 2
app/src/main/res/values-es-rES/strings.xml

@@ -1016,8 +1016,8 @@
     <string name="rule_review_content">段评内容(contentRule)</string>
     <string name="rule_review_quote">段评回复URL(reviewQuoteUrl)</string>
     <string name="rule_post_time">段评发布时间(postTimeRule)</string>
-    <string name="review_vote_down">点踩URL(voteUpUrl)</string>
-    <string name="review_vote_up">点赞URL(voteDownUrl)</string>
+    <string name="review_vote_down">点踩URL(voteDownUrl)</string>
+    <string name="review_vote_up">点赞URL(voteUpUrl)</string>
     <string name="post_review_url">发送回复URL(postReviewUrl)</string>
     <string name="post_quote_url">发送回复段评URL(postQuoteUrl)</string>
     <string name="delete_review_url">删除段评URL(deleteUrl)</string>
@@ -1026,4 +1026,6 @@
     <string name="show_read_title_addition">show read title addition area</string>
     <string name="read_bar_style_follow_page">read bar style follow page</string>
     <string name="rule_image_decode">Decode Image(imageDecode)</string>
+    <string name="like_source">赞</string>
+    <string name="not_like_source">踩</string>
 </resources>

+ 4 - 2
app/src/main/res/values-ja-rJP/strings.xml

@@ -1019,8 +1019,8 @@
     <string name="rule_review_content">段评内容(contentRule)</string>
     <string name="rule_post_time">段评发布时间(postTimeRule)</string>
     <string name="rule_review_quote">段评回复URL(reviewQuoteUrl)</string>
-    <string name="review_vote_down">点踩URL(voteUpUrl)</string>
-    <string name="review_vote_up">点赞URL(voteDownUrl)</string>
+    <string name="review_vote_down">点踩URL(voteDownUrl)</string>
+    <string name="review_vote_up">点赞URL(voteUpUrl)</string>
     <string name="post_review_url">发送回复URL(postReviewUrl)</string>
     <string name="post_quote_url">发送回复段评URL(postQuoteUrl)</string>
     <string name="delete_review_url">删除段评URL(deleteUrl)</string>
@@ -1029,4 +1029,6 @@
     <string name="show_read_title_addition">show read title addition area</string>
     <string name="read_bar_style_follow_page">read bar style follow page</string>
     <string name="rule_image_decode">Decode Image(imageDecode)</string>
+    <string name="like_source">赞</string>
+    <string name="not_like_source">踩</string>
 </resources>

+ 4 - 2
app/src/main/res/values-pt-rBR/strings.xml

@@ -1019,8 +1019,8 @@
     <string name="rule_review_content">段评内容(contentRule)</string>
     <string name="rule_post_time">段评发布时间(postTimeRule)</string>
     <string name="rule_review_quote">段评回复URL(reviewQuoteUrl)</string>
-    <string name="review_vote_down">点踩URL(voteUpUrl)</string>
-    <string name="review_vote_up">点赞URL(voteDownUrl)</string>
+    <string name="review_vote_down">点踩URL(voteDownUrl)</string>
+    <string name="review_vote_up">点赞URL(voteUpUrl)</string>
     <string name="post_review_url">发送回复URL(postReviewUrl)</string>
     <string name="post_quote_url">发送回复段评URL(postQuoteUrl)</string>
     <string name="delete_review_url">删除段评URL(deleteUrl)</string>
@@ -1029,4 +1029,6 @@
     <string name="show_read_title_addition">show read title addition area</string>
     <string name="read_bar_style_follow_page">read bar style follow page</string>
     <string name="rule_image_decode">Decode Image(imageDecode)</string>
+    <string name="like_source">赞</string>
+    <string name="not_like_source">踩</string>
 </resources>

+ 4 - 2
app/src/main/res/values-zh-rHK/strings.xml

@@ -1016,8 +1016,8 @@
     <string name="rule_review_content">段评内容(contentRule)</string>
     <string name="rule_post_time">段评发布时间(postTimeRule)</string>
     <string name="rule_review_quote">段评回复URL(reviewQuoteUrl)</string>
-    <string name="review_vote_down">点踩URL(voteUpUrl)</string>
-    <string name="review_vote_up">点赞URL(voteDownUrl)</string>
+    <string name="review_vote_down">点踩URL(voteDownUrl)</string>
+    <string name="review_vote_up">点赞URL(voteUpUrl)</string>
     <string name="post_review_url">发送回复URL(postReviewUrl)</string>
     <string name="post_quote_url">发送回复段评URL(postQuoteUrl)</string>
     <string name="delete_review_url">删除段评URL(deleteUrl)</string>
@@ -1026,4 +1026,6 @@
     <string name="show_read_title_addition">展示顶部工具栏附加区域</string>
     <string name="read_bar_style_follow_page">工具栏样式跟随页面</string>
     <string name="rule_image_decode">图片解密(imageDecode)</string>
+    <string name="like_source">赞</string>
+    <string name="not_like_source">踩</string>
 </resources>

+ 4 - 2
app/src/main/res/values-zh-rTW/strings.xml

@@ -1018,8 +1018,8 @@
     <string name="rule_review_content">段评内容(contentRule)</string>
     <string name="rule_post_time">段评发布时间(postTimeRule)</string>
     <string name="rule_review_quote">段评回复URL(reviewQuoteUrl)</string>
-    <string name="review_vote_down">点踩URL(voteUpUrl)</string>
-    <string name="review_vote_up">点赞URL(voteDownUrl)</string>
+    <string name="review_vote_down">点踩URL(voteDownUrl)</string>
+    <string name="review_vote_up">点赞URL(voteUpUrl)</string>
     <string name="post_review_url">发送回复URL(postReviewUrl)</string>
     <string name="post_quote_url">发送回复段评URL(postQuoteUrl)</string>
     <string name="delete_review_url">删除段评URL(deleteUrl)</string>
@@ -1028,4 +1028,6 @@
     <string name="show_read_title_addition">展示顶部工具栏附加区域</string>
     <string name="read_bar_style_follow_page">工具栏样式跟随页面</string>
     <string name="rule_image_decode">图片解密(imageDecode)</string>
+    <string name="like_source">赞</string>
+    <string name="not_like_source">踩</string>
 </resources>

+ 4 - 2
app/src/main/res/values-zh/strings.xml

@@ -1018,8 +1018,8 @@
     <string name="rule_review_content">段评内容(contentRule)</string>
     <string name="rule_post_time">段评发布时间(postTimeRule)</string>
     <string name="rule_review_quote">段评回复URL(reviewQuoteUrl)</string>
-    <string name="review_vote_down">点踩URL(voteUpUrl)</string>
-    <string name="review_vote_up">点赞URL(voteDownUrl)</string>
+    <string name="review_vote_down">点踩URL(voteDownUrl)</string>
+    <string name="review_vote_up">点赞URL(voteUpUrl)</string>
     <string name="post_review_url">发送回复URL(postReviewUrl)</string>
     <string name="post_quote_url">发送回复段评URL(postQuoteUrl)</string>
     <string name="delete_review_url">删除段评URL(deleteUrl)</string>
@@ -1028,4 +1028,6 @@
     <string name="show_read_title_addition">展示顶部工具栏附加区域</string>
     <string name="read_bar_style_follow_page">工具栏样式跟随页面</string>
     <string name="rule_image_decode">图片解密(imageDecode)</string>
+    <string name="like_source">赞</string>
+    <string name="not_like_source">踩</string>
 </resources>

+ 4 - 2
app/src/main/res/values/strings.xml

@@ -1019,8 +1019,8 @@
     <string name="rule_review_content">段评内容(contentRule)</string>
     <string name="rule_post_time">段评发布时间(postTimeRule)</string>
     <string name="rule_review_quote">段评回复URL(reviewQuoteUrl)</string>
-    <string name="review_vote_down">点踩URL(voteUpUrl)</string>
-    <string name="review_vote_up">点赞URL(voteDownUrl)</string>
+    <string name="review_vote_down">点踩URL(voteDownUrl)</string>
+    <string name="review_vote_up">点赞URL(voteUpUrl)</string>
     <string name="post_review_url">发送回复URL(postReviewUrl)</string>
     <string name="post_quote_url">发送回复段评URL(postQuoteUrl)</string>
     <string name="delete_review_url">删除段评URL(deleteUrl)</string>
@@ -1029,4 +1029,6 @@
     <string name="show_read_title_addition">show read title addition area</string>
     <string name="read_bar_style_follow_page">read bar style follow page</string>
     <string name="rule_image_decode">Decode Image(imageDecode)</string>
+    <string name="like_source">赞</string>
+    <string name="not_like_source">踩</string>
 </resources>

+ 1 - 1
build.gradle

@@ -5,7 +5,7 @@ buildscript {
         kotlin_version = '1.7.10'
         compose_version = '1.2.1'
         compose_compiler_version = '1.3.0'
-        agp_version= '7.2.2'
+        agp_version = '7.3.0'
         exoplayer_version = '2.18.1'
         splitties_version = '3.0.0'
         room_version = '2.4.3'