123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- import 'dart:io';
- import 'package:flutter_localizations/flutter_localizations.dart';
- import 'package:path_provider/path_provider.dart';
- import 'package:flutter/material.dart';
- import 'package:ustest/Services/DatabaseService.dart';
- import 'package:ustest/Services/LocalStorageService.dart';
- import 'package:ustest/Services/UserService.dart';
- import 'package:ustest/SignInScreen.dart';
- import 'package:ustest/MainScreen.dart';
- import 'package:get_it/get_it.dart';
- import 'package:colorize_logger/colorize_logger.dart';
- import 'Services/AutoTestService.dart';
- import 'Services/BuildService.dart';
- import 'Services/PackageService.dart';
- import 'Services/PublishService.dart';
- import 'Utilities/PlatformUtils.dart';
- import 'package:flutter_gen/gen_l10n/app_localizations.dart';
- void main() {
- // setup();
- // runApp(const MyApp());
- initialize();
- // runApp(
- // LoadingProvider(
- // themeData: LoadingThemeData(),
- // loadingWidgetBuilder: (ctx, data) {
- // return Center(
- // child: SizedBox(
- // width: 30,
- // height: 30,
- // child: Container(
- // child: CupertinoActivityIndicator(),
- // color: Colors.blue,
- // ),
- // ),
- // );
- // },
- // child: MyApp(),
- // ),
- // );
- }
- Future<void> initialize() async {
- try {
- final getIt = GetIt.instance;
- var isWeb = PlatformUtils.isWeb;
- if (isWeb) {
- Logger.client = ColorizeLoggerClient();
- Logger.info('The first log in web');
- } else {
- if (Logger.isReleaseMode()) {
- /// use file
- Directory directory = await getApplicationDocumentsDirectory();
- final currentDate = DateTime.now();
- final fileName =
- '${currentDate.year}-${currentDate.month}-${currentDate.day}-logs.txt';
- Logger.client =
- FileLoggerClient(filePath: '${directory.path}/$fileName');
- } else {
- Logger.client = ColorizeLoggerClient(); //for debug
- }
- Logger.info('The first log in app');
- /// use sentry
- // await SentryFlutter.init(
- // (options) {
- // options.dsn = 'https://example@sentry.io/add-your-dsn-here';
- // },
- // );
- // Logger.client = SentryLoggerClient();
- var dbServcie = new DatabaseService();
- getIt.registerSingleton<DatabaseService>(dbServcie);
- await dbServcie.initialize();
- }
- getIt.registerSingleton<LocalStorageService>(LocalStorageService(isWeb));
- var userService = new UserService();
- getIt.registerSingleton<UserService>(userService);
- getIt.registerSingleton<BuildService>(new BuildService());
- getIt.registerSingleton<PackageService>(new PackageService());
- getIt.registerSingleton<PublishService>(new PublishService());
- getIt.registerSingleton<AutoTestService>(new AutoTestService());
- await userService.UpdateCurrentUserDetail();
- runApp(const MyApp());
- } catch (ex) {
- Logger.error("initialize exception:$ex");
- }
- }
- class MyApp extends StatelessWidget {
- const MyApp();
- @override
- Widget build(BuildContext context) {
- return MaterialApp(
- localizationsDelegates: [
- AppLocalizations.delegate,
- GlobalMaterialLocalizations.delegate,
- GlobalWidgetsLocalizations.delegate,
- GlobalCupertinoLocalizations.delegate,
- ],
- supportedLocales: [
- Locale('zh'), // Chinese
- Locale('en'), // English
- ],
- routes: {
- '/': (context) => MainScreen(),
- '/signin': (context) => const SignInScreen(),
- },
- );
- }
- }
|