kunfei 3 лет назад
Родитель
Сommit
9e11e019a9

+ 12 - 3
app/src/main/java/io/legado/app/ui/config/DirectLinkUploadConfig.kt

@@ -11,9 +11,7 @@ import io.legado.app.databinding.DialogDirectLinkUploadConfigBinding
 import io.legado.app.help.DirectLinkUpload
 import io.legado.app.lib.dialogs.selector
 import io.legado.app.lib.theme.primaryColor
-import io.legado.app.utils.applyTint
-import io.legado.app.utils.setLayout
-import io.legado.app.utils.toastOnUi
+import io.legado.app.utils.*
 import io.legado.app.utils.viewbindingdelegate.viewBinding
 import splitties.views.onClick
 
@@ -51,6 +49,17 @@ class DirectLinkUploadConfig : BaseDialogFragment(R.layout.dialog_direct_link_up
     override fun onMenuItemClick(item: MenuItem?): Boolean {
         when (item?.itemId) {
             R.id.menu_import_default -> importDefault()
+            R.id.menu_copy_rule -> getRule()?.let { rule ->
+                requireContext().sendToClip(GSON.toJson(rule))
+            }
+            R.id.menu_paste_rule -> runCatching {
+                requireContext().getClipText()!!.let {
+                    val rule = GSON.fromJsonObject<DirectLinkUpload.Rule>(it).getOrThrow()
+                    upView(rule)
+                }
+            }.onFailure {
+                toastOnUi("剪贴板为空或格式不对")
+            }
         }
         return true
     }

+ 10 - 0
app/src/main/res/menu/direct_link_upload_config.xml

@@ -2,6 +2,16 @@
 <menu xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto">
 
+    <item
+        android:id="@+id/menu_copy_rule"
+        android:title="@string/copy_rule"
+        app:showAsAction="never" />
+
+    <item
+        android:id="@+id/menu_paste_rule"
+        android:title="@string/paste_rule"
+        app:showAsAction="never" />
+
     <item
         android:id="@+id/menu_import_default"
         android:title="@string/import_default_rule"