manually restart app

This commit is contained in:
lollipopkit
2023-03-21 14:46:30 +08:00
parent 43e32775a3
commit 4cc72328a7
5 changed files with 68 additions and 77 deletions

View File

@@ -19,15 +19,11 @@ class MyApp extends StatelessWidget {
Widget build(BuildContext context) {
setTransparentNavigationBar(context);
final fontName = getFileName(_setting.fontPath.fetch());
return ValueListenableBuilder<int>(
valueListenable: _setting.primaryColor.listenable(),
builder: (_, colorValue, __) {
primaryColor = Color(colorValue);
primaryColor = Color(_setting.primaryColor.fetch()!);
final textStyle = TextStyle(color: primaryColor);
final materialColor = primaryColor.materialStateColor;
final materialColorAlpha =
primaryColor.withOpacity(0.7).materialStateColor;
final materialColorAlpha = primaryColor.withOpacity(0.7).materialStateColor;
final fabTheme =
FloatingActionButtonThemeData(backgroundColor: primaryColor);
final switchTheme = SwitchThemeData(
@@ -83,7 +79,5 @@ class MyApp extends StatelessWidget {
);
},
);
},
);
}
}

View File

@@ -34,5 +34,5 @@ class SettingStore extends PersistentStore {
StoreProperty<int> get themeMode => property('themeMode', defaultValue: 0);
/// Font file path
StoreProperty<String> get fontPath => property('fontPath2');
StoreProperty<String> get fontPath => property('fontPath');
}

View File

@@ -68,7 +68,6 @@ class _MyHomePageState extends State<MyHomePage>
void dispose() {
super.dispose();
WidgetsBinding.instance.removeObserver(this);
_serverProvider.closeServer();
}
@override

View File

@@ -445,8 +445,7 @@ class _ServerPageState extends State<ServerPage>
await GetIt.I.allReady();
if (_serverProvider.servers.isEmpty) {
await _serverProvider.loadLocalData();
await _serverProvider.refreshData();
}
_serverProvider.startAutoRefresh();
}
}
}

View File

@@ -241,7 +241,7 @@ class _SettingPageState extends State<SettingPage> {
icon: const Icon(Icons.save),
onPressed: (() {
_setting.primaryColor.put(_selectedColorValue);
setState(() {});
_showRestartSnackbar();
}),
);
}
@@ -459,18 +459,13 @@ class _SettingPageState extends State<SettingPage> {
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
TextButton(
onPressed: () async => pickFontFile(),
onPressed: () async => _pickFontFile(),
child: Text(_s.pickFile),
),
TextButton(
onPressed: () => setState(() {
_setting.fontPath.delete();
showSnackBarWithAction(
context,
'${_s.success}\n${_s.needRestart}',
_s.restart,
() => rebuildAll(context),
);
_showRestartSnackbar();
}),
child: Text(_s.clear),
)
@@ -480,7 +475,7 @@ class _SettingPageState extends State<SettingPage> {
);
}
Future<void> pickFontFile() async {
Future<void> _pickFontFile() async {
final path = await pickOneFile();
if (path != null) {
final fontDir_ = await fontDir;
@@ -489,14 +484,18 @@ class _SettingPageState extends State<SettingPage> {
await fontFile.copy(newPath);
_setting.fontPath.put(newPath);
setState(() {});
_showRestartSnackbar();
return;
}
showSnackBar(context, Text(_s.failed));
}
void _showRestartSnackbar() {
showSnackBarWithAction(
context,
'${_s.success}\n${_s.needRestart}',
_s.restart,
() => rebuildAll(context),
);
return;
}
showSnackBar(context, Text(_s.failed));
}
}