mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2025-12-17 07:14:28 +01:00
new: wearos detect (#358)
This commit is contained in:
@@ -690,7 +690,7 @@
|
|||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
||||||
CURRENT_PROJECT_VERSION = 897;
|
CURRENT_PROJECT_VERSION = 904;
|
||||||
DEVELOPMENT_TEAM = BA88US33G6;
|
DEVELOPMENT_TEAM = BA88US33G6;
|
||||||
ENABLE_BITCODE = NO;
|
ENABLE_BITCODE = NO;
|
||||||
INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist";
|
INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist";
|
||||||
@@ -700,7 +700,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0.897;
|
MARKETING_VERSION = 1.0.904;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
||||||
@@ -826,7 +826,7 @@
|
|||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
||||||
CURRENT_PROJECT_VERSION = 897;
|
CURRENT_PROJECT_VERSION = 904;
|
||||||
DEVELOPMENT_TEAM = BA88US33G6;
|
DEVELOPMENT_TEAM = BA88US33G6;
|
||||||
ENABLE_BITCODE = NO;
|
ENABLE_BITCODE = NO;
|
||||||
INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist";
|
INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist";
|
||||||
@@ -836,7 +836,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0.897;
|
MARKETING_VERSION = 1.0.904;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
||||||
@@ -854,7 +854,7 @@
|
|||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
||||||
CURRENT_PROJECT_VERSION = 897;
|
CURRENT_PROJECT_VERSION = 904;
|
||||||
DEVELOPMENT_TEAM = BA88US33G6;
|
DEVELOPMENT_TEAM = BA88US33G6;
|
||||||
ENABLE_BITCODE = NO;
|
ENABLE_BITCODE = NO;
|
||||||
INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist";
|
INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist";
|
||||||
@@ -864,7 +864,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0.897;
|
MARKETING_VERSION = 1.0.904;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
||||||
@@ -885,7 +885,7 @@
|
|||||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 897;
|
CURRENT_PROJECT_VERSION = 904;
|
||||||
DEVELOPMENT_TEAM = BA88US33G6;
|
DEVELOPMENT_TEAM = BA88US33G6;
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||||
GENERATE_INFOPLIST_FILE = YES;
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
@@ -898,7 +898,7 @@
|
|||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
"@executable_path/../../Frameworks",
|
"@executable_path/../../Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0.897;
|
MARKETING_VERSION = 1.0.904;
|
||||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget;
|
||||||
@@ -924,7 +924,7 @@
|
|||||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 897;
|
CURRENT_PROJECT_VERSION = 904;
|
||||||
DEVELOPMENT_TEAM = BA88US33G6;
|
DEVELOPMENT_TEAM = BA88US33G6;
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||||
GENERATE_INFOPLIST_FILE = YES;
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
@@ -937,7 +937,7 @@
|
|||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
"@executable_path/../../Frameworks",
|
"@executable_path/../../Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0.897;
|
MARKETING_VERSION = 1.0.904;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
@@ -960,7 +960,7 @@
|
|||||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 897;
|
CURRENT_PROJECT_VERSION = 904;
|
||||||
DEVELOPMENT_TEAM = BA88US33G6;
|
DEVELOPMENT_TEAM = BA88US33G6;
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||||
GENERATE_INFOPLIST_FILE = YES;
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
@@ -973,7 +973,7 @@
|
|||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
"@executable_path/../../Frameworks",
|
"@executable_path/../../Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0.897;
|
MARKETING_VERSION = 1.0.904;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
@@ -996,7 +996,7 @@
|
|||||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 897;
|
CURRENT_PROJECT_VERSION = 904;
|
||||||
DEVELOPMENT_ASSET_PATHS = "";
|
DEVELOPMENT_ASSET_PATHS = "";
|
||||||
DEVELOPMENT_TEAM = BA88US33G6;
|
DEVELOPMENT_TEAM = BA88US33G6;
|
||||||
ENABLE_PREVIEWS = YES;
|
ENABLE_PREVIEWS = YES;
|
||||||
@@ -1008,7 +1008,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0.897;
|
MARKETING_VERSION = 1.0.904;
|
||||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.WatchEnd;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.WatchEnd;
|
||||||
@@ -1037,7 +1037,7 @@
|
|||||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 897;
|
CURRENT_PROJECT_VERSION = 904;
|
||||||
DEVELOPMENT_ASSET_PATHS = "";
|
DEVELOPMENT_ASSET_PATHS = "";
|
||||||
DEVELOPMENT_TEAM = BA88US33G6;
|
DEVELOPMENT_TEAM = BA88US33G6;
|
||||||
ENABLE_PREVIEWS = YES;
|
ENABLE_PREVIEWS = YES;
|
||||||
@@ -1049,7 +1049,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0.897;
|
MARKETING_VERSION = 1.0.904;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.WatchEnd;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.WatchEnd;
|
||||||
PRODUCT_NAME = ServerBox;
|
PRODUCT_NAME = ServerBox;
|
||||||
@@ -1075,7 +1075,7 @@
|
|||||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 897;
|
CURRENT_PROJECT_VERSION = 904;
|
||||||
DEVELOPMENT_ASSET_PATHS = "";
|
DEVELOPMENT_ASSET_PATHS = "";
|
||||||
DEVELOPMENT_TEAM = BA88US33G6;
|
DEVELOPMENT_TEAM = BA88US33G6;
|
||||||
ENABLE_PREVIEWS = YES;
|
ENABLE_PREVIEWS = YES;
|
||||||
@@ -1087,7 +1087,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0.897;
|
MARKETING_VERSION = 1.0.904;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.WatchEnd;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.WatchEnd;
|
||||||
PRODUCT_NAME = ServerBox;
|
PRODUCT_NAME = ServerBox;
|
||||||
|
|||||||
22
lib/app.dart
22
lib/app.dart
@@ -18,7 +18,7 @@ class MyApp extends StatelessWidget {
|
|||||||
builder: (_, __) {
|
builder: (_, __) {
|
||||||
if (!Stores.setting.useSystemPrimaryColor.fetch()) {
|
if (!Stores.setting.useSystemPrimaryColor.fetch()) {
|
||||||
UIs.colorSeed = Color(Stores.setting.primaryColor.fetch());
|
UIs.colorSeed = Color(Stores.setting.primaryColor.fetch());
|
||||||
return _buildApp();
|
return _buildApp(context);
|
||||||
}
|
}
|
||||||
return DynamicColorBuilder(
|
return DynamicColorBuilder(
|
||||||
builder: (light, dark) {
|
builder: (light, dark) {
|
||||||
@@ -36,14 +36,14 @@ class MyApp extends StatelessWidget {
|
|||||||
} else if (!context.isDark && dark != null) {
|
} else if (!context.isDark && dark != null) {
|
||||||
UIs.primaryColor = dark.primary;
|
UIs.primaryColor = dark.primary;
|
||||||
}
|
}
|
||||||
return _buildApp(light: lightTheme, dark: darkTheme);
|
return _buildApp(context, light: lightTheme, dark: darkTheme);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget _buildApp({ThemeData? light, ThemeData? dark}) {
|
Widget _buildApp(BuildContext ctx, {ThemeData? light, ThemeData? dark}) {
|
||||||
final tMode = Stores.setting.themeMode.fetch();
|
final tMode = Stores.setting.themeMode.fetch();
|
||||||
// Issue #57
|
// Issue #57
|
||||||
final themeMode = switch (tMode) {
|
final themeMode = switch (tMode) {
|
||||||
@@ -71,15 +71,17 @@ class MyApp extends StatelessWidget {
|
|||||||
themeMode: themeMode,
|
themeMode: themeMode,
|
||||||
theme: light,
|
theme: light,
|
||||||
darkTheme: tMode < 3 ? dark : _getAmoledTheme(dark),
|
darkTheme: tMode < 3 ? dark : _getAmoledTheme(dark),
|
||||||
home: Stores.setting.fullScreen.fetch()
|
home: _buildAppContent(ctx),
|
||||||
? OrientationBuilder(
|
|
||||||
builder: (_, ori) {
|
|
||||||
return HomePage(fullScreen: ori == Orientation.landscape);
|
|
||||||
},
|
|
||||||
)
|
|
||||||
: const HomePage(),
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Widget _buildAppContent(BuildContext ctx) {
|
||||||
|
//if (Pros.app.isWearOS) return const WearHome();
|
||||||
|
return const HomePage();
|
||||||
|
}
|
||||||
|
|
||||||
|
// bool _isSmallDevice(BuildContext ctx) =>
|
||||||
|
// MediaQuery.of(ctx).size.shortestSide < 600;
|
||||||
}
|
}
|
||||||
|
|
||||||
void _setup(BuildContext context) async {
|
void _setup(BuildContext context) async {
|
||||||
|
|||||||
@@ -82,9 +82,9 @@ chmod +x $_installShellPath
|
|||||||
case ShellFunc.status:
|
case ShellFunc.status:
|
||||||
return '''
|
return '''
|
||||||
if [ "\$macSign" = "" ] && [ "\$bsdSign" = "" ]; then
|
if [ "\$macSign" = "" ] && [ "\$bsdSign" = "" ]; then
|
||||||
\t${_statusCmds.join(cmdDivider)}
|
\t${StatusCmdType.values.map((e) => e.cmd).join(cmdDivider)}
|
||||||
else
|
else
|
||||||
\t${_bsdStatusCmd.join(cmdDivider)}
|
\t${BSDStatusCmdType.values.map((e) => e.cmd).join(cmdDivider)}
|
||||||
fi''';
|
fi''';
|
||||||
// case ShellFunc.docker:
|
// case ShellFunc.docker:
|
||||||
// return '''
|
// return '''
|
||||||
@@ -196,72 +196,47 @@ extension EnumX on Enum {
|
|||||||
}
|
}
|
||||||
|
|
||||||
enum StatusCmdType {
|
enum StatusCmdType {
|
||||||
echo,
|
echo._('echo ${SystemType.linuxSign}'),
|
||||||
time,
|
time._('date +%s'),
|
||||||
net,
|
net._('cat /proc/net/dev'),
|
||||||
sys,
|
sys._('cat /etc/*-release | grep PRETTY_NAME'),
|
||||||
cpu,
|
cpu._('cat /proc/stat | grep cpu'),
|
||||||
uptime,
|
uptime._('uptime'),
|
||||||
conn,
|
conn._('cat /proc/net/snmp'),
|
||||||
disk,
|
disk._('df'),
|
||||||
mem,
|
mem._("cat /proc/meminfo | grep -E 'Mem|Swap'"),
|
||||||
tempType,
|
tempType._('cat /sys/class/thermal/thermal_zone*/type'),
|
||||||
tempVal,
|
tempVal._('cat /sys/class/thermal/thermal_zone*/temp'),
|
||||||
host,
|
host._('cat /etc/hostname'),
|
||||||
diskio,
|
diskio._('cat /proc/diskstats'),
|
||||||
battery,
|
battery._(
|
||||||
nvidia,
|
'for f in /sys/class/power_supply/*/uevent; do cat "\$f"; echo; done'),
|
||||||
sensors,
|
nvidia._('nvidia-smi -q -x'),
|
||||||
|
sensors._('sensors'),
|
||||||
;
|
;
|
||||||
}
|
|
||||||
|
|
||||||
/// Cmds for linux server
|
final String cmd;
|
||||||
const _statusCmds = [
|
|
||||||
'echo ${SystemType.linuxSign}',
|
const StatusCmdType._(this.cmd);
|
||||||
'date +%s',
|
}
|
||||||
'cat /proc/net/dev',
|
|
||||||
'cat /etc/*-release | grep PRETTY_NAME',
|
|
||||||
'cat /proc/stat | grep cpu',
|
|
||||||
'uptime',
|
|
||||||
'cat /proc/net/snmp',
|
|
||||||
'df',
|
|
||||||
"cat /proc/meminfo | grep -E 'Mem|Swap'",
|
|
||||||
'cat /sys/class/thermal/thermal_zone*/type',
|
|
||||||
'cat /sys/class/thermal/thermal_zone*/temp',
|
|
||||||
'cat /etc/hostname',
|
|
||||||
'cat /proc/diskstats',
|
|
||||||
'for f in /sys/class/power_supply/*/uevent; do cat "\$f"; echo; done',
|
|
||||||
'nvidia-smi -q -x',
|
|
||||||
'sensors',
|
|
||||||
];
|
|
||||||
|
|
||||||
enum BSDStatusCmdType {
|
enum BSDStatusCmdType {
|
||||||
echo,
|
echo._('echo ${SystemType.bsdSign}'),
|
||||||
time,
|
time._('date +%s'),
|
||||||
net,
|
net._('netstat -ibn'),
|
||||||
sys,
|
sys._('uname -or'),
|
||||||
cpu,
|
cpu._('top -l 1 | grep "CPU usage"'),
|
||||||
uptime,
|
uptime._('uptime'),
|
||||||
disk,
|
disk._('df -k'),
|
||||||
mem,
|
mem._('top -l 1 | grep PhysMem'),
|
||||||
//temp,
|
//temp,
|
||||||
host,
|
host._('hostname'),
|
||||||
;
|
;
|
||||||
}
|
|
||||||
|
|
||||||
/// Cmds for BSD server
|
final String cmd;
|
||||||
const _bsdStatusCmd = [
|
|
||||||
'echo ${SystemType.bsdSign}',
|
const BSDStatusCmdType._(this.cmd);
|
||||||
'date +%s',
|
}
|
||||||
'netstat -ibn',
|
|
||||||
'uname -or',
|
|
||||||
'top -l 1 | grep "CPU usage"',
|
|
||||||
'uptime',
|
|
||||||
'df -k',
|
|
||||||
'top -l 1 | grep PhysMem',
|
|
||||||
//'sysctl -a | grep temperature',
|
|
||||||
'hostname',
|
|
||||||
];
|
|
||||||
|
|
||||||
extension StatusCmdTypeX on StatusCmdType {
|
extension StatusCmdTypeX on StatusCmdType {
|
||||||
String get i18n => switch (this) {
|
String get i18n => switch (this) {
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
import 'package:device_info_plus/device_info_plus.dart';
|
||||||
|
import 'package:fl_lib/fl_lib.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
class AppProvider extends ChangeNotifier {
|
class AppProvider extends ChangeNotifier {
|
||||||
@@ -8,7 +10,28 @@ class AppProvider extends ChangeNotifier {
|
|||||||
notifyListeners();
|
notifyListeners();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool moveBg = true;
|
|
||||||
|
|
||||||
BuildContext? ctx;
|
BuildContext? ctx;
|
||||||
|
|
||||||
|
bool isWearOS = false;
|
||||||
|
|
||||||
|
Future<void> init() async {
|
||||||
|
await _initIsWearOS();
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> _initIsWearOS() async {
|
||||||
|
if (!isAndroid) {
|
||||||
|
isWearOS = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
final deviceInfo = DeviceInfoPlugin();
|
||||||
|
final androidInfo = await deviceInfo.androidInfo;
|
||||||
|
|
||||||
|
const feat = 'android.hardware.type.watch';
|
||||||
|
final hasFeat = androidInfo.systemFeatures.contains(feat);
|
||||||
|
if (hasFeat) {
|
||||||
|
isWearOS = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,9 +2,9 @@
|
|||||||
|
|
||||||
class BuildData {
|
class BuildData {
|
||||||
static const String name = "ServerBox";
|
static const String name = "ServerBox";
|
||||||
static const int build = 897;
|
static const int build = 904;
|
||||||
static const String engine = "3.19.6";
|
static const String engine = "3.22.0";
|
||||||
static const String buildAt = "2024-05-14 22:32:07";
|
static const String buildAt = "2024-05-20 16:10:12";
|
||||||
static const int modifications = 12;
|
static const int modifications = 11;
|
||||||
static const int script = 47;
|
static const int script = 47;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -65,36 +65,17 @@ Future<void> _initApp() async {
|
|||||||
WidgetsFlutterBinding.ensureInitialized();
|
WidgetsFlutterBinding.ensureInitialized();
|
||||||
|
|
||||||
await Paths.init(BuildData.name);
|
await Paths.init(BuildData.name);
|
||||||
|
await _initData();
|
||||||
// Base of all data.
|
|
||||||
await _initDb();
|
|
||||||
|
|
||||||
_setupDebug();
|
_setupDebug();
|
||||||
SystemUIs.initDesktopWindow(Stores.setting.hideTitleBar.fetch());
|
|
||||||
|
|
||||||
// Load font
|
SystemUIs.initDesktopWindow(Stores.setting.hideTitleBar.fetch());
|
||||||
FontUtils.loadFrom(Stores.setting.fontPath.fetch());
|
FontUtils.loadFrom(Stores.setting.fontPath.fetch());
|
||||||
|
|
||||||
if (isAndroid) {
|
_doPlatformRelated();
|
||||||
// SharedPreferences is only used on Android for saving home widgets settings.
|
|
||||||
SharedPreferences.setPrefix('');
|
|
||||||
// try switch to highest refresh rate
|
|
||||||
await FlutterDisplayMode.setHighRefreshRate();
|
|
||||||
}
|
|
||||||
|
|
||||||
final serversCount = Stores.server.box.keys.length;
|
|
||||||
// Plus 1 to avoid 0.
|
|
||||||
Computer.shared.turnOn(workersCount: (serversCount / 3).round() + 1);
|
|
||||||
|
|
||||||
if (isIOS || isMacOS) {
|
|
||||||
if (Stores.setting.icloudSync.fetch()) ICloud.sync();
|
|
||||||
}
|
|
||||||
if (Stores.setting.webdavSync.fetch()) Webdav.sync();
|
|
||||||
|
|
||||||
_doVersionRelated();
|
_doVersionRelated();
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> _initDb() async {
|
Future<void> _initData() async {
|
||||||
// await SecureStore.init();
|
// await SecureStore.init();
|
||||||
await Hive.initFlutter();
|
await Hive.initFlutter();
|
||||||
// Ordered by typeId
|
// Ordered by typeId
|
||||||
@@ -115,6 +96,7 @@ Future<void> _initDb() async {
|
|||||||
|
|
||||||
Pros.snippet.load();
|
Pros.snippet.load();
|
||||||
Pros.key.load();
|
Pros.key.load();
|
||||||
|
await Pros.app.init();
|
||||||
}
|
}
|
||||||
|
|
||||||
void _setupDebug() {
|
void _setupDebug() {
|
||||||
@@ -131,6 +113,24 @@ void _setupDebug() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void _doPlatformRelated() async {
|
||||||
|
if (isAndroid) {
|
||||||
|
// SharedPreferences is only used on Android for saving home widgets settings.
|
||||||
|
SharedPreferences.setPrefix('');
|
||||||
|
// try switch to highest refresh rate
|
||||||
|
FlutterDisplayMode.setHighRefreshRate();
|
||||||
|
}
|
||||||
|
|
||||||
|
final serversCount = Stores.server.box.keys.length;
|
||||||
|
// Plus 1 to avoid 0.
|
||||||
|
Computer.shared.turnOn(workersCount: (serversCount / 3).round() + 1);
|
||||||
|
|
||||||
|
if (isIOS || isMacOS) {
|
||||||
|
if (Stores.setting.icloudSync.fetch()) ICloud.sync();
|
||||||
|
}
|
||||||
|
if (Stores.setting.webdavSync.fetch()) Webdav.sync();
|
||||||
|
}
|
||||||
|
|
||||||
// It may contains some async heavy funcs.
|
// It may contains some async heavy funcs.
|
||||||
Future<void> _doVersionRelated() async {
|
Future<void> _doVersionRelated() async {
|
||||||
final curVer = Stores.setting.lastVer.fetch();
|
final curVer = Stores.setting.lastVer.fetch();
|
||||||
@@ -138,7 +138,6 @@ Future<void> _doVersionRelated() async {
|
|||||||
// It's only the version upgrade trigger logic.
|
// It's only the version upgrade trigger logic.
|
||||||
// How to upgrade the data is inside each own func.
|
// How to upgrade the data is inside each own func.
|
||||||
if (curVer < newVer) {
|
if (curVer < newVer) {
|
||||||
// DO version check inside each func.
|
|
||||||
ServerDetailCards.autoAddNewCards(newVer);
|
ServerDetailCards.autoAddNewCards(newVer);
|
||||||
Stores.setting.lastVer.put(newVer);
|
Stores.setting.lastVer.put(newVer);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ import 'package:fl_lib/fl_lib.dart';
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
import 'package:icons_plus/icons_plus.dart';
|
import 'package:icons_plus/icons_plus.dart';
|
||||||
import 'package:permission_handler/permission_handler.dart';
|
|
||||||
import 'package:toolbox/core/channel/home_widget.dart';
|
import 'package:toolbox/core/channel/home_widget.dart';
|
||||||
import 'package:toolbox/core/extension/build.dart';
|
import 'package:toolbox/core/extension/build.dart';
|
||||||
import 'package:toolbox/core/extension/context/locale.dart';
|
import 'package:toolbox/core/extension/context/locale.dart';
|
||||||
@@ -23,9 +22,7 @@ import 'package:wakelock_plus/wakelock_plus.dart';
|
|||||||
part 'appbar.dart';
|
part 'appbar.dart';
|
||||||
|
|
||||||
class HomePage extends StatefulWidget {
|
class HomePage extends StatefulWidget {
|
||||||
final bool fullScreen;
|
const HomePage({super.key});
|
||||||
|
|
||||||
const HomePage({super.key, this.fullScreen = false});
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
State<HomePage> createState() => _HomePageState();
|
State<HomePage> createState() => _HomePageState();
|
||||||
@@ -157,17 +154,17 @@ class _HomePageState extends State<HomePage>
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
bottomNavigationBar: widget.fullScreen
|
bottomNavigationBar: ValBuilder(
|
||||||
? null
|
listenable: _isLandscape,
|
||||||
: ValBuilder(
|
builder: (ls) {
|
||||||
listenable: _isLandscape,
|
return Stores.setting.fullScreen.fetch()
|
||||||
builder: (ls) {
|
? UIs.placeholder
|
||||||
return ListenableBuilder(
|
: ListenableBuilder(
|
||||||
listenable: _selectIndex,
|
listenable: _selectIndex,
|
||||||
builder: (_, __) => _buildBottomBar(ls),
|
builder: (_, __) => _buildBottomBar(ls),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -337,7 +334,7 @@ ${GithubIds.participants.map((e) => '[$e](${e.url})').join(' ')}
|
|||||||
// Auth required for first launch
|
// Auth required for first launch
|
||||||
if (Stores.setting.useBioAuth.fetch()) BioAuth.go();
|
if (Stores.setting.useBioAuth.fetch()) BioAuth.go();
|
||||||
|
|
||||||
_reqNotiPerm();
|
//_reqNotiPerm();
|
||||||
|
|
||||||
if (Stores.setting.autoCheckAppUpdate.fetch()) {
|
if (Stores.setting.autoCheckAppUpdate.fetch()) {
|
||||||
AppUpdateIface.doUpdate(
|
AppUpdateIface.doUpdate(
|
||||||
@@ -352,28 +349,27 @@ ${GithubIds.participants.map((e) => '[$e](${e.url})').join(' ')}
|
|||||||
await Pros.server.refresh();
|
await Pros.server.refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
// It's required by RUpgrade to send update progress
|
// Future<void> _reqNotiPerm() async {
|
||||||
Future<void> _reqNotiPerm() async {
|
// if (!isAndroid) return;
|
||||||
if (!isAndroid) return;
|
// final suc = await PermUtils.request(Permission.notification);
|
||||||
final suc = await PermUtils.request(Permission.notification);
|
// if (!suc) {
|
||||||
if (!suc) {
|
// final noNotiPerm = Stores.setting.noNotiPerm;
|
||||||
final noNotiPerm = Stores.setting.noNotiPerm;
|
// if (noNotiPerm.fetch()) return;
|
||||||
if (noNotiPerm.fetch()) return;
|
// context.showRoundDialog(
|
||||||
context.showRoundDialog(
|
// title: l10n.error,
|
||||||
title: l10n.error,
|
// child: Text(l10n.noNotiPerm),
|
||||||
child: Text(l10n.noNotiPerm),
|
// actions: [
|
||||||
actions: [
|
// TextButton(
|
||||||
TextButton(
|
// onPressed: () {
|
||||||
onPressed: () {
|
// noNotiPerm.put(true);
|
||||||
noNotiPerm.put(true);
|
// context.pop();
|
||||||
context.pop();
|
// },
|
||||||
},
|
// child: Text(l10n.ok),
|
||||||
child: Text(l10n.ok),
|
// ),
|
||||||
),
|
// ],
|
||||||
],
|
// );
|
||||||
);
|
// }
|
||||||
}
|
// }
|
||||||
}
|
|
||||||
|
|
||||||
Future<void> _onLongPressSetting() async {
|
Future<void> _onLongPressSetting() async {
|
||||||
final map = Stores.setting.box.toJson(includeInternal: false);
|
final map = Stores.setting.box.toJson(includeInternal: false);
|
||||||
|
|||||||
86
lib/view/page/home/wear.dart
Normal file
86
lib/view/page/home/wear.dart
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
import 'dart:async';
|
||||||
|
|
||||||
|
import 'package:after_layout/after_layout.dart';
|
||||||
|
import 'package:fl_lib/fl_lib.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:provider/provider.dart';
|
||||||
|
import 'package:toolbox/core/extension/context/locale.dart';
|
||||||
|
import 'package:toolbox/data/model/server/server.dart';
|
||||||
|
import 'package:toolbox/data/provider/server.dart';
|
||||||
|
import 'package:toolbox/data/res/build_data.dart';
|
||||||
|
import 'package:toolbox/data/res/provider.dart';
|
||||||
|
import 'package:toolbox/data/res/store.dart';
|
||||||
|
import 'package:toolbox/data/res/url.dart';
|
||||||
|
|
||||||
|
final class WearHome extends StatefulWidget {
|
||||||
|
const WearHome({super.key});
|
||||||
|
|
||||||
|
@override
|
||||||
|
_WearHomeState createState() => _WearHomeState();
|
||||||
|
}
|
||||||
|
|
||||||
|
final class _WearHomeState extends State<WearHome> with AfterLayoutMixin {
|
||||||
|
late final _pageCtrl =
|
||||||
|
PageController(initialPage: Pros.server.servers.isNotEmpty ? 1 : 0);
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return _buildBody();
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildBody() {
|
||||||
|
return Consumer<ServerProvider>(builder: (_, pro, __) {
|
||||||
|
if (pro.servers.isEmpty) {
|
||||||
|
return const Center(child: Text('No server'));
|
||||||
|
}
|
||||||
|
return PageView.builder(
|
||||||
|
controller: _pageCtrl,
|
||||||
|
itemCount: pro.servers.length + 1,
|
||||||
|
itemBuilder: (_, index) {
|
||||||
|
if (index == 0) return _buildInit();
|
||||||
|
|
||||||
|
final id = pro.serverOrder[index];
|
||||||
|
final server = Pros.server.pick(id: id);
|
||||||
|
if (server == null) return UIs.placeholder;
|
||||||
|
return _buildEachSever(server);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildInit() {
|
||||||
|
return Center(
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
IconButton(onPressed: () {}, icon: const Icon(Icons.add)),
|
||||||
|
UIs.height7,
|
||||||
|
Text(l10n.restore)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildEachSever(Server srv) {
|
||||||
|
return const Padding(
|
||||||
|
padding: EdgeInsets.all(7),
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
FutureOr<void> afterFirstLayout(BuildContext context) async {
|
||||||
|
if (Stores.setting.autoCheckAppUpdate.fetch()) {
|
||||||
|
AppUpdateIface.doUpdate(
|
||||||
|
build: BuildData.build,
|
||||||
|
url: '${Urls.cdnBase}/update.json',
|
||||||
|
context: context,
|
||||||
|
updateL10n: l10n.update,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
await Pros.server.load();
|
||||||
|
await Pros.server.refresh();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -802,7 +802,6 @@ class _ServerDetailPageState extends State<ServerDetailPage>
|
|||||||
return CardX(
|
return CardX(
|
||||||
child: ListTile(
|
child: ListTile(
|
||||||
title: const Text('PVE'),
|
title: const Text('PVE'),
|
||||||
subtitle: Text(addr, style: UIs.textGrey),
|
|
||||||
leading: const Icon(FontAwesome.server_solid, size: 17),
|
leading: const Icon(FontAwesome.server_solid, size: 17),
|
||||||
trailing: const Icon(Icons.chevron_right),
|
trailing: const Icon(Icons.chevron_right),
|
||||||
onTap: () => AppRoutes.pve(spi: widget.spi).go(context),
|
onTap: () => AppRoutes.pve(spi: widget.spi).go(context),
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
import FlutterMacOS
|
import FlutterMacOS
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
import device_info_plus
|
||||||
import dynamic_color
|
import dynamic_color
|
||||||
import icloud_storage
|
import icloud_storage
|
||||||
import package_info_plus
|
import package_info_plus
|
||||||
@@ -17,6 +18,7 @@ import wakelock_plus
|
|||||||
import window_manager
|
import window_manager
|
||||||
|
|
||||||
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
|
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
|
||||||
|
DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin"))
|
||||||
DynamicColorPlugin.register(with: registry.registrar(forPlugin: "DynamicColorPlugin"))
|
DynamicColorPlugin.register(with: registry.registrar(forPlugin: "DynamicColorPlugin"))
|
||||||
IcloudStoragePlugin.register(with: registry.registrar(forPlugin: "IcloudStoragePlugin"))
|
IcloudStoragePlugin.register(with: registry.registrar(forPlugin: "IcloudStoragePlugin"))
|
||||||
FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin"))
|
FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin"))
|
||||||
|
|||||||
@@ -471,7 +471,7 @@
|
|||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
CURRENT_PROJECT_VERSION = 897;
|
CURRENT_PROJECT_VERSION = 904;
|
||||||
DEVELOPMENT_TEAM = BA88US33G6;
|
DEVELOPMENT_TEAM = BA88US33G6;
|
||||||
INFOPLIST_FILE = Runner/Info.plist;
|
INFOPLIST_FILE = Runner/Info.plist;
|
||||||
INFOPLIST_KEY_CFBundleDisplayName = "Server Box";
|
INFOPLIST_KEY_CFBundleDisplayName = "Server Box";
|
||||||
@@ -481,7 +481,7 @@
|
|||||||
"@executable_path/../Frameworks",
|
"@executable_path/../Frameworks",
|
||||||
);
|
);
|
||||||
MACOSX_DEPLOYMENT_TARGET = 10.15;
|
MACOSX_DEPLOYMENT_TARGET = 10.15;
|
||||||
MARKETING_VERSION = 1.0.897;
|
MARKETING_VERSION = 1.0.904;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
|
||||||
PRODUCT_NAME = "Server Box";
|
PRODUCT_NAME = "Server Box";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
@@ -608,7 +608,7 @@
|
|||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
CURRENT_PROJECT_VERSION = 897;
|
CURRENT_PROJECT_VERSION = 904;
|
||||||
DEVELOPMENT_TEAM = BA88US33G6;
|
DEVELOPMENT_TEAM = BA88US33G6;
|
||||||
INFOPLIST_FILE = Runner/Info.plist;
|
INFOPLIST_FILE = Runner/Info.plist;
|
||||||
INFOPLIST_KEY_CFBundleDisplayName = "Server Box";
|
INFOPLIST_KEY_CFBundleDisplayName = "Server Box";
|
||||||
@@ -618,7 +618,7 @@
|
|||||||
"@executable_path/../Frameworks",
|
"@executable_path/../Frameworks",
|
||||||
);
|
);
|
||||||
MACOSX_DEPLOYMENT_TARGET = 10.15;
|
MACOSX_DEPLOYMENT_TARGET = 10.15;
|
||||||
MARKETING_VERSION = 1.0.897;
|
MARKETING_VERSION = 1.0.904;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
|
||||||
PRODUCT_NAME = "Server Box";
|
PRODUCT_NAME = "Server Box";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
@@ -638,7 +638,7 @@
|
|||||||
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "3rd Party Mac Developer Application";
|
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "3rd Party Mac Developer Application";
|
||||||
CODE_SIGN_STYLE = Manual;
|
CODE_SIGN_STYLE = Manual;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
CURRENT_PROJECT_VERSION = 897;
|
CURRENT_PROJECT_VERSION = 904;
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
"DEVELOPMENT_TEAM[sdk=macosx*]" = BA88US33G6;
|
"DEVELOPMENT_TEAM[sdk=macosx*]" = BA88US33G6;
|
||||||
INFOPLIST_FILE = Runner/Info.plist;
|
INFOPLIST_FILE = Runner/Info.plist;
|
||||||
@@ -649,7 +649,7 @@
|
|||||||
"@executable_path/../Frameworks",
|
"@executable_path/../Frameworks",
|
||||||
);
|
);
|
||||||
MACOSX_DEPLOYMENT_TARGET = 10.15;
|
MACOSX_DEPLOYMENT_TARGET = 10.15;
|
||||||
MARKETING_VERSION = 1.0.897;
|
MARKETING_VERSION = 1.0.904;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
|
||||||
PRODUCT_NAME = "Server Box";
|
PRODUCT_NAME = "Server Box";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
|
|||||||
24
pubspec.lock
24
pubspec.lock
@@ -276,6 +276,22 @@ packages:
|
|||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.7.10"
|
version: "0.7.10"
|
||||||
|
device_info_plus:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: device_info_plus
|
||||||
|
sha256: eead12d1a1ed83d8283ab4c2f3fca23ac4082f29f25f29dff0f758f57d06ec91
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "10.1.0"
|
||||||
|
device_info_plus_platform_interface:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: device_info_plus_platform_interface
|
||||||
|
sha256: d3b01d5868b50ae571cd1dc6e502fc94d956b665756180f7b16ead09e836fd64
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "7.0.0"
|
||||||
dio:
|
dio:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
@@ -1440,6 +1456,14 @@ packages:
|
|||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "5.5.0"
|
version: "5.5.0"
|
||||||
|
win32_registry:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: win32_registry
|
||||||
|
sha256: "10589e0d7f4e053f2c61023a31c9ce01146656a70b7b7f0828c0b46d7da2a9bb"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.1.3"
|
||||||
window_manager:
|
window_manager:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|||||||
@@ -63,6 +63,7 @@ dependencies:
|
|||||||
git:
|
git:
|
||||||
url: https://github.com/lollipopkit/fl_lib
|
url: https://github.com/lollipopkit/fl_lib
|
||||||
ref: main
|
ref: main
|
||||||
|
device_info_plus: ^10.1.0
|
||||||
# path: ../fl_lib
|
# path: ../fl_lib
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
|
|||||||
Reference in New Issue
Block a user