Add custom primary color and color scheme Add linux nad windows arm release Optimize requests and logs page
51 lines
999 B
Dart
51 lines
999 B
Dart
import 'dart:async';
|
|
import 'dart:io';
|
|
|
|
import 'package:flutter/foundation.dart';
|
|
import 'package:launch_at_startup/launch_at_startup.dart';
|
|
|
|
import 'constant.dart';
|
|
import 'system.dart';
|
|
|
|
class AutoLaunch {
|
|
static AutoLaunch? _instance;
|
|
|
|
AutoLaunch._internal() {
|
|
launchAtStartup.setup(
|
|
appName: appName,
|
|
appPath: Platform.resolvedExecutable,
|
|
);
|
|
}
|
|
|
|
factory AutoLaunch() {
|
|
_instance ??= AutoLaunch._internal();
|
|
return _instance!;
|
|
}
|
|
|
|
Future<bool> get isEnable async {
|
|
return await launchAtStartup.isEnabled();
|
|
}
|
|
|
|
Future<bool> enable() async {
|
|
return await launchAtStartup.enable();
|
|
}
|
|
|
|
Future<bool> disable() async {
|
|
return await launchAtStartup.disable();
|
|
}
|
|
|
|
updateStatus(bool isAutoLaunch) async {
|
|
if(kDebugMode){
|
|
return;
|
|
}
|
|
if (await isEnable == isAutoLaunch) return;
|
|
if (isAutoLaunch == true) {
|
|
enable();
|
|
} else {
|
|
disable();
|
|
}
|
|
}
|
|
}
|
|
|
|
final autoLaunch = system.isDesktop ? AutoLaunch() : null;
|