fix(ci): restore sanity checks

This commit is contained in:
edde746
2026-06-16 22:43:56 +02:00
parent 39788ab64a
commit 84b9eac09b
5 changed files with 43 additions and 52 deletions
@@ -14,6 +14,4 @@ internal fun isPassthroughAudioMimeType(mimeType: String): Boolean = when (mimeT
else -> false else -> false
} }
internal fun shouldBlockDirectOutputForPassthrough(mimeType: String, audioPassthroughEnabled: Boolean): Boolean { internal fun shouldBlockDirectOutputForPassthrough(mimeType: String, audioPassthroughEnabled: Boolean): Boolean = !audioPassthroughEnabled && isPassthroughAudioMimeType(mimeType)
return !audioPassthroughEnabled && isPassthroughAudioMimeType(mimeType)
}
@@ -717,9 +717,7 @@ class ExoPlayerPlugin :
* Queries relevant MPV properties and returns them in a map format * Queries relevant MPV properties and returns them in a map format
* compatible with the performance overlay. * compatible with the performance overlay.
*/ */
private fun getMpvStats(): Map<String, Any?> { private fun getMpvStats(): Map<String, Any?> = mpvCore?.getStats() ?: mapOf("playerType" to "mpv")
return mpvCore?.getStats() ?: mapOf("playerType" to "mpv")
}
// PiP Mode handling // PiP Mode handling
@@ -796,9 +794,7 @@ class ExoPlayerPlugin :
options.add("sub-files=%${pathList.toByteArray(Charsets.UTF_8).size}%$pathList") options.add("sub-files=%${pathList.toByteArray(Charsets.UTF_8).size}%$pathList")
} }
private fun escapeMpvPathListEntry(value: String): String { private fun escapeMpvPathListEntry(value: String): String = value.replace("\\", "\\\\").replace(":", "\\:")
return value.replace("\\", "\\\\").replace(":", "\\:")
}
/** /**
* Configure a freshly initialized MPV fallback core: replay the properties * Configure a freshly initialized MPV fallback core: replay the properties
+39 -41
View File
@@ -960,50 +960,48 @@ class _AppShell extends StatelessWidget {
child: Builder( child: Builder(
builder: (context) { builder: (context) {
return Listener( return Listener(
onPointerDown: (event) { onPointerDown: (event) {
if ((event.buttons & kBackMouseButton) != 0) { if ((event.buttons & kBackMouseButton) != 0) {
rootNavigatorKey.currentState?.maybePop(); rootNavigatorKey.currentState?.maybePop();
} }
},
behavior: HitTestBehavior.translucent,
child: InputModeTracker(
child: MaterialApp(
title: t.app.title,
debugShowCheckedModeBanner: false,
theme: themeProvider.lightTheme,
darkTheme: themeProvider.darkTheme,
themeMode: themeProvider.materialThemeMode,
navigatorKey: rootNavigatorKey,
navigatorObservers: [routeObserver, BackKeySuppressorObserver()],
home: const OrientationAwareSetup(),
// Siri Remote select + gamepad A report as
// LogicalKeyboardKey.{select,gameButtonA} which aren't
// in Flutter's default shortcut set — Material-level
// widgets (menu items, showModalBottomSheet actions)
// ignore them. Map both to ActivateIntent so tapping
// select on tvOS activates the focused widget.
shortcuts: <ShortcutActivator, Intent>{
...WidgetsApp.defaultShortcuts,
const SingleActivator(LogicalKeyboardKey.select): const ActivateIntent(),
const SingleActivator(LogicalKeyboardKey.gameButtonA): const ActivateIntent(),
const SingleActivator(LogicalKeyboardKey.goBack): const DismissIntent(),
const SingleActivator(LogicalKeyboardKey.browserBack): const DismissIntent(),
const SingleActivator(LogicalKeyboardKey.gameButtonB): const DismissIntent(),
}, },
behavior: HitTestBehavior.translucent, builder: (context, child) => ScaffoldMessenger(
child: InputModeTracker( key: rootScaffoldMessengerKey,
child: MaterialApp( child: Scaffold(
title: t.app.title, backgroundColor: Colors.transparent,
debugShowCheckedModeBanner: false, body: _AppleTvScale(child: child),
theme: themeProvider.lightTheme,
darkTheme: themeProvider.darkTheme,
themeMode: themeProvider.materialThemeMode,
navigatorKey: rootNavigatorKey,
navigatorObservers: [routeObserver, BackKeySuppressorObserver()],
home: const OrientationAwareSetup(),
// Siri Remote select + gamepad A report as
// LogicalKeyboardKey.{select,gameButtonA} which aren't
// in Flutter's default shortcut set — Material-level
// widgets (menu items, showModalBottomSheet actions)
// ignore them. Map both to ActivateIntent so tapping
// select on tvOS activates the focused widget.
shortcuts: <ShortcutActivator, Intent>{
...WidgetsApp.defaultShortcuts,
const SingleActivator(LogicalKeyboardKey.select): const ActivateIntent(),
const SingleActivator(LogicalKeyboardKey.gameButtonA): const ActivateIntent(),
const SingleActivator(LogicalKeyboardKey.goBack): const DismissIntent(),
const SingleActivator(LogicalKeyboardKey.browserBack): const DismissIntent(),
const SingleActivator(LogicalKeyboardKey.gameButtonB): const DismissIntent(),
},
builder: (context, child) => ScaffoldMessenger(
key: rootScaffoldMessengerKey,
child: Scaffold(
backgroundColor: Colors.transparent,
body: _AppleTvScale(child: child),
),
),
), ),
), ),
); ),
}, ),
), );
); },
}, ),
); );
}, },
); );
@@ -140,7 +140,7 @@ class _ProfileDetailScreenState extends State<ProfileDetailScreen> with Controll
serverManager: context.read<MultiServerProvider>().serverManager, serverManager: context.read<MultiServerProvider>().serverManager,
); );
if (!mounted) return; if (!mounted) return;
await Provider.maybeOf<HiddenLibrariesProvider>(context, listen: false)?.refresh(); await context.read<HiddenLibrariesProvider?>()?.refresh();
if (!mounted) return; if (!mounted) return;
unawaited(context.read<ActiveProfileBinder>().rebindIfActive(_profile.id)); unawaited(context.read<ActiveProfileBinder>().rebindIfActive(_profile.id));
} }
@@ -658,7 +658,6 @@ mixin _JellyfinBrowseMethods on MediaServerCacheMixin {
return _pagedMediaItems(response.data, offset: offset, requestedSize: pageSize); return _pagedMediaItems(response.data, offset: offset, requestedSize: pageSize);
} }
@override
Future<LibraryPage<MediaItem>> fetchSeasonEpisodesPage( Future<LibraryPage<MediaItem>> fetchSeasonEpisodesPage(
String seriesId, String seriesId,
String seasonId, { String seasonId, {