28 lines
768 B
Dart
28 lines
768 B
Dart
import 'package:flutter/foundation.dart';
|
|
import 'package:flutter/services.dart';
|
|
|
|
import 'proxy_platform_interface.dart';
|
|
|
|
/// An implementation of [ProxyPlatform] that uses method channels.
|
|
class MethodChannelProxy extends ProxyPlatform {
|
|
/// The method channel used to interact with the native platform.
|
|
@visibleForTesting
|
|
final methodChannel = const MethodChannel('proxy');
|
|
|
|
MethodChannelProxy();
|
|
|
|
@override
|
|
Future<bool?> startProxy(int port, String? args) async {
|
|
return await methodChannel.invokeMethod<bool>("StartProxy", {'port': port});
|
|
}
|
|
|
|
@override
|
|
Future<bool?> stopProxy() async {
|
|
final isStop = await methodChannel.invokeMethod<bool>("StopProxy");
|
|
if (isStop == true) {
|
|
startTime = null;
|
|
}
|
|
return isStop;
|
|
}
|
|
}
|