-
-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathmain.dart
81 lines (68 loc) · 2.23 KB
/
main.dart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
// (c) 2020-2021 Dian Iliev (Tuntorius)
// This code is licensed under MIT license (see LICENSE.md for details)
import 'dart:async';
import 'package:flutter/foundation.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:mighty_plug_manager/UI/pages/DebugConsolePage.dart';
import 'package:mighty_plug_manager/platform/presetsStorage.dart';
import 'package:mighty_plug_manager/platform/simpleSharedPrefs.dart';
//pages
import 'UI/mainTabs.dart';
import 'UI/theme.dart';
import 'audio/trackdata/trackData.dart';
import 'bluetooth/NuxDeviceControl.dart';
//recreate this file with your own api keys
//import 'configKeys.dart';
import 'modules/cloud/cloudManager.dart';
//able to create snackbars/messages everywhere
final navigatorKey = GlobalKey<NavigatorState>();
final bucketGlobal = PageStorageBucket();
void main() {
runZoned(() {
//configuration data is needed before start of the app
WidgetsFlutterBinding.ensureInitialized();
SharedPrefs prefs = SharedPrefs();
prefs.waitLoading().then((value) {
PresetsStorage storage = PresetsStorage();
storage.init().then((value) => mainRunApp());
});
}, zoneSpecification: ZoneSpecification(
print: (Zone self, ZoneDelegate parent, Zone zone, String line) {
parent.print(zone, line);
DebugConsole.print(line);
}));
}
mainRunApp() {
if (kDebugMode) CloudManager.instance.initialize();
// Run the app within a zone
runApp(const App());
}
class App extends StatefulWidget {
const App({Key? key}) : super(key: key);
@override
State createState() => _AppState();
}
class _AppState extends State<App> {
NuxDeviceControl device = NuxDeviceControl.instance();
SharedPrefs prefs = SharedPrefs();
TrackData trackData = TrackData();
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Mightier Amp',
theme: getTheme(),
home: MainTabs(),
scrollBehavior: const MaterialScrollBehavior().copyWith(
dragDevices: {
PointerDeviceKind.mouse,
PointerDeviceKind.touch,
PointerDeviceKind.stylus,
PointerDeviceKind.unknown
},
),
//showSemanticsDebugger: true,
navigatorKey: navigatorKey,
);
}
}