mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2025-12-17 07:14:28 +01:00
opt.
This commit is contained in:
@@ -19,6 +19,11 @@ final class SystemdProvider {
|
|||||||
final isBusy = false.vn;
|
final isBusy = false.vn;
|
||||||
final units = <SystemdUnit>[].vn;
|
final units = <SystemdUnit>[].vn;
|
||||||
|
|
||||||
|
void dispose() {
|
||||||
|
isBusy.dispose();
|
||||||
|
units.dispose();
|
||||||
|
}
|
||||||
|
|
||||||
Future<void> getUnits() async {
|
Future<void> getUnits() async {
|
||||||
isBusy.value = true;
|
isBusy.value = true;
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,13 @@ final class _BackupPageState extends State<BackupPage>
|
|||||||
final icloudLoading = false.vn;
|
final icloudLoading = false.vn;
|
||||||
final webdavLoading = false.vn;
|
final webdavLoading = false.vn;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void dispose() {
|
||||||
|
icloudLoading.dispose();
|
||||||
|
webdavLoading.dispose();
|
||||||
|
super.dispose();
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
super.build(context);
|
super.build(context);
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ class _ContainerPageState extends State<ContainerPage> {
|
|||||||
void dispose() {
|
void dispose() {
|
||||||
super.dispose();
|
super.dispose();
|
||||||
_textController.dispose();
|
_textController.dispose();
|
||||||
|
_container.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|||||||
@@ -50,6 +50,13 @@ class _EditorPageState extends State<EditorPage> {
|
|||||||
|
|
||||||
String? _langCode;
|
String? _langCode;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void dispose() {
|
||||||
|
super.dispose();
|
||||||
|
_controller.dispose();
|
||||||
|
_focusNode.dispose();
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
@@ -97,13 +104,6 @@ class _EditorPageState extends State<EditorPage> {
|
|||||||
_focusNode.requestFocus();
|
_focusNode.requestFocus();
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
|
||||||
void dispose() {
|
|
||||||
_controller.dispose();
|
|
||||||
_focusNode.dispose();
|
|
||||||
super.dispose();
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
|
|||||||
@@ -31,6 +31,18 @@ class _HomePageState extends State<HomePage>
|
|||||||
bool _switchingPage = false;
|
bool _switchingPage = false;
|
||||||
bool _shouldAuth = false;
|
bool _shouldAuth = false;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void dispose() {
|
||||||
|
super.dispose();
|
||||||
|
WidgetsBinding.instance.removeObserver(this);
|
||||||
|
ServerProvider.closeServer();
|
||||||
|
_pageController.dispose();
|
||||||
|
WakelockPlus.disable();
|
||||||
|
|
||||||
|
_selectIndex.dispose();
|
||||||
|
_isLandscape.dispose();
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
@@ -53,15 +65,6 @@ class _HomePageState extends State<HomePage>
|
|||||||
MediaQuery.of(context).orientation == Orientation.landscape;
|
MediaQuery.of(context).orientation == Orientation.landscape;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
|
||||||
void dispose() {
|
|
||||||
super.dispose();
|
|
||||||
WidgetsBinding.instance.removeObserver(this);
|
|
||||||
ServerProvider.closeServer();
|
|
||||||
_pageController.dispose();
|
|
||||||
WakelockPlus.disable();
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void didChangeAppLifecycleState(AppLifecycleState state) {
|
void didChangeAppLifecycleState(AppLifecycleState state) {
|
||||||
super.didChangeAppLifecycleState(state);
|
super.didChangeAppLifecycleState(state);
|
||||||
|
|||||||
@@ -16,6 +16,13 @@ class _IPerfPageState extends State<IPerfPage> {
|
|||||||
final _hostCtrl = TextEditingController();
|
final _hostCtrl = TextEditingController();
|
||||||
final _portCtrl = TextEditingController();
|
final _portCtrl = TextEditingController();
|
||||||
|
|
||||||
|
@override
|
||||||
|
void dispose() {
|
||||||
|
super.dispose();
|
||||||
|
_hostCtrl.dispose();
|
||||||
|
_portCtrl.dispose();
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
|
|||||||
@@ -23,12 +23,6 @@ class _PingPageState extends State<PingPage>
|
|||||||
final _results = ValueNotifier(<PingResult>[]);
|
final _results = ValueNotifier(<PingResult>[]);
|
||||||
bool get isInit => _results.value.isEmpty;
|
bool get isInit => _results.value.isEmpty;
|
||||||
|
|
||||||
@override
|
|
||||||
void initState() {
|
|
||||||
super.initState();
|
|
||||||
_textEditingController = TextEditingController(text: '');
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void dispose() {
|
void dispose() {
|
||||||
super.dispose();
|
super.dispose();
|
||||||
@@ -36,6 +30,12 @@ class _PingPageState extends State<PingPage>
|
|||||||
_results.dispose();
|
_results.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
super.initState();
|
||||||
|
_textEditingController = TextEditingController(text: '');
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
super.build(context);
|
super.build(context);
|
||||||
|
|||||||
@@ -34,6 +34,18 @@ class _PrivateKeyEditPageState extends State<PrivateKeyEditPage> {
|
|||||||
|
|
||||||
final _loading = ValueNotifier<Widget?>(null);
|
final _loading = ValueNotifier<Widget?>(null);
|
||||||
|
|
||||||
|
@override
|
||||||
|
void dispose() {
|
||||||
|
super.dispose();
|
||||||
|
_nameController.dispose();
|
||||||
|
_keyController.dispose();
|
||||||
|
_pwdController.dispose();
|
||||||
|
_nameNode.dispose();
|
||||||
|
_keyNode.dispose();
|
||||||
|
_pwdNode.dispose();
|
||||||
|
_loading.dispose();
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
@@ -51,17 +63,6 @@ class _PrivateKeyEditPageState extends State<PrivateKeyEditPage> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
|
||||||
void dispose() {
|
|
||||||
super.dispose();
|
|
||||||
_nameController.dispose();
|
|
||||||
_keyController.dispose();
|
|
||||||
_pwdController.dispose();
|
|
||||||
_nameNode.dispose();
|
|
||||||
_keyNode.dispose();
|
|
||||||
_pwdNode.dispose();
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void didChangeDependencies() {
|
void didChangeDependencies() {
|
||||||
super.didChangeDependencies();
|
super.didChangeDependencies();
|
||||||
|
|||||||
@@ -34,6 +34,12 @@ class _ProcessPageState extends State<ProcessPage> {
|
|||||||
ProcSortMode _procSortMode = ProcSortMode.cpu;
|
ProcSortMode _procSortMode = ProcSortMode.cpu;
|
||||||
List<ProcSortMode> _sortModes = List.from(ProcSortMode.values);
|
List<ProcSortMode> _sortModes = List.from(ProcSortMode.values);
|
||||||
|
|
||||||
|
@override
|
||||||
|
void dispose() {
|
||||||
|
super.dispose();
|
||||||
|
_timer.cancel();
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
@@ -75,12 +81,6 @@ class _ProcessPageState extends State<ProcessPage> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
|
||||||
void dispose() {
|
|
||||||
super.dispose();
|
|
||||||
_timer.cancel();
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final actions = <Widget>[
|
final actions = <Widget>[
|
||||||
|
|||||||
@@ -29,6 +29,13 @@ final class _PvePageState extends State<PvePage> {
|
|||||||
late MediaQueryData _media;
|
late MediaQueryData _media;
|
||||||
Timer? _timer;
|
Timer? _timer;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void dispose() {
|
||||||
|
super.dispose();
|
||||||
|
_timer?.cancel();
|
||||||
|
_pve.dispose();
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void didChangeDependencies() {
|
void didChangeDependencies() {
|
||||||
super.didChangeDependencies();
|
super.didChangeDependencies();
|
||||||
@@ -42,13 +49,6 @@ final class _PvePageState extends State<PvePage> {
|
|||||||
_afterInit();
|
_afterInit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
|
||||||
void dispose() {
|
|
||||||
super.dispose();
|
|
||||||
_timer?.cancel();
|
|
||||||
_pve.dispose();
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
|
|||||||
@@ -62,6 +62,12 @@ class _ServerDetailPageState extends State<ServerDetailPage>
|
|||||||
late final _collapse = _settings.collapseUIDefault.fetch();
|
late final _collapse = _settings.collapseUIDefault.fetch();
|
||||||
late final _textFactor = TextScaler.linear(_settings.textFactor.fetch());
|
late final _textFactor = TextScaler.linear(_settings.textFactor.fetch());
|
||||||
|
|
||||||
|
@override
|
||||||
|
void dispose() {
|
||||||
|
super.dispose();
|
||||||
|
_netSortType.dispose();
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void didChangeDependencies() {
|
void didChangeDependencies() {
|
||||||
super.didChangeDependencies();
|
super.didChangeDependencies();
|
||||||
|
|||||||
@@ -72,12 +72,6 @@ class _ServerEditPageState extends State<ServerEditPage> with AfterLayoutMixin {
|
|||||||
_portController.dispose();
|
_portController.dispose();
|
||||||
_usernameController.dispose();
|
_usernameController.dispose();
|
||||||
_passwordController.dispose();
|
_passwordController.dispose();
|
||||||
_nameFocus.dispose();
|
|
||||||
_ipFocus.dispose();
|
|
||||||
_alterUrlFocus.dispose();
|
|
||||||
_portFocus.dispose();
|
|
||||||
_usernameFocus.dispose();
|
|
||||||
_pveAddrCtrl.dispose();
|
|
||||||
_preferTempDevCtrl.dispose();
|
_preferTempDevCtrl.dispose();
|
||||||
_logoUrlCtrl.dispose();
|
_logoUrlCtrl.dispose();
|
||||||
_wolMacCtrl.dispose();
|
_wolMacCtrl.dispose();
|
||||||
@@ -85,6 +79,21 @@ class _ServerEditPageState extends State<ServerEditPage> with AfterLayoutMixin {
|
|||||||
_wolPwdCtrl.dispose();
|
_wolPwdCtrl.dispose();
|
||||||
_netDevCtrl.dispose();
|
_netDevCtrl.dispose();
|
||||||
_scriptDirCtrl.dispose();
|
_scriptDirCtrl.dispose();
|
||||||
|
|
||||||
|
_nameFocus.dispose();
|
||||||
|
_ipFocus.dispose();
|
||||||
|
_alterUrlFocus.dispose();
|
||||||
|
_portFocus.dispose();
|
||||||
|
_usernameFocus.dispose();
|
||||||
|
_pveAddrCtrl.dispose();
|
||||||
|
|
||||||
|
_keyIdx.dispose();
|
||||||
|
_autoConnect.dispose();
|
||||||
|
_jumpServer.dispose();
|
||||||
|
_pveIgnoreCert.dispose();
|
||||||
|
_env.dispose();
|
||||||
|
_customCmds.dispose();
|
||||||
|
_tags.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|||||||
@@ -51,6 +51,15 @@ class _ServerPageState extends State<ServerPage>
|
|||||||
final _scrollController = ScrollController();
|
final _scrollController = ScrollController();
|
||||||
final _autoHideKey = GlobalKey<AutoHideState>();
|
final _autoHideKey = GlobalKey<AutoHideState>();
|
||||||
|
|
||||||
|
@override
|
||||||
|
void dispose() {
|
||||||
|
super.dispose();
|
||||||
|
_timer?.cancel();
|
||||||
|
_scrollController.dispose();
|
||||||
|
_autoHideKey.currentState?.dispose();
|
||||||
|
_tag.dispose();
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
|
|||||||
@@ -14,16 +14,35 @@ final class _TopBar extends StatelessWidget implements PreferredSizeWidget {
|
|||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Padding(
|
return Padding(
|
||||||
padding: const EdgeInsets.only(left: 17),
|
padding: const EdgeInsets.only(left: 10),
|
||||||
child: Row(
|
child: Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
const Center(
|
Center(
|
||||||
child: Text(
|
child: InkWell(
|
||||||
|
borderRadius: BorderRadius.circular(13),
|
||||||
|
onTap: () => DebugPage.route.go(
|
||||||
|
context,
|
||||||
|
args: const DebugPageArgs(title: 'Logs(${BuildData.build})'),
|
||||||
|
),
|
||||||
|
child: const Padding(
|
||||||
|
padding: EdgeInsets.symmetric(horizontal: 7),
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
BuildData.name,
|
BuildData.name,
|
||||||
style: TextStyle(fontSize: 20),
|
style: TextStyle(fontSize: 20),
|
||||||
textAlign: TextAlign.center,
|
textAlign: TextAlign.center,
|
||||||
),
|
),
|
||||||
|
Icon(
|
||||||
|
Icons.keyboard_arrow_right,
|
||||||
|
color: Colors.grey,
|
||||||
|
size: 17,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
const SizedBox(width: 30),
|
const SizedBox(width: 30),
|
||||||
TagSwitcher(
|
TagSwitcher(
|
||||||
|
|||||||
@@ -59,6 +59,12 @@ class _SettingsPageState extends State<SettingsPage>
|
|||||||
late final _tabCtrl =
|
late final _tabCtrl =
|
||||||
TabController(length: SettingsTabs.values.length, vsync: this);
|
TabController(length: SettingsTabs.values.length, vsync: this);
|
||||||
|
|
||||||
|
@override
|
||||||
|
void dispose() {
|
||||||
|
super.dispose();
|
||||||
|
_tabCtrl.dispose();
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
|
|||||||
@@ -18,6 +18,12 @@ class _IOSSettingsPageState extends State<IOSSettingsPage> {
|
|||||||
|
|
||||||
final wc = WatchConnectivity();
|
final wc = WatchConnectivity();
|
||||||
|
|
||||||
|
@override
|
||||||
|
void dispose() {
|
||||||
|
super.dispose();
|
||||||
|
_pushToken.dispose();
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
|
|||||||
@@ -29,7 +29,10 @@ class _SnippetEditPageState extends State<SnippetEditPage>
|
|||||||
super.dispose();
|
super.dispose();
|
||||||
_nameController.dispose();
|
_nameController.dispose();
|
||||||
_scriptController.dispose();
|
_scriptController.dispose();
|
||||||
|
_noteController.dispose();
|
||||||
_scriptNode.dispose();
|
_scriptNode.dispose();
|
||||||
|
_autoRunOn.dispose();
|
||||||
|
_tags.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|||||||
@@ -17,6 +17,12 @@ class _SnippetListPageState extends State<SnippetListPage>
|
|||||||
with AutomaticKeepAliveClientMixin {
|
with AutomaticKeepAliveClientMixin {
|
||||||
final _tag = ''.vn;
|
final _tag = ''.vn;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void dispose() {
|
||||||
|
super.dispose();
|
||||||
|
_tag.dispose();
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
super.build(context);
|
super.build(context);
|
||||||
|
|||||||
@@ -70,20 +70,20 @@ class SSHPageState extends State<SSHPage>
|
|||||||
late SSHClient? _client = widget.spi.server?.value.client;
|
late SSHClient? _client = widget.spi.server?.value.client;
|
||||||
Timer? _discontinuityTimer;
|
Timer? _discontinuityTimer;
|
||||||
|
|
||||||
@override
|
|
||||||
void initState() {
|
|
||||||
super.initState();
|
|
||||||
_initStoredCfg();
|
|
||||||
_initVirtKeys();
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void dispose() {
|
void dispose() {
|
||||||
super.dispose();
|
super.dispose();
|
||||||
_virtKeyLongPressTimer?.cancel();
|
_virtKeyLongPressTimer?.cancel();
|
||||||
_terminalController.dispose();
|
_terminalController.dispose();
|
||||||
_discontinuityTimer?.cancel();
|
_discontinuityTimer?.cancel();
|
||||||
if (!Stores.setting.generalWakeLock.fetch()) WakelockPlus.disable();
|
WakelockPlus.disable();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
super.initState();
|
||||||
|
_initStoredCfg();
|
||||||
|
_initVirtKeys();
|
||||||
_setupDiscontinuityTimer();
|
_setupDiscontinuityTimer();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,14 @@ class _SSHTabPageState extends State<SSHTabPage>
|
|||||||
final _fabVN = 0.vn;
|
final _fabVN = 0.vn;
|
||||||
final _tabRN = RNode();
|
final _tabRN = RNode();
|
||||||
|
|
||||||
|
@override
|
||||||
|
void dispose() {
|
||||||
|
super.dispose();
|
||||||
|
_pageCtrl.dispose();
|
||||||
|
_tabRN.dispose();
|
||||||
|
_fabVN.dispose();
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
super.build(context);
|
super.build(context);
|
||||||
|
|||||||
@@ -41,6 +41,12 @@ class _LocalFilePageState extends State<LocalFilePage>
|
|||||||
final _sortType = _SortType.name.vn;
|
final _sortType = _SortType.name.vn;
|
||||||
bool get isPickFile => widget.args?.isPickFile ?? false;
|
bool get isPickFile => widget.args?.isPickFile ?? false;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void dispose() {
|
||||||
|
super.dispose();
|
||||||
|
_sortType.dispose();
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
super.build(context);
|
super.build(context);
|
||||||
|
|||||||
@@ -42,6 +42,12 @@ class _SftpPageState extends State<SftpPage> with AfterLayoutMixin {
|
|||||||
late final _client = widget.spi.server!.value.client!;
|
late final _client = widget.spi.server!.value.client!;
|
||||||
final _sortOption = _SortOption().vn;
|
final _sortOption = _SortOption().vn;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void dispose() {
|
||||||
|
super.dispose();
|
||||||
|
_sortOption.dispose();
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final children = [
|
final children = [
|
||||||
|
|||||||
@@ -33,6 +33,12 @@ final class SystemdPage extends StatefulWidget {
|
|||||||
final class _SystemdPageState extends State<SystemdPage> {
|
final class _SystemdPageState extends State<SystemdPage> {
|
||||||
late final _pro = SystemdProvider.init(widget.args.spi);
|
late final _pro = SystemdProvider.init(widget.args.spi);
|
||||||
|
|
||||||
|
@override
|
||||||
|
void dispose() {
|
||||||
|
super.dispose();
|
||||||
|
_pro.dispose();
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
|
|||||||
Reference in New Issue
Block a user