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:
@@ -16,13 +16,13 @@ import 'package:plezy/providers/discover_provider.dart';
|
||||
import 'package:plezy/providers/hidden_libraries_provider.dart';
|
||||
import 'package:plezy/providers/multi_server_provider.dart';
|
||||
import 'package:plezy/providers/trackers_provider.dart';
|
||||
import 'package:plezy/services/data_aggregation_service.dart';
|
||||
import 'package:plezy/services/multi_server_manager.dart';
|
||||
import 'package:plezy/services/offline_watch_sync_service.dart';
|
||||
import 'package:plezy/services/storage_service.dart';
|
||||
import 'package:plezy/services/system_shelf_service.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
import '../test_helpers/multi_server_fixtures.dart';
|
||||
import '../test_helpers/prefs.dart';
|
||||
|
||||
void main() {
|
||||
@@ -51,7 +51,7 @@ void main() {
|
||||
storage: storage,
|
||||
);
|
||||
final serverManager = MultiServerManager();
|
||||
final multiServer = MultiServerProvider(serverManager, DataAggregationService(serverManager));
|
||||
final multiServer = testMultiServerProvider(serverManager);
|
||||
// The session tree instantiates MusicPlaybackServiceImpl (the mini-player
|
||||
// overlay watches it), which needs the database + offline watch service.
|
||||
final offlineWatch = OfflineWatchSyncService(database: db, serverManager: serverManager);
|
||||
|
||||
Reference in New Issue
Block a user