feat: Introduce mobile Xtream IPTV service and provider files, remove numerous temporary analysis and build log files, and add a Claude settings file.

This commit is contained in:
Michael committed 2026-03-27 11:38:38 +01:00
1 parent ef97c6dc90
commit 0010fe12ba
50 files changed
+119 -3688

No files matched your search

@@ -17,14 +17,34 @@ final mobileXtreamServiceProvider =
});
/// Mobile-specific live channels provider
/// Loads ALL channels from ALL categories
final mobileLiveChannelsProvider =
FutureProvider.family<List<model.Channel>, PlaylistConfig>(
(ref, playlist) async {
final service = await ref.watch(mobileXtreamServiceProvider(playlist).future);
// Correction: getLiveChannels returns List<Channel>, and we now need a selected category
// If no category is selected, we might want to load all or first category.
// For now, let's assume it should return all channels or handle category selection elsewhere.
return service.getLiveChannels("");
// Strategy: Try to load categories first (with timeout)
// If categories load successfully, load channels for each category
// If categories fail/timeout, load all channels at once
List<model.Category> categories = [];
try {
categories = await service.getLiveCategories();
} catch (e) {
// Silently fall back to loading all channels
}
if (categories.isNotEmpty) {
// Load channels from each category and combine them
final allChannels = <model.Channel>[];
for (final category in categories) {
final channels = await service.getLiveChannels(category.categoryId);
allChannels.addAll(channels);
}
return allChannels;
}
// Fallback: Load all channels without category filter
return service.getLiveChannels("");
});
/// Mobile-specific movies provider