refactor: share the paginated grid tab, cached remote store, and tile focus
- PaginatedCardGridTabState: the collections and playlists tabs were 95% identical; they now supply only pageSize/fetchPage/idOf instead of each duplicating the grid, memo, inflation budget and focus wiring. - EtagCachedRemoteStore: the anime-lists and fribb mapping stores now share one download/cache/isolate-parse/conditional-GET lifecycle. - FocusableTileStateMixin manages its own initState/didUpdateWidget/dispose instead of requiring every caller to forward three lifecycle hooks. Also drops unused ServerCapabilities entries and dead code in focusable_list_tile and music/track_row.
This commit is contained in:
@@ -8,10 +8,11 @@ import 'package:plezy/media/media_server_client.dart';
|
||||
import 'package:plezy/media/server_capabilities.dart';
|
||||
import 'package:plezy/providers/multi_server_provider.dart';
|
||||
import 'package:plezy/screens/video_player_screen.dart';
|
||||
import 'package:plezy/services/data_aggregation_service.dart';
|
||||
import 'package:plezy/services/multi_server_manager.dart';
|
||||
import 'package:plezy/utils/live_tv_player_navigation.dart';
|
||||
|
||||
import '../test_helpers/multi_server_fixtures.dart';
|
||||
|
||||
void main() {
|
||||
late MultiServerManager manager;
|
||||
late MultiServerProvider multiServer;
|
||||
@@ -19,7 +20,7 @@ void main() {
|
||||
setUp(() async {
|
||||
await LocaleSettings.setLocale(AppLocale.bg);
|
||||
manager = MultiServerManager();
|
||||
multiServer = MultiServerProvider(manager, DataAggregationService(manager));
|
||||
multiServer = testMultiServerProvider(manager);
|
||||
});
|
||||
|
||||
tearDown(() {
|
||||
|
||||
Reference in New Issue
Block a user