1afff18f4d
- Added resume functionality to TTS player when paused. - Display voice name or language in TTS player UI. - Improved error handling in reader provider with debug messages. - Updated TTS service to configure Vietnamese voice and handle platform-specific audio settings. - Removed wakelock dependency and related code. - Fixed search screen error handling. - Updated settings screen to navigate to home after sign out. - Improved splash screen with timer management. - Enhanced main app error handling with logging. - Removed unused package_info_plus and wakelock_plus dependencies. - Added environment variable support for mobile runtime. - Integrated Google Sign-In configuration for Android. - Created logging observer for Riverpod providers. - Added scripts for environment setup and Google Sign-In validation.
40 lines
942 B
Dart
40 lines
942 B
Dart
import 'dart:async';
|
|
import 'dart:ui';
|
|
|
|
import 'package:flutter/widgets.dart';
|
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
|
|
import 'app/app.dart';
|
|
import 'core/logging/app_provider_observer.dart';
|
|
|
|
void main() {
|
|
WidgetsFlutterBinding.ensureInitialized();
|
|
|
|
FlutterError.onError = (details) {
|
|
FlutterError.presentError(details);
|
|
debugPrint('[APP][FLUTTER_ERROR] ${details.exceptionAsString()}');
|
|
debugPrintStack(stackTrace: details.stack);
|
|
};
|
|
|
|
PlatformDispatcher.instance.onError = (error, stack) {
|
|
debugPrint('[APP][PLATFORM_ERROR] $error');
|
|
debugPrintStack(stackTrace: stack);
|
|
return true;
|
|
};
|
|
|
|
runZonedGuarded(
|
|
() {
|
|
runApp(
|
|
const ProviderScope(
|
|
observers: [AppProviderObserver()],
|
|
child: ReaderApp(),
|
|
),
|
|
);
|
|
},
|
|
(error, stack) {
|
|
debugPrint('[APP][UNCAUGHT_ASYNC] $error');
|
|
debugPrintStack(stackTrace: stack);
|
|
},
|
|
);
|
|
}
|