فهرست منبع

[feat]添加给android原生获取的getCurrentKeyboardId

云天逵 8 ماه پیش
والد
کامیت
d2a3ad313d
1فایلهای تغییر یافته به همراه14 افزوده شده و 10 حذف شده
  1. 14 10
      lib/plugins/keyboard_method_handler.dart

+ 14 - 10
lib/plugins/keyboard_method_handler.dart

@@ -10,10 +10,7 @@ class KeyboardMethodHandler {
 
   static const String keyboardSelect = 'keyboard_select';
 
-  KeyboardMethodHandler(
-      this.keyboardRepository,
-      this.charactersRepository,
-      );
+  KeyboardMethodHandler(this.keyboardRepository, this.charactersRepository);
 
   Future<dynamic> handleMethodCall(MethodCall call) async {
     switch (call.method) {
@@ -23,6 +20,8 @@ class KeyboardMethodHandler {
         return _handleSelectedKeyboard(call);
       case 'getCharacterList':
         return await _handleGetCharacterList(call);
+      case 'getCurrentKeyboardId':
+        return await _handleGetCurrentKeyboardId(call);
       default:
         throw MissingPluginException('Not implemented: ${call.method}');
     }
@@ -44,20 +43,25 @@ class KeyboardMethodHandler {
     return jsonEncode(keyboardList.toJson());
   }
 
-
   Future<String> _handleSelectedKeyboard(MethodCall call) async {
     final String keyboardId = call.arguments['keyboardId'];
     KVUtil.putString(keyboardSelect, keyboardId);
     return "{}";
   }
 
+  Future<String> _handleGetCurrentKeyboardId(MethodCall call)  async {
+    String? keyboardId = KVUtil.getString(keyboardSelect, null);
+    if (keyboardId == null) {
+      return "{}";
+    }
+    return jsonEncode({"keyboardId": keyboardId});
+  }
+
   Future<String> _handleGetCharacterList(MethodCall call) async {
     final String keyboardId = call.arguments['keyboardId'];
-    final characterList = await keyboardRepository.getKeyboardCharacterList(keyboardId: keyboardId);
+    final characterList = await keyboardRepository.getKeyboardCharacterList(
+      keyboardId: keyboardId,
+    );
     return jsonEncode(characterList.toJson());
   }
-
-
-
-
 }