mirror of
https://github.com/R0m1k3/xtremobile.git
synced 2026-10-23 15:18:15 +02:00
feat: Apple glass gray theme, lower live latency, audio fix, remote focus memory
Theme — replace the near-black "Warm Cinema" palette with a neutral "Apple Glass Gray" system: graphite surfaces (#26262C base, lighter containers), Apple-white text, Apple system blue accent, white glass borders/highlights. Noticeably less dark overall; light theme moves from kraft paper to iOS light gray. All AppColors names kept so no call site changes. Player latency — live buffering drops from 8s cache / 10s readahead / 150MB to 3s / 5s / 60MB, keeping enough headroom for network jitter while staying much closer to the live edge. Audio — the forced audio filter chain (af=lavrresample,format=channels=stereo:sample_fmts=s16) mixed FFmpeg and mpv syntax; when it failed to init for a channel's codec, mpv muted the stream entirely. Replaced by mpv's native audio-channels=stereo downmix and AO-negotiated output format. Probe caps raised (2MB/3s) so late-declared audio tracks (AAC-LATM) are detected without slowing healthy streams. Remote control — the player OSD now remembers the last focused button and restores focus to it whenever the OSD reopens (arrows, OK) and across channel switches, so one press re-zaps instead of five. On live TV, OK with hidden controls only reopens the OSD instead of pausing the stream. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0156exq7fejVrD3HKU3MmS8X
This commit is contained in:
4 files changed
+218
-165
No files matched your search
@@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'app_colors.dart';
|
||||
|
||||
/// XtremFlow — "Warm Cinema" theme (ported from the web app).
|
||||
/// XtremFlow — "Apple Glass Gray" theme.
|
||||
///
|
||||
/// Typography: **Fraunces** (serif éditorial) for display/headline, **Karla**
|
||||
/// (humaniste chaud) for UI and body — very legible at TV distance and on a
|
||||
@@ -217,10 +217,9 @@ class AppTheme {
|
||||
secondary: AppColors.textSecondary,
|
||||
),
|
||||
|
||||
// Curseur crème — un curseur blanc pur jure sur fond chaud.
|
||||
textSelectionTheme: const TextSelectionThemeData(
|
||||
cursorColor: AppColors.primary,
|
||||
selectionColor: Color(0x59D9541F),
|
||||
selectionColor: Color(0x590A84FF),
|
||||
selectionHandleColor: AppColors.primaryContainer,
|
||||
),
|
||||
|
||||
@@ -334,7 +333,7 @@ class AppTheme {
|
||||
activeTrackColor: AppColors.primaryContainer,
|
||||
inactiveTrackColor: AppColors.onSurface24,
|
||||
thumbColor: AppColors.primary,
|
||||
overlayColor: Color(0x29D9541F),
|
||||
overlayColor: Color(0x290A84FF),
|
||||
),
|
||||
|
||||
progressIndicatorTheme: const ProgressIndicatorThemeData(
|
||||
@@ -362,17 +361,17 @@ class AppTheme {
|
||||
);
|
||||
}
|
||||
|
||||
// ============ LIGHT THEME (« papier kraft ») ============
|
||||
// ============ LIGHT THEME (gris système clair) ============
|
||||
static ThemeData get lightTheme {
|
||||
final baseTheme = ThemeData.light(useMaterial3: true);
|
||||
|
||||
const bgColor = Color(0xFFFBF3EC);
|
||||
const bgColor = Color(0xFFF2F2F7);
|
||||
const surfaceColor = Color(0xFFFFFFFF);
|
||||
const primaryColor = Color(0xFFA63B10);
|
||||
const textPrimaryColor = Color(0xFF201A16);
|
||||
const textSecondaryColor = Color(0xFF52443B);
|
||||
const textTertiaryColor = Color(0xFF847369);
|
||||
const borderColor = Color(0xFFD6C3B7);
|
||||
const primaryColor = Color(0xFF0066CC);
|
||||
const textPrimaryColor = Color(0xFF1C1C1E);
|
||||
const textSecondaryColor = Color(0xFF48484E);
|
||||
const textTertiaryColor = Color(0xFF8E8E93);
|
||||
const borderColor = Color(0xFFD8D8DE);
|
||||
|
||||
return baseTheme.copyWith(
|
||||
colorScheme: AppColors.lightColorScheme,
|
||||
@@ -386,7 +385,7 @@ class AppTheme {
|
||||
|
||||
textSelectionTheme: const TextSelectionThemeData(
|
||||
cursorColor: primaryColor,
|
||||
selectionColor: Color(0x4DA63B10),
|
||||
selectionColor: Color(0x4D0066CC),
|
||||
selectionHandleColor: primaryColor,
|
||||
),
|
||||
|
||||
|
||||
Reference in new issue
Block a user