From 6eb0dfced4ab87b3fd831affd806aad84d37dc1f Mon Sep 17 00:00:00 2001
From: Yabin Li <wucong.lyb@alibaba-inc.com>
Date: 星期一, 23 十月 2023 10:48:54 +0800
Subject: [PATCH] Dev server hotwords (#1033)

---
 funasr/runtime/android/AndroidClient/app/src/main/java/com/yeyupiaoling/androidclient/MainActivity.java |   31 ++++++++++++++++++++-----------
 1 files changed, 20 insertions(+), 11 deletions(-)

diff --git a/funasr/runtime/android/AndroidClient/app/src/main/java/com/yeyupiaoling/androidclient/MainActivity.java b/funasr/runtime/android/AndroidClient/app/src/main/java/com/yeyupiaoling/androidclient/MainActivity.java
index be14bd3..f45877c 100644
--- a/funasr/runtime/android/AndroidClient/app/src/main/java/com/yeyupiaoling/androidclient/MainActivity.java
+++ b/funasr/runtime/android/AndroidClient/app/src/main/java/com/yeyupiaoling/androidclient/MainActivity.java
@@ -39,6 +39,8 @@
     public static final String TAG = MainActivity.class.getSimpleName();
     // WebSocket鍦板潃
     public String ASR_HOST = "";
+    // 瀹樻柟WebSocket鍦板潃
+    public static final String DEFAULT_HOST = "wss://101.37.77.25:10088";
     // 鍙戦�佺殑JSON鏁版嵁
     public static final String MODE = "2pass";
     public static final String CHUNK_SIZE = "5, 10, 5";
@@ -61,7 +63,6 @@
     // 鎺т欢
     private Button recordBtn;
     private TextView resultText;
-    private WebSocket webSocket;
 
     @SuppressLint("ClickableViewAccessibility")
     @Override
@@ -106,8 +107,8 @@
             ASR_HOST = uri;
         }
         // 璇诲彇鐑瘝
-        String hotWords = sharedPreferences.getString("hotwords", "");
-        if (!hotWords.equals("")) {
+        String hotWords = sharedPreferences.getString("hotwords", null);
+        if (hotWords != null) {
             this.hotWords = hotWords;
         }
     }
@@ -150,6 +151,14 @@
                 editor.apply();
             }
         });
+        builder.setNeutralButton("浣跨敤瀹樻柟鏈嶅姟", (dialog, id) -> {
+            ASR_HOST = DEFAULT_HOST;
+            input.setText(DEFAULT_HOST);
+            Toast.makeText(MainActivity.this, "WebSocket鍦板潃锛�" + ASR_HOST, Toast.LENGTH_SHORT).show();
+            SharedPreferences.Editor editor = sharedPreferences.edit();
+            editor.putString("uri", ASR_HOST);
+            editor.apply();
+        });
         AlertDialog dialog = builder.create();
         dialog.show();
     }
@@ -166,12 +175,10 @@
         builder.setView(view);
         builder.setPositiveButton("纭畾", (dialog, id) -> {
             String hotwords = input.getText().toString();
-            if (!hotwords.equals("")) {
-                this.hotWords = hotwords;
-                SharedPreferences.Editor editor = sharedPreferences.edit();
-                editor.putString("hotwords", hotwords);
-                editor.apply();
-            }
+            this.hotWords = hotwords;
+            SharedPreferences.Editor editor = sharedPreferences.edit();
+            editor.putString("hotwords", hotwords);
+            editor.apply();
         });
         AlertDialog dialog = builder.create();
         dialog.show();
@@ -225,7 +232,7 @@
         Request request = new Request.Builder()
                 .url(ASR_HOST)
                 .build();
-        webSocket = client.newWebSocket(request, new WebSocketListener() {
+        WebSocket webSocket = client.newWebSocket(request, new WebSocketListener() {
 
             @Override
             public void onOpen(@NonNull WebSocket webSocket, @NonNull Response response) {
@@ -311,7 +318,9 @@
             obj.put("chunk_size", array);
             obj.put("chunk_interval", CHUNK_INTERVAL);
             obj.put("wav_name", "default");
-            obj.put("hotwords", hotWords);
+            if (!hotWords.equals("")) {
+                obj.put("hotwords", hotWords);
+            }
             obj.put("wav_format", "pcm");
             obj.put("is_speaking", isSpeaking);
             return obj.toString();

--
Gitblit v1.9.1