feat: Enhance TTS player functionality and UI

- 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.
This commit is contained in:
2026-03-30 11:38:04 +07:00
parent 8da9c4152c
commit 1afff18f4d
40 changed files with 1735 additions and 312 deletions
+31 -1
View File
@@ -1,9 +1,39 @@
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();
runApp(const ProviderScope(child: ReaderApp()));
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);
},
);
}