[verified] Publish ReelBox source under GPLv3

This commit is contained in:
Hermes committed 2026-11-12 23:41:13 +00:00
commit db2b505ca3
445 files changed
+105274

No files matched your search

+52
View File
@@ -0,0 +1,52 @@
import 'dart:async';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:media_kit/media_kit.dart';
import 'app.dart';
import 'bootstrap.dart';
import 'data/api_service.dart';
import 'media/download_service.dart';
import 'state/app_state.dart';
export 'app.dart' show MyApp;
void main() {
WidgetsFlutterBinding.ensureInitialized();
LicenseRegistry.addLicense(() async* {
final notice = await rootBundle.loadString(
'assets/licenses/LIBVLC-NOTICE.txt',
);
final license = await rootBundle.loadString('assets/licenses/LGPL-2.1.txt');
yield LicenseEntryWithLineBreaks([
'LibVLC for Android',
], '$notice\n\n$license');
});
final state = AppState(api: ApiService());
runApp(
ReelboxBootstrap(
initialize: () async {
// Native engine failure is recoverable too, not outside the startup guard.
MediaKit.ensureInitialized();
await state.initialize(discover: false);
unawaited(
state.api.initialize().catchError((Object _) {
debugPrint(
'Server discovery unavailable; keeping the trusted API base.',
);
}),
);
if (!kIsWeb) {
DownloadService.instance.bindSettings(state);
unawaited(
DownloadService.instance.initialize().catchError((Object _) {
debugPrint('Background downloader initialization unavailable.');
}),
);
}
},
builder: (_) => MyApp(state: state),
),
);
}