From 028dfdff3d5d735ef98772dc63492cfac4be4926 Mon Sep 17 00:00:00 2001 From: FongMi Date: Sat, 17 Feb 2024 23:41:15 +0800 Subject: [PATCH] [leanback] support config name --- .../android/tv/ui/dialog/ConfigDialog.java | 5 ++- app/src/leanback/res/layout/dialog_config.xml | 6 +++ app/src/main/assets/index.html | 39 ++++++++++++++----- app/src/main/assets/js/script.js | 2 +- .../fongmi/android/tv/event/ServerEvent.java | 14 +++++++ .../android/tv/server/process/Action.java | 3 +- 6 files changed, 56 insertions(+), 13 deletions(-) diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/dialog/ConfigDialog.java b/app/src/leanback/java/com/fongmi/android/tv/ui/dialog/ConfigDialog.java index 7d68bb9a0..4c815c06b 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/dialog/ConfigDialog.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/dialog/ConfigDialog.java @@ -139,10 +139,12 @@ public class ConfigDialog implements DialogInterface.OnDismissListener { } private void onPositive(View view) { + String name = binding.name.getText().toString().trim(); String text = binding.text.getText().toString().trim(); if (edit) Config.find(url, type).url(text).update(); if (text.isEmpty()) Config.delete(url, type); - callback.setConfig(Config.find(text, type)); + if (name.isEmpty()) callback.setConfig(Config.find(text, type)); + else callback.setConfig(Config.find(text, name, type)); dialog.dismiss(); } @@ -153,6 +155,7 @@ public class ConfigDialog implements DialogInterface.OnDismissListener { @Subscribe(threadMode = ThreadMode.MAIN) public void onServerEvent(ServerEvent event) { if (event.getType() != ServerEvent.Type.SETTING) return; + binding.name.setText(event.getName()); binding.text.setText(event.getText()); binding.text.setSelection(binding.text.getText().length()); } diff --git a/app/src/leanback/res/layout/dialog_config.xml b/app/src/leanback/res/layout/dialog_config.xml index 24b89132d..343a9f426 100644 --- a/app/src/leanback/res/layout/dialog_config.xml +++ b/app/src/leanback/res/layout/dialog_config.xml @@ -27,6 +27,12 @@ android:textSize="18sp" tools:text="@string/push_info" /> + +
-
+
+ +
@@ -47,10 +49,12 @@
-
+
+ +
@@ -60,16 +64,19 @@

接口/Proxy/User-Agent

-
+
- - + +
+
+ +
@@ -81,7 +88,7 @@
-
+
上傳檔案  新增資料夾  @@ -94,25 +101,37 @@
diff --git a/app/src/main/assets/js/script.js b/app/src/main/assets/js/script.js index 08a7e7761..b790410cd 100644 --- a/app/src/main/assets/js/script.js +++ b/app/src/main/assets/js/script.js @@ -13,7 +13,7 @@ function push() { } function setting() { - doAction('setting', { text: $('#setting_text').val() }); + doAction('setting', { text: $('#setting_text').val(), name: $('#setting_name').val() }); } function file(path) { diff --git a/app/src/main/java/com/fongmi/android/tv/event/ServerEvent.java b/app/src/main/java/com/fongmi/android/tv/event/ServerEvent.java index 28c889398..3eed9722e 100644 --- a/app/src/main/java/com/fongmi/android/tv/event/ServerEvent.java +++ b/app/src/main/java/com/fongmi/android/tv/event/ServerEvent.java @@ -6,6 +6,7 @@ public class ServerEvent { private final Type type; private final String text; + private final String name; public static void search(String text) { EventBus.getDefault().post(new ServerEvent(Type.SEARCH, text)); @@ -19,9 +20,18 @@ public class ServerEvent { EventBus.getDefault().post(new ServerEvent(Type.SETTING, text)); } + public static void setting(String text, String name) { + EventBus.getDefault().post(new ServerEvent(Type.SETTING, text, name)); + } + private ServerEvent(Type type, String text) { + this(type, text, ""); + } + + private ServerEvent(Type type, String text, String name) { this.type = type; this.text = text; + this.name = name; } public Type getType() { @@ -32,6 +42,10 @@ public class ServerEvent { return text; } + public String getName() { + return name; + } + public enum Type { SEARCH, PUSH, SETTING } diff --git a/app/src/main/java/com/fongmi/android/tv/server/process/Action.java b/app/src/main/java/com/fongmi/android/tv/server/process/Action.java index 11de23b23..2c0a52923 100644 --- a/app/src/main/java/com/fongmi/android/tv/server/process/Action.java +++ b/app/src/main/java/com/fongmi/android/tv/server/process/Action.java @@ -77,8 +77,9 @@ public class Action implements Process { private void onSetting(Map params) { String text = params.get("text"); + String name = params.get("name"); if (TextUtils.isEmpty(text)) return; - ServerEvent.setting(text); + ServerEvent.setting(text, name); } private void onFile(Map params) {