mirror of
https://github.com/R0m1k3/xtremobile.git
synced 2026-10-11 17:29:26 +02:00
- Nouveau logo vectoriel : bouton play dégradé cyan→bleu (#0A84FF) avec traînées de vitesse, sur tuile graphite (#2C2C33→#1B1B1F) comme l'app - scripts/generate_icons.py génère toutes les tailles depuis les SVG (assets/branding/) - Android : icône adaptative dans la zone sûre, icône ronde, écran de lancement graphite avec logo - Android TV / Fire TV : bannière 320x180, LEANBACK_LAUNCHER, écran tactile et leanback non requis - iOS : icône carrée sans alpha dédiée (app_icon_ios.png) - Remplace l'ancien logo (JPEG avec damier incrusté) et corrige la référence à logo_xtremobile.png inexistant dans les réglages Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GyudLt8TgggqbWWkqjB19K
95 lines
2.5 KiB
YAML
95 lines
2.5 KiB
YAML
name: xtremobile
|
|
description: High-performance IPTV application (Android, iPhone, iPad) with Xtream Codes API
|
|
publish_to: 'none'
|
|
version: 1.7.2+16
|
|
|
|
environment:
|
|
sdk: '>=3.0.0 <4.0.0'
|
|
|
|
dependencies:
|
|
flutter:
|
|
sdk: flutter
|
|
|
|
# State Management
|
|
flutter_riverpod: ^2.6.1
|
|
riverpod_annotation: ^2.6.1
|
|
|
|
# Local Database (Web IndexedDB)
|
|
hive: ^2.2.3
|
|
hive_flutter: ^1.1.0
|
|
|
|
# Networking
|
|
dio: ^5.7.0
|
|
dio_cache_interceptor: ^3.5.1
|
|
dio_cache_interceptor_hive_store: ^3.2.2
|
|
http: ^1.2.2
|
|
|
|
# EPG (XMLTV fallback parsing)
|
|
xml: ^6.5.0
|
|
|
|
# Routing
|
|
go_router: ^13.2.5
|
|
|
|
# Video Player (FFmpeg-based for full codec support)
|
|
media_kit: ^1.1.11
|
|
media_kit_video: ^1.2.5
|
|
media_kit_libs_video: ^1.0.5
|
|
# Épinglé : tiré par media_kit_video (^3.0.2). À partir de 3.4.2, le plugin
|
|
# iOS utilise FlutterSceneLifeCycleDelegate / addSceneDelegate, des API
|
|
# apparues dans Flutter 3.38, sans relever sa contrainte `flutter:` — pub le
|
|
# sélectionne donc et la compilation Swift échoue sur le Flutter 3.35.3 des
|
|
# workflows. 3.4.1 est la dernière version sans ces appels.
|
|
# À relâcher le jour où les workflows passeront à Flutter >= 3.38.
|
|
volume_controller: 3.4.1
|
|
|
|
# UI Components
|
|
google_fonts: ^6.2.1
|
|
cached_network_image: ^3.3.1
|
|
|
|
# Security
|
|
crypto: ^3.0.3
|
|
uuid: ^4.4.0
|
|
|
|
# Utilities
|
|
intl: ^0.19.0
|
|
equatable: ^2.0.5
|
|
shared_preferences: ^2.3.2
|
|
path_provider: ^2.1.5
|
|
video_player: ^2.10.1
|
|
wakelock_plus: ^1.2.8
|
|
# Épinglé : la 12.4.0 appelle NSProcessInfo.isiOSAppOnVision derrière un
|
|
# `@available(iOS 26.1, *)`, ce qui exige le SDK d'Xcode 26.1 — plus récent
|
|
# que celui du runner macOS. 12.3.0 est la dernière version sans cet appel.
|
|
# À relâcher le jour où le workflow iOS utilisera un Xcode >= 26.1.
|
|
device_info_plus: 12.3.0
|
|
shelf_router: ^1.1.4
|
|
shelf_static: ^1.1.3
|
|
flutter_cache_manager: ^3.4.1
|
|
|
|
|
|
|
|
dev_dependencies:
|
|
flutter_test:
|
|
sdk: flutter
|
|
flutter_lints: ^3.0.2
|
|
flutter_launcher_icons: ^0.14.3
|
|
|
|
# Code Generation
|
|
build_runner: ^2.4.13
|
|
riverpod_generator: ^2.4.0
|
|
hive_generator: ^2.0.1
|
|
|
|
# Les icônes Android (mipmap, adaptative, bannière TV) sont générées par
|
|
# scripts/generate_icons.py et versionnées : ne pas les écraser ici.
|
|
flutter_launcher_icons:
|
|
android: false
|
|
ios: true
|
|
image_path: "assets/images/app_icon_ios.png"
|
|
# iOS refuse une icône comportant un canal alpha.
|
|
remove_alpha_ios: true
|
|
|
|
flutter:
|
|
uses-material-design: true
|
|
assets:
|
|
- assets/images/
|