mirror of
https://github.com/lifegpc/eh_downloader_flutter.git
synced 2026-07-08 01:30:28 +08:00
Save preferences to same directory to binary file on Windows
This commit is contained in:
28
lib/platform/path.dart
Normal file
28
lib/platform/path.dart
Normal file
@@ -0,0 +1,28 @@
|
||||
import 'dart:async';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:logging/logging.dart';
|
||||
import '../utils.dart';
|
||||
|
||||
final Logger _log = Logger("platformPath");
|
||||
|
||||
class Path {
|
||||
static const platform = MethodChannel("lifegpc.eh_downloader_flutter/path");
|
||||
String? _currentExe;
|
||||
bool _currentExeLoaded = false;
|
||||
|
||||
String? get currentExe => _currentExe;
|
||||
|
||||
Future<String?> getCurrentExe() async {
|
||||
if (_currentExeLoaded) return _currentExe;
|
||||
try {
|
||||
final String result = await platform.invokeMethod("getCurrentExe");
|
||||
_currentExe = result;
|
||||
} on PlatformException catch (e) {
|
||||
if (isWindows) {
|
||||
_log.warning("Failed to get current exe path:", e);
|
||||
}
|
||||
}
|
||||
_currentExeLoaded = true;
|
||||
return _currentExe;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user