mirror of
https://github.com/R0m1k3/xtremobile.git
synced 2026-10-22 06:38:16 +02:00
Phase 3: Architecture refactor - consolidate folders and extract patterns
- Consolidate lib/mobile/features/iptv → lib/features/iptv * Move all IPTV screens, models, services, widgets to unified location * Update imports in main.dart and affected files * Remove old mobile/features/iptv directory - Create lib/core/patterns/ for reusable implementations * HiveServiceBase: Template for Hive-based persistent storage * VideoPlayerWrapper: Abstraction for video player selection * StreamResolverPattern: IPTV stream resolution and validation - Router already simplified (no kIsWeb checks, Android-only) All changes maintain Android-only architecture and improve maintainability. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
d0f0589d09
commit
cb1788be8a
16 files changed
+361
-5
No files matched your search
+11
-2
@@ -4,21 +4,27 @@ import 'package:hive_flutter/hive_flutter.dart';
|
||||
import 'package:media_kit/media_kit.dart';
|
||||
import 'core/theme/app_theme.dart';
|
||||
import 'core/providers/theme_provider.dart';
|
||||
import 'mobile/features/iptv/screens/mobile_playlist_screen.dart';
|
||||
import 'mobile/features/iptv/screens/mobile_dashboard_screen.dart';
|
||||
import 'features/iptv/screens/mobile_playlist_screen.dart';
|
||||
import 'features/iptv/screens/mobile_dashboard_screen.dart';
|
||||
import 'core/models/playlist_config.dart';
|
||||
import 'core/database/hive_service.dart';
|
||||
import 'core/utils/startup_profiler.dart';
|
||||
|
||||
/// Android-optimized entry point for XtremFlow IPTV
|
||||
/// No authentication - direct access to playlist selection
|
||||
void main() async {
|
||||
StartupProfiler.start('app_init');
|
||||
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
StartupProfiler.mark('flutter_binding_init');
|
||||
|
||||
// Initialize MediaKit (required for video playback)
|
||||
MediaKit.ensureInitialized();
|
||||
StartupProfiler.mark('media_kit_init');
|
||||
|
||||
// Initialize Hive (Centralized)
|
||||
await HiveService.init();
|
||||
StartupProfiler.mark('hive_init');
|
||||
|
||||
// CLEAR CACHE ON STARTUP (Requested by User)
|
||||
try {
|
||||
@@ -28,6 +34,9 @@ void main() async {
|
||||
} catch (e) {
|
||||
debugPrint('XtremFlow: Failed to clear cache: $e');
|
||||
}
|
||||
StartupProfiler.mark('cache_clear');
|
||||
|
||||
await StartupProfiler.reportAll();
|
||||
|
||||
runApp(const ProviderScope(child: XtremFlowApp()));
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user