Support core status check and force restart Optimize proxies page and access page Update flutter and pub dependencies Update go version Optimize more details
112 lines
3.5 KiB
Dart
112 lines
3.5 KiB
Dart
// ignore_for_file: constant_identifier_names
|
|
|
|
import 'dart:math';
|
|
import 'dart:ui';
|
|
|
|
import 'package:collection/collection.dart';
|
|
import 'package:fl_clash/common/common.dart';
|
|
import 'package:fl_clash/enum/enum.dart';
|
|
import 'package:fl_clash/models/models.dart';
|
|
import 'package:flutter/material.dart';
|
|
|
|
const appName = 'FlClash';
|
|
const appHelperService = 'FlClashHelperService';
|
|
const coreName = 'clash.meta';
|
|
const browserUa =
|
|
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36';
|
|
const packageName = 'com.follow.clash';
|
|
final unixSocketPath = '/tmp/FlClashSocket_${Random().nextInt(10000)}.sock';
|
|
const helperPort = 47890;
|
|
const maxTextScale = 1.4;
|
|
const minTextScale = 0.8;
|
|
final baseInfoEdgeInsets = EdgeInsets.symmetric(
|
|
vertical: 16.ap,
|
|
horizontal: 16.ap,
|
|
);
|
|
|
|
final defaultTextScaleFactor =
|
|
WidgetsBinding.instance.platformDispatcher.textScaleFactor;
|
|
const httpTimeoutDuration = Duration(milliseconds: 5000);
|
|
const moreDuration = Duration(milliseconds: 100);
|
|
const animateDuration = Duration(milliseconds: 100);
|
|
const midDuration = Duration(milliseconds: 200);
|
|
const commonDuration = Duration(milliseconds: 300);
|
|
const defaultUpdateDuration = Duration(days: 1);
|
|
const MMDB = 'GEOIP.metadb';
|
|
const ASN = 'ASN.mmdb';
|
|
const GEOIP = 'GEOIP.dat';
|
|
const GEOSITE = 'GEOSITE.dat';
|
|
final double kHeaderHeight = system.isDesktop
|
|
? !system.isMacOS
|
|
? 40
|
|
: 28
|
|
: 0;
|
|
const profilesDirectoryName = 'profiles';
|
|
const localhost = '127.0.0.1';
|
|
const clashConfigKey = 'clash_config';
|
|
const configKey = 'config';
|
|
const double dialogCommonWidth = 300;
|
|
const repository = 'chen08209/FlClash';
|
|
const defaultExternalController = '127.0.0.1:9090';
|
|
const maxMobileWidth = 600;
|
|
const maxLaptopWidth = 840;
|
|
const defaultTestUrl = 'https://www.gstatic.com/generate_204';
|
|
final commonFilter = ImageFilter.blur(
|
|
sigmaX: 5,
|
|
sigmaY: 5,
|
|
tileMode: TileMode.mirror,
|
|
);
|
|
|
|
const navigationItemListEquality = ListEquality<NavigationItem>();
|
|
const trackerInfoListEquality = ListEquality<TrackerInfo>();
|
|
const stringListEquality = ListEquality<String>();
|
|
const intListEquality = ListEquality<int>();
|
|
const logListEquality = ListEquality<Log>();
|
|
const groupListEquality = ListEquality<Group>();
|
|
const externalProviderListEquality = ListEquality<ExternalProvider>();
|
|
const packageListEquality = ListEquality<Package>();
|
|
const hotKeyActionListEquality = ListEquality<HotKeyAction>();
|
|
const stringAndStringMapEquality = MapEquality<String, String>();
|
|
const stringAndStringMapEntryIterableEquality =
|
|
IterableEquality<MapEntry<String, String>>();
|
|
const delayMapEquality = MapEquality<String, Map<String, int?>>();
|
|
const stringSetEquality = SetEquality<String>();
|
|
const keyboardModifierListEquality = SetEquality<KeyboardModifier>();
|
|
|
|
const viewModeColumnsMap = {
|
|
ViewMode.mobile: [2, 1],
|
|
ViewMode.laptop: [3, 2],
|
|
ViewMode.desktop: [4, 3],
|
|
};
|
|
|
|
const proxiesListStoreKey = PageStorageKey<String>('proxies_list');
|
|
const toolsStoreKey = PageStorageKey<String>('tools');
|
|
const profilesStoreKey = PageStorageKey<String>('profiles');
|
|
|
|
const defaultPrimaryColor = 0XFFD8C0C3;
|
|
|
|
double getWidgetHeight(num lines) {
|
|
return max(lines * 80 + (lines - 1) * 16, 0).ap;
|
|
}
|
|
|
|
const maxLength = 1000;
|
|
|
|
final mainIsolate = 'FlClashMainIsolate';
|
|
|
|
final serviceIsolate = 'FlClashServiceIsolate';
|
|
|
|
const defaultPrimaryColors = [
|
|
0xFF795548,
|
|
0xFF03A9F4,
|
|
0xFFFFFF00,
|
|
0XFFBBC9CC,
|
|
0XFFABD397,
|
|
defaultPrimaryColor,
|
|
0XFF665390,
|
|
];
|
|
|
|
const scriptTemplate = '''
|
|
const main = (config) => {
|
|
return config;
|
|
}''';
|