mirror of
https://github.com/lichess-org/mobile.git
synced 2026-05-26 13:50:52 +00:00
40 lines
1.3 KiB
Dart
40 lines
1.3 KiB
Dart
import 'package:flutter/foundation.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter_native_splash/flutter_native_splash.dart';
|
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
import 'package:lichess_mobile/src/app.dart';
|
|
import 'package:lichess_mobile/src/binding.dart';
|
|
import 'package:lichess_mobile/src/init.dart';
|
|
import 'package:lichess_mobile/src/intl.dart';
|
|
import 'package:lichess_mobile/src/log.dart';
|
|
import 'package:lichess_mobile/src/model/common/service/sound_service.dart';
|
|
|
|
Future<void> main() async {
|
|
final widgetsBinding = WidgetsFlutterBinding.ensureInitialized();
|
|
final lichessBinding = AppLichessBinding.ensureInitialized();
|
|
|
|
// Show splash screen until app is ready
|
|
// See src/app.dart for splash screen removal
|
|
FlutterNativeSplash.preserve(widgetsBinding: widgetsBinding);
|
|
|
|
await lichessBinding.preloadSharedPreferences();
|
|
|
|
await preloadPieceImages();
|
|
|
|
await setupFirstLaunch();
|
|
|
|
await SoundService.initialize();
|
|
|
|
final locale = await setupIntl(widgetsBinding);
|
|
|
|
await initializeLocalNotifications(locale);
|
|
|
|
await lichessBinding.initializeFirebase();
|
|
|
|
if (defaultTargetPlatform == TargetPlatform.android) {
|
|
await androidDisplayInitialization(widgetsBinding);
|
|
}
|
|
|
|
runApp(ProviderScope(observers: [ProviderLogger()], child: const AppInitializationScreen()));
|
|
}
|