| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- import 'dart:convert';
- import 'package:flutter/services.dart';
- import 'package:flutter/widgets.dart';
- import 'package:get/get_rx/src/rx_types/rx_types.dart';
- import 'package:injectable/injectable.dart';
- import 'package:keyboard/data/repository/chat_repository.dart';
- import 'package:keyboard/data/repository/keyboard_repository.dart';
- import 'package:keyboard/utils/atmob_log.dart';
- import 'package:keyboard_android/keyboard_android.dart';
- import '../../data/bean/stream_deepseek_data.dart' as deepseek_data;
- import '../../di/get_it.dart';
- import '../data/bean/keyboard_info.dart';
- @lazySingleton
- class KeyboardAndroidPlatform {
- static const MethodChannel _channel = MethodChannel('keyboard_android');
- var tag = "KeyboardAndroidPlatform";
- final KeyboardRepository keyboardRepository;
- /// 插件对象
- final _keyboardAndroidPlugin = KeyboardAndroid();
- RxList<KeyboardInfo> get keyboardInfoList =>
- keyboardRepository.keyboardInfoList;
- KeyboardAndroidPlatform(this.keyboardRepository) {
- AtmobLog.d(tag, '$tag....init');
- init();
- }
- void init() {
- _channel.setMethodCallHandler((MethodCall call) async {
- switch (call.method) {
- case 'getKeyboardList':
- String? type = call.arguments?['type'] as String?;
- var keyboardList = await keyboardRepository.getKeyboardList(
- type: type,
- );
- String json = jsonEncode(keyboardList.toJson());
- return json;
- default:
- throw MissingPluginException('Not implemented');
- }
- });
- }
- Future<void> sendDynamicTextRequest(
- String method,
- String currentContent,
- ) async {
- switch (method) {
- case 'MethodA':
- AtmobLog.d(tag, 'MethodA');
- break;
- default:
- AtmobLog.d(tag, 'default');
- }
- }
- void enableFloatingWindow(bool enable) {
- debugPrint('enableFloatingWindow $enable');
- _keyboardAndroidPlugin.enableFloatingWindow(enable);
- }
- void openInputMethodSettings() {
- debugPrint('openInputMethodSettings');
- _keyboardAndroidPlugin.openInputMethodSettings();
- }
- Future<bool> isTargetKeyboardEnabled() {
- var enable = _keyboardAndroidPlugin.isTargetKeyboardEnabled();
- debugPrint('isTargetKeyboardEnabled value : $enable');
- return enable;
- }
- static KeyboardAndroidPlatform getInstance() {
- return getIt.get<KeyboardAndroidPlatform>();
- }
- }
|