Skip to content

Commit

Permalink
watch/listen to metadata provider to fix prefetching
Browse files Browse the repository at this point in the history
  • Loading branch information
Chaphasilor committed Apr 18, 2024
1 parent 9581e28 commit c1c78ca
Show file tree
Hide file tree
Showing 3 changed files with 161 additions and 17 deletions.
8 changes: 4 additions & 4 deletions lib/services/current_track_metadata_provider.dart
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,15 @@ final currentTrackMetadataProvider =
BaseItemDto? base = itemToPrecache.baseItem;
if (base != null) {
final request = MetadataRequest(item: base, includeLyrics: true);
unawaited(ref.read(metadataProvider(request).future).then((value) {
if (value != null) {
ref.listen(metadataProvider(request).future, (valueOrNull, value) {
if (valueOrNull != null) {
// Cache the returned image
// stream =
// value.resolve(const ImageConfiguration(devicePixelRatio: 1.0));
// listener = ImageStreamListener((image, synchronousCall) {});
// stream!.addListener(listener!);
}
}));
});
}
}

Expand All @@ -44,7 +44,7 @@ final currentTrackMetadataProvider =
item: currentTrack,
includeLyrics: true,
);
return ref.read(metadataProvider(request).future);
return ref.watch(metadataProvider(request).future);
}
return null;
});
Expand Down
5 changes: 2 additions & 3 deletions lib/services/metadata_provider.dart
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,8 @@ class MetadataProvider {

}

final AutoDisposeFutureProviderFamily<MetadataProvider?, MetadataRequest>
metadataProvider = FutureProvider.autoDispose
.family<MetadataProvider?, MetadataRequest>((ref, request) async {
final FutureProviderFamily<MetadataProvider?, MetadataRequest>
metadataProvider = FutureProvider.family<MetadataProvider?, MetadataRequest>((ref, request) async {

final jellyfinApiHelper = GetIt.instance<JellyfinApiHelper>();
final downloadsService = GetIt.instance<DownloadsService>();
Expand Down
165 changes: 155 additions & 10 deletions pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,16 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.18.13"
audio_service_mpris:
dependency: "direct main"
description:
name: audio_service_mpris
sha256: a8d1583f9143d17b2facc994a99bd1ea257cec43adcb8d7349458555c62b570f
url: "https://pub.dev"
source: hosted
version: "0.1.3"
audio_service_platform_interface:
dependency: transitive
dependency: "direct main"
description:
name: audio_service_platform_interface
sha256: "8431a455dac9916cc9ee6f7da5620a666436345c906ad2ebb7fa41d18b3c1bf4"
Expand Down Expand Up @@ -122,6 +130,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.4.1"
build_cli_annotations:
dependency: transitive
description:
name: build_cli_annotations
sha256: b59d2769769efd6c9ff6d4c4cede0be115a566afc591705c2040b707534b1172
url: "https://pub.dev"
source: hosted
version: "2.1.0"
build_config:
dependency: transitive
description:
Expand Down Expand Up @@ -258,6 +274,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.18.0"
console:
dependency: transitive
description:
name: console
sha256: e04e7824384c5b39389acdd6dc7d33f3efe6b232f6f16d7626f194f6a01ad69a
url: "https://pub.dev"
source: hosted
version: "4.1.0"
convert:
dependency: transitive
description:
Expand Down Expand Up @@ -322,6 +346,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.2.0"
dbus:
dependency: transitive
description:
name: dbus
sha256: "365c771ac3b0e58845f39ec6deebc76e3276aa9922b0cc60840712094d9047ac"
url: "https://pub.dev"
source: hosted
version: "0.7.10"
device_info_plus:
dependency: "direct main"
description:
Expand Down Expand Up @@ -407,6 +439,14 @@ packages:
description: flutter
source: sdk
version: "0.0.0"
flutter_blurhash:
dependency: "direct main"
description:
name: flutter_blurhash
sha256: "5e67678e479ac639069d7af1e133f4a4702311491188ff3e0227486430db0c06"
url: "https://pub.dev"
source: hosted
version: "0.8.2"
flutter_cache_manager:
dependency: transitive
description:
Expand Down Expand Up @@ -452,6 +492,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.5.1"
flutter_rust_bridge:
dependency: transitive
description:
name: flutter_rust_bridge
sha256: e12415c3bce49bcbc3fed383f0ea41ad7d828f6cf0eccba0588ffa5a812fe522
url: "https://pub.dev"
source: hosted
version: "1.82.1"
flutter_staggered_grid_view:
dependency: transitive
description:
Expand Down Expand Up @@ -687,6 +735,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.9.37"
just_audio_media_kit:
dependency: "direct main"
description:
name: just_audio_media_kit
sha256: bbecbd43959c230d9f9610df0e0165855e711b4c960ce730c08f31107cc3bd26
url: "https://pub.dev"
source: hosted
version: "2.0.4"
just_audio_platform_interface:
dependency: transitive
description:
Expand Down Expand Up @@ -775,6 +831,30 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.8.0"
media_kit:
dependency: transitive
description:
name: media_kit
sha256: "3289062540e3b8b9746e5c50d95bd78a9289826b7227e253dff806d002b9e67a"
url: "https://pub.dev"
source: hosted
version: "1.1.10+1"
media_kit_libs_linux:
dependency: "direct main"
description:
name: media_kit_libs_linux
sha256: e186891c31daa6bedab4d74dcdb4e8adfccc7d786bfed6ad81fe24a3b3010310
url: "https://pub.dev"
source: hosted
version: "1.1.3"
media_kit_libs_windows_audio:
dependency: "direct main"
description:
name: media_kit_libs_windows_audio
sha256: c2fd558cc87b9d89a801141fcdffe02e338a3b21a41a18fbd63d5b221a1b8e53
url: "https://pub.dev"
source: hosted
version: "1.0.9"
meta:
dependency: transitive
description:
Expand All @@ -799,6 +879,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.1.0"
msix:
dependency: "direct dev"
description:
name: msix
sha256: "519b183d15dc9f9c594f247e2d2339d855cf0eaacc30e19b128e14f3ecc62047"
url: "https://pub.dev"
source: hosted
version: "3.16.7"
nested:
dependency: transitive
description:
Expand Down Expand Up @@ -1016,6 +1104,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.2.3"
puppeteer:
dependency: transitive
description:
name: puppeteer
sha256: "6833edca01b1e9dcdd9a6e41bad84b706dfba4366d095c4edff64b00c02ac472"
url: "https://pub.dev"
source: hosted
version: "3.8.0"
riverpod:
dependency: transitive
description:
Expand Down Expand Up @@ -1064,6 +1160,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.27.7"
safe_local_storage:
dependency: transitive
description:
name: safe_local_storage
sha256: ede4eb6cb7d88a116b3d3bf1df70790b9e2038bc37cb19112e381217c74d9440
url: "https://pub.dev"
source: hosted
version: "1.0.2"
scroll_to_index:
dependency: "direct main"
description:
Expand Down Expand Up @@ -1096,6 +1200,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.4.1"
shelf_static:
dependency: transitive
description:
name: shelf_static
sha256: a41d3f53c4adf0f57480578c1d61d90342cd617de7fc8077b1304643c2d85c1e
url: "https://pub.dev"
source: hosted
version: "1.1.2"
shelf_web_socket:
dependency: transitive
description:
Expand Down Expand Up @@ -1125,6 +1237,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.2.12"
smtc_windows:
dependency: "direct main"
description:
name: smtc_windows
sha256: "799bbe0f8e4436da852c5dcc0be482c97b8ae0f504f65c6b750cd239b4835aa0"
url: "https://pub.dev"
source: hosted
version: "0.1.2"
source_gen:
dependency: transitive
description:
Expand All @@ -1149,14 +1269,15 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.10.0"
sprintf:
dependency: transitive
split_view:
dependency: "direct main"
description:
name: sprintf
sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23"
url: "https://pub.dev"
source: hosted
version: "7.0.0"
path: "."
ref: "8b2b0f0e1c8470183cb2df40815a05bfdb3fe219"
resolved-ref: "8b2b0f0e1c8470183cb2df40815a05bfdb3fe219"
url: "https://github.com/odriverobotics/split_view.git"
source: git
version: "3.2.1"
sqflite:
dependency: transitive
description:
Expand Down Expand Up @@ -1253,6 +1374,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.0.1"
tuple:
dependency: transitive
description:
name: tuple
sha256: a97ce2013f240b2f3807bcbaf218765b6f301c3eff91092bcfa23a039e7dd151
url: "https://pub.dev"
source: hosted
version: "2.0.2"
typed_data:
dependency: transitive
description:
Expand All @@ -1261,6 +1390,22 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.3.2"
universal_platform:
dependency: transitive
description:
name: universal_platform
sha256: d315be0f6641898b280ffa34e2ddb14f3d12b1a37882557869646e0cc363d0cc
url: "https://pub.dev"
source: hosted
version: "1.0.0+1"
uri_parser:
dependency: transitive
description:
name: uri_parser
sha256: "6543c9fd86d2862fac55d800a43e67c0dcd1a41677cb69c2f8edfe73bbcf1835"
url: "https://pub.dev"
source: hosted
version: "2.0.2"
url_launcher_linux:
dependency: transitive
description:
Expand Down Expand Up @@ -1297,10 +1442,10 @@ packages:
dependency: "direct main"
description:
name: uuid
sha256: cd210a09f7c18cbe5a02511718e0334de6559871052c90a90c0cca46a4aa81c8
sha256: "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313"
url: "https://pub.dev"
source: hosted
version: "4.3.3"
version: "3.0.7"
value_layout_builder:
dependency: transitive
description:
Expand Down

0 comments on commit c1c78ca

Please sign in to comment.