Files
LBJ_Console/lib/main.dart
Nedifinita a47c6a5745 refactor
2025-11-23 21:43:47 +08:00

53 lines
1.5 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
import 'package:lbjconsole/screens/main_screen.dart';
import 'package:lbjconsole/util/train_type_util.dart';
import 'package:lbjconsole/util/loco_info_util.dart';
import 'package:lbjconsole/services/loco_type_service.dart';
import 'package:lbjconsole/services/background_service.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await _initializeNotifications();
await BackgroundService.initialize();
await Future.wait([
TrainTypeUtil.initialize(),
LocoInfoUtil.initialize(),
LocoTypeService().initialize(),
]);
runApp(const LBJReceiverApp());
}
Future<void> _initializeNotifications() async {
final flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin();
const AndroidInitializationSettings initializationSettingsAndroid =
AndroidInitializationSettings('@mipmap/ic_launcher');
const InitializationSettings initializationSettings = InitializationSettings(
android: initializationSettingsAndroid,
);
await flutterLocalNotificationsPlugin.initialize(initializationSettings);
}
class LBJReceiverApp extends StatelessWidget {
const LBJReceiverApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'LBJ Console',
debugShowCheckedModeBanner: false,
theme: ThemeData.light(),
darkTheme: ThemeData.dark(),
themeMode: ThemeMode.dark,
home: const MainScreen(),
);
}
}