import 'native_plugin_platform_interface.dart'; import 'package:flutter/services.dart'; class NativePlugin { Future getPlatformVersion() { return NativePluginPlatform.instance.getPlatformVersion(); } Future createPipContentView() { return NativePluginPlatform.instance.createPipContentView(); } Future updatePipContentView(Map data) { return NativePluginPlatform.instance.updatePipContentView(data); } Future disposePipContentView(int viewId) { return NativePluginPlatform.instance.disposePipContentView(viewId); } Future showRecordingFloatingBar({ required String duration, String? recordingType, bool isPaused = false, }) { return NativePluginPlatform.instance.showRecordingFloatingBar( duration: duration, recordingType: recordingType, isPaused: isPaused, ); } Future updateRecordingFloatingBar({ required String duration, String? recordingType, bool isPaused = false, }) { return NativePluginPlatform.instance.updateRecordingFloatingBar( duration: duration, recordingType: recordingType, isPaused: isPaused, ); } Future hideRecordingFloatingBar() { return NativePluginPlatform.instance.hideRecordingFloatingBar(); } Stream get recordingFloatingActionStream => NativePluginPlatform.instance.recordingFloatingActionStream; } class TranslationFloatingWindowApi { static const MethodChannel channel = MethodChannel('floating_window'); Future enable() async { final result = await channel.invokeMethod('enableFloatingWindow'); return result ?? false; } Future disable() { return channel.invokeMethod('disableFloatingWindow'); } Future show() { return channel.invokeMethod('showFloatingWindow'); } Future hide() { return channel.invokeMethod('hideFloatingWindow'); } Future updateContent(Map data) { return channel.invokeMethod('updateContent', data); } Future setPosition({required double x, required double y}) { return channel.invokeMethod('setPosition', {'x': x, 'y': y}); } }