| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- 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'];
- var keyboardList = await keyboardRepository.getKeyboardList(
- type: type,
- );
- return jsonEncode(keyboardList.toJson());
- 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>();
- }
- }
|