Files
MWClash/lib/common/system.dart

41 lines
779 B
Dart
Raw Normal View History

2024-04-30 23:38:49 +08:00
import 'dart:io';
import 'package:fl_clash/plugins/app.dart';
import 'package:flutter/services.dart';
import 'window.dart';
class System {
static System? _instance;
System._internal();
factory System() {
_instance ??= System._internal();
return _instance!;
}
bool get isDesktop =>
Platform.isWindows || Platform.isMacOS || Platform.isLinux;
get isAdmin async {
if (!Platform.isWindows) return false;
final result = await Process.run('net', ['session'], runInShell: true);
return result.exitCode == 0;
}
2024-04-30 23:38:49 +08:00
back() async {
await app?.moveTaskToBack();
await window?.hide();
}
exit() async {
if (Platform.isAndroid) {
await SystemNavigator.pop();
}
await window?.close();
}
}
final system = System();