Perubahan ini sudah ada di working tree sebelum pekerjaan print dimulai; dikumpulkan di sini supaya tidak tercampur dengan commit perbaikan printer. Ditambah pembersihan import injectable yang tidak terpakai di main.dart.
59 lines
1.6 KiB
Dart
59 lines
1.6 KiB
Dart
import 'dart:async';
|
|
|
|
import 'package:firebase_core/firebase_core.dart';
|
|
import 'package:firebase_crashlytics/firebase_crashlytics.dart';
|
|
import 'package:flutter/foundation.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter/services.dart';
|
|
|
|
import 'common/service/fcm_service.dart';
|
|
import 'injection.dart';
|
|
import 'presentation/app_widget.dart';
|
|
|
|
void main() async {
|
|
runZonedGuarded(
|
|
() async {
|
|
WidgetsFlutterBinding.ensureInitialized();
|
|
|
|
await Firebase.initializeApp();
|
|
await FirebaseCrashlytics.instance.setCrashlyticsCollectionEnabled(true);
|
|
|
|
FlutterError.onError = (errorDetails) {
|
|
FirebaseCrashlytics.instance.recordFlutterFatalError(errorDetails);
|
|
};
|
|
|
|
PlatformDispatcher.instance.onError = (error, stack) {
|
|
FirebaseCrashlytics.instance.recordError(error, stack, fatal: true);
|
|
return true;
|
|
};
|
|
|
|
SystemChrome.setSystemUIOverlayStyle(
|
|
const SystemUiOverlayStyle(
|
|
statusBarColor: Colors.transparent,
|
|
statusBarIconBrightness: Brightness.dark,
|
|
),
|
|
);
|
|
|
|
await SystemChrome.setPreferredOrientations([
|
|
DeviceOrientation.landscapeLeft,
|
|
DeviceOrientation.landscapeRight,
|
|
]);
|
|
|
|
if (kReleaseMode) {
|
|
debugPrint = (message, {wrapWidth}) => '';
|
|
}
|
|
|
|
const String env = String.fromEnvironment('ENV', defaultValue: 'dev');
|
|
await configureDependencies(env);
|
|
|
|
// Inisialisasi FCM setelah DI siap
|
|
await getIt<FcmService>().initialize();
|
|
|
|
runApp(const AppWidget());
|
|
},
|
|
(error, stack) {
|
|
FirebaseCrashlytics.instance.recordError(error, stack, fatal: true);
|
|
},
|
|
);
|
|
}
|