upgrade to flutter 3.27.4
Some checks failed
Flutter Test / test (push) Has been cancelled

This commit is contained in:
Dr.Blank 2025-03-25 22:01:16 +05:30
parent e7946feca1
commit 2fd4650bb8
No known key found for this signature in database
GPG key ID: BA5F87FF0560C57B
44 changed files with 433 additions and 315 deletions

3
.fvmrc Normal file
View file

@ -0,0 +1,3 @@
{
"flutter": "3.27.4"
}

3
.gitignore vendored
View file

@ -44,3 +44,6 @@ app.*.map.json
# secret keys
/secrets
# FVM Version Cache
.fvm/

1
.vscode/launch.json vendored
View file

@ -7,6 +7,7 @@
{
"name": "vaani",
"request": "launch",
"program": "lib/main.dart",
"type": "dart"
},
{

27
.vscode/settings.json vendored
View file

@ -1,28 +1,35 @@
{
"workbench.colorCustomizations": {
"activityBar.background": "#5A1021",
"titleBar.activeBackground": "#7E162E",
"titleBar.activeForeground": "#FEFBFC"
},
"files.exclude": {
"**/*.freezed.dart": true,
"**/*.g.dart": true
},
"cmake.configureOnOpen": false,
"cSpell.words": [
"audioplayers",
"autolabeler",
"Autovalidate",
"Checkmark",
"Debounceable",
"deeplinking",
"fullscreen",
"Lerp",
"miniplayer",
"mocktail",
"nodename",
"numberpicker",
"riverpod",
"Schyler",
"shelfsdk",
"sysname",
"tapable",
"unfocus",
"utsname",
"Vaani"
],
"cmake.configureOnOpen": false
"dart.flutterSdkPath": ".fvm/versions/3.27.4",
"files.exclude": {
"**/*.freezed.dart": true,
"**/*.g.dart": true
},
"workbench.colorCustomizations": {
"activityBar.background": "#5A1021",
"titleBar.activeBackground": "#7E162E",
"titleBar.activeForeground": "#FEFBFC"
}
}

2
.vscode/tasks.json vendored
View file

@ -5,7 +5,7 @@
"icon": { "id": "eye-watch", "color": "terminal.ansiYellow" },
"label": "build_runner watch",
"type": "shell",
"command": "dart run build_runner watch --delete-conflicting-outputs",
"command": "fvm dart run build_runner watch --delete-conflicting-outputs",
"group": {
"kind": "build",
"isDefault": true

View file

@ -25,6 +25,10 @@ linter:
# prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule
require_trailing_commas: true
analyzer:
exclude:
- '**.freezed.dart'
- '**.g.dart'
- '**.gr.dart'
errors:
invalid_annotation_target: ignore
plugins:

View file

@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-all.zip

View file

@ -19,7 +19,7 @@ pluginManagement {
plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version "7.3.0" apply false
id "com.android.application" version '8.2.1' apply false
id "org.jetbrains.kotlin.android" version "2.0.20" apply false
}

View file

@ -2,6 +2,7 @@
import 'dart:convert';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:http/http.dart';
import 'package:logging/logging.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
@ -34,7 +35,7 @@ Uri makeBaseUrl(String address) {
/// get the api instance for the given base url
@riverpod
AudiobookshelfApi audiobookshelfApi(AudiobookshelfApiRef ref, Uri? baseUrl) {
AudiobookshelfApi audiobookshelfApi(Ref ref, Uri? baseUrl) {
// try to get the base url from app settings
final apiSettings = ref.watch(apiSettingsProvider);
baseUrl ??= apiSettings.activeServer?.serverUrl;
@ -47,7 +48,7 @@ AudiobookshelfApi audiobookshelfApi(AudiobookshelfApiRef ref, Uri? baseUrl) {
///
/// if the user is not authenticated throw an error
@Riverpod(keepAlive: true)
AudiobookshelfApi authenticatedApi(AuthenticatedApiRef ref) {
AudiobookshelfApi authenticatedApi(Ref ref) {
final apiSettings = ref.watch(apiSettingsProvider);
final user = apiSettings.activeUser;
if (user == null) {
@ -62,7 +63,7 @@ AudiobookshelfApi authenticatedApi(AuthenticatedApiRef ref) {
/// ping the server to check if it is reachable
@riverpod
FutureOr<bool> isServerAlive(IsServerAliveRef ref, String address) async {
FutureOr<bool> isServerAlive(Ref ref, String address) async {
if (address.isEmpty) {
return false;
}
@ -80,7 +81,7 @@ FutureOr<bool> isServerAlive(IsServerAliveRef ref, String address) async {
/// fetch status of server
@riverpod
FutureOr<ServerStatusResponse?> serverStatus(
ServerStatusRef ref,
Ref ref,
Uri baseUrl, [
ResponseErrorHandler? responseErrorHandler,
]) async {
@ -173,7 +174,7 @@ class PersonalizedView extends _$PersonalizedView {
/// fetch continue listening audiobooks
@riverpod
FutureOr<GetUserSessionsResponse> fetchContinueListening(
FetchContinueListeningRef ref,
Ref ref,
) async {
final api = ref.watch(authenticatedApiProvider);
final res = await api.me.getSessions();
@ -185,7 +186,7 @@ FutureOr<GetUserSessionsResponse> fetchContinueListening(
@riverpod
FutureOr<User> me(
MeRef ref,
Ref ref,
) async {
final api = ref.watch(authenticatedApiProvider);
final errorResponseHandler = ErrorResponseHandler();
@ -203,7 +204,7 @@ FutureOr<User> me(
@riverpod
FutureOr<LoginResponse?> login(
LoginRef ref, {
Ref ref, {
AuthenticatedUser? user,
}) async {
if (user == null) {

View file

@ -6,7 +6,7 @@ part of 'api_provider.dart';
// RiverpodGenerator
// **************************************************************************
String _$audiobookshelfApiHash() => r'2c310ea77fea9918ccf96180a92075acd037bd95';
String _$audiobookshelfApiHash() => r'f23a06c404e11867a7f796877eaca99b8ff25458';
/// Copied from Dart SDK
class _SystemHash {
@ -154,6 +154,8 @@ class AudiobookshelfApiProvider extends AutoDisposeProvider<AudiobookshelfApi> {
}
}
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
mixin AudiobookshelfApiRef on AutoDisposeProviderRef<AudiobookshelfApi> {
/// The parameter `baseUrl` of this provider.
Uri? get baseUrl;
@ -168,7 +170,7 @@ class _AudiobookshelfApiProviderElement
Uri? get baseUrl => (origin as AudiobookshelfApiProvider).baseUrl;
}
String _$authenticatedApiHash() => r'e662465f01ab1a6384db4738a3ae49b5fab48a4f';
String _$authenticatedApiHash() => r'5cf3329fe3074e3a09e266b4bae78b53e9c01220';
/// get the api instance for the authenticated user
///
@ -186,8 +188,10 @@ final authenticatedApiProvider = Provider<AudiobookshelfApi>.internal(
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
typedef AuthenticatedApiRef = ProviderRef<AudiobookshelfApi>;
String _$isServerAliveHash() => r'6ff90b6e0febd2cd4a4d3a5209a59afc778cd3b6';
String _$isServerAliveHash() => r'bb3a53cae1eb64b8760a56864feed47b7a3f1c29';
/// ping the server to check if it is reachable
///
@ -314,6 +318,8 @@ class IsServerAliveProvider extends AutoDisposeFutureProvider<bool> {
}
}
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
mixin IsServerAliveRef on AutoDisposeFutureProviderRef<bool> {
/// The parameter `address` of this provider.
String get address;
@ -327,7 +333,7 @@ class _IsServerAliveProviderElement
String get address => (origin as IsServerAliveProvider).address;
}
String _$serverStatusHash() => r'd7079e19e68f5f61b0afa0f73a2af8807c4b3cf6';
String _$serverStatusHash() => r'2d9c5d6f970caec555e5322d43a388ea8572619f';
/// fetch status of server
///
@ -467,6 +473,8 @@ class ServerStatusProvider
}
}
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
mixin ServerStatusRef on AutoDisposeFutureProviderRef<ServerStatusResponse?> {
/// The parameter `baseUrl` of this provider.
Uri get baseUrl;
@ -488,7 +496,7 @@ class _ServerStatusProviderElement
}
String _$fetchContinueListeningHash() =>
r'f65fe3ac3a31b8ac074330525c5d2cc4b526802d';
r'50aeb77369eda38d496b2f56f3df2aea135dab45';
/// fetch continue listening audiobooks
///
@ -505,9 +513,11 @@ final fetchContinueListeningProvider =
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
typedef FetchContinueListeningRef
= AutoDisposeFutureProviderRef<GetUserSessionsResponse>;
String _$meHash() => r'da5f40b8063b0c0a6651fdcc4ac2d192d0dc7df6';
String _$meHash() => r'b3b6d6d940b465c60d0c29cd6e81ba2fcccab186';
/// See also [me].
@ProviderFor(me)
@ -520,8 +530,10 @@ final meProvider = AutoDisposeFutureProvider<User>.internal(
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
typedef MeRef = AutoDisposeFutureProviderRef<User>;
String _$loginHash() => r'eb1c4fcef1818dce994846c1adb8eca8f6ec9259';
String _$loginHash() => r'99410c2bed9c8f412c7b47c4e655db64e0054be2';
/// See also [login].
@ProviderFor(login)
@ -635,6 +647,8 @@ class LoginProvider extends AutoDisposeFutureProvider<LoginResponse?> {
}
}
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
mixin LoginRef on AutoDisposeFutureProviderRef<LoginResponse?> {
/// The parameter `user` of this provider.
AuthenticatedUser? get user;
@ -667,4 +681,4 @@ final personalizedViewProvider =
typedef _$PersonalizedView = AutoDisposeStreamNotifier<List<Shelf>>;
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View file

@ -25,4 +25,4 @@ final authenticatedUserProvider = AutoDisposeNotifierProvider<AuthenticatedUser,
typedef _$AuthenticatedUser = AutoDisposeNotifier<Set<model.AuthenticatedUser>>;
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View file

@ -155,6 +155,8 @@ class CoverImageProvider
}
}
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
mixin CoverImageRef on StreamNotifierProviderRef<Uint8List> {
/// The parameter `itemId` of this provider.
String get itemId;
@ -169,4 +171,4 @@ class _CoverImageProviderElement
String get itemId => (origin as CoverImageProvider).itemId;
}
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View file

@ -170,6 +170,8 @@ class LibraryItemProvider extends StreamNotifierProviderImpl<LibraryItem,
}
}
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
mixin LibraryItemRef
on StreamNotifierProviderRef<shelfsdk.LibraryItemExpanded> {
/// The parameter `id` of this provider.
@ -184,4 +186,4 @@ class _LibraryItemProviderElement extends StreamNotifierProviderElement<
String get id => (origin as LibraryItemProvider).id;
}
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View file

@ -1,4 +1,3 @@
import 'package:collection/collection.dart';
import 'package:logging/logging.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:vaani/api/authenticated_user_provider.dart';
@ -50,7 +49,7 @@ class AudiobookShelfServer extends _$AudiobookShelfServer {
if (_box.isNotEmpty) {
final foundServers = _box.getRange(0, _box.length);
_logger.info('found servers in box: ${foundServers.obfuscate()}');
return foundServers.whereNotNull().toSet();
return foundServers.nonNulls.toSet();
} else {
_logger.info('no settings found in box');
return {};

View file

@ -7,7 +7,7 @@ part of 'server_provider.dart';
// **************************************************************************
String _$audiobookShelfServerHash() =>
r'0084fb72c4c54323207928b95716cfd9ca496c11';
r'09e7e37ddc794c45eafbaab7eba82c9dd17faa93';
/// provides with a set of servers added by the user
///
@ -27,4 +27,4 @@ final audiobookShelfServerProvider = AutoDisposeNotifierProvider<
typedef _$AudiobookShelfServer
= AutoDisposeNotifier<Set<model.AudiobookShelfServer>>;
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View file

@ -1,4 +1,5 @@
import 'package:background_downloader/background_downloader.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:logging/logging.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:shelfsdk/audiobookshelf_api.dart';
@ -122,7 +123,7 @@ class ItemDownloadProgress extends _$ItemDownloadProgress {
@riverpod
FutureOr<List<TaskRecord>> downloadHistory(
DownloadHistoryRef ref, {
Ref ref, {
String? group,
}) async {
return await FileDownloader().database.allRecords(group: group);

View file

@ -6,7 +6,7 @@ part of 'download_manager.dart';
// RiverpodGenerator
// **************************************************************************
String _$downloadHistoryHash() => r'76c449e8abfa61d57566991686f534a06dc7fef7';
String _$downloadHistoryHash() => r'4d8b84e30f7ff5ae69d23c8e03ff24af1234a1ad';
/// Copied from Dart SDK
class _SystemHash {
@ -143,6 +143,8 @@ class DownloadHistoryProvider
}
}
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
mixin DownloadHistoryRef on AutoDisposeFutureProviderRef<List<TaskRecord>> {
/// The parameter `group` of this provider.
String? get group;
@ -318,6 +320,8 @@ class IsItemDownloadingProvider
}
}
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
mixin IsItemDownloadingRef on AutoDisposeNotifierProviderRef<bool> {
/// The parameter `id` of this provider.
String get id;
@ -463,6 +467,8 @@ class ItemDownloadProgressProvider extends AutoDisposeAsyncNotifierProviderImpl<
}
}
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
mixin ItemDownloadProgressRef on AutoDisposeAsyncNotifierProviderRef<double?> {
/// The parameter `id` of this provider.
String get id;
@ -607,6 +613,8 @@ class IsItemDownloadedProvider
}
}
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
mixin IsItemDownloadedRef on AutoDisposeAsyncNotifierProviderRef<bool> {
/// The parameter `item` of this provider.
LibraryItemExpanded get item;
@ -621,4 +629,4 @@ class _IsItemDownloadedProviderElement
LibraryItemExpanded get item => (origin as IsItemDownloadedProvider).item;
}
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View file

@ -26,4 +26,4 @@ final globalSearchControllerProvider =
typedef _$GlobalSearchController = Notifier<Raw<SearchController>>;
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View file

@ -1,3 +1,4 @@
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:shelfsdk/audiobookshelf_api.dart';
import 'package:vaani/api/api_provider.dart';
@ -8,7 +9,7 @@ part 'search_result_provider.g.dart';
/// The provider for the search result.
@riverpod
FutureOr<LibrarySearchResponse?> searchResult(
SearchResultRef ref,
Ref ref,
String query, {
int limit = 25,
}) async {

View file

@ -6,7 +6,7 @@ part of 'search_result_provider.dart';
// RiverpodGenerator
// **************************************************************************
String _$searchResultHash() => r'9baa643cce24f3a5e022f42202e423373939ef95';
String _$searchResultHash() => r'33785de298ad0d53c9d21e8fec88ba2f22f1363f';
/// Copied from Dart SDK
class _SystemHash {
@ -167,6 +167,8 @@ class SearchResultProvider
}
}
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
mixin SearchResultRef on AutoDisposeFutureProviderRef<LibrarySearchResponse?> {
/// The parameter `query` of this provider.
String get query;
@ -186,4 +188,4 @@ class _SearchResultProviderElement
int get limit => (origin as SearchResultProvider).limit;
}
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View file

@ -22,4 +22,4 @@ final logsProvider =
typedef _$Logs = AutoDisposeAsyncNotifier<List<LogRecord>>;
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View file

@ -169,7 +169,7 @@ class LogsPage extends HookConsumerWidget {
),
],
),
// a column with listview.builder and a scrollable list of logs
// a column with ListView.builder and a scrollable list of logs
body: Column(
children: [
// a filter for log levels, loggers, and search

View file

@ -1,5 +1,6 @@
import 'dart:io';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:vaani/api/api_provider.dart';
import 'package:vaani/models/error_response.dart';
@ -61,7 +62,7 @@ class OauthFlows extends _$OauthFlows {
/// the code returned by the server in exchange for the verifier
@riverpod
Future<String?> loginInExchangeForCode(
LoginInExchangeForCodeRef ref, {
Ref ref, {
required State oauthState,
required Code code,
ErrorResponseHandler? responseHandler,

View file

@ -7,7 +7,7 @@ part of 'oauth_provider.dart';
// **************************************************************************
String _$loginInExchangeForCodeHash() =>
r'e931254959d9eb8196439c6b0c884c26cbe17c2f';
r'bfc3945529048a0f536052fd5579b76457560fcd';
/// Copied from Dart SDK
class _SystemHash {
@ -179,6 +179,8 @@ class LoginInExchangeForCodeProvider
}
}
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
mixin LoginInExchangeForCodeRef on AutoDisposeFutureProviderRef<String?> {
/// The parameter `oauthState` of this provider.
String get oauthState;
@ -221,4 +223,4 @@ final oauthFlowsProvider =
typedef _$OauthFlows = Notifier<Map<State, Flow>>;
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View file

@ -157,6 +157,8 @@ class BookSettingsProvider
}
}
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
mixin BookSettingsRef on AutoDisposeNotifierProviderRef<model.BookSettings> {
/// The parameter `bookId` of this provider.
String get bookId;
@ -171,4 +173,4 @@ class _BookSettingsProviderElement
String get bookId => (origin as BookSettingsProvider).bookId;
}
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View file

@ -23,4 +23,4 @@ final playbackReporterProvider =
typedef _$PlaybackReporter = AsyncNotifier<core.PlaybackReporter>;
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View file

@ -22,4 +22,4 @@ final playlistProvider =
typedef _$Playlist = AutoDisposeNotifier<AudiobookPlaylist>;
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View file

@ -43,4 +43,4 @@ final audiobookPlayerProvider =
typedef _$AudiobookPlayer = Notifier<core.AudiobookPlayer>;
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View file

@ -1,3 +1,4 @@
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:logging/logging.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:shelfsdk/audiobookshelf_api.dart';
@ -9,7 +10,7 @@ part 'currently_playing_provider.g.dart';
final _logger = Logger('CurrentlyPlayingProvider');
@riverpod
BookExpanded? currentlyPlayingBook(CurrentlyPlayingBookRef ref) {
BookExpanded? currentlyPlayingBook(Ref ref) {
try {
final player = ref.watch(audiobookPlayerProvider);
return player.book;
@ -21,7 +22,7 @@ BookExpanded? currentlyPlayingBook(CurrentlyPlayingBookRef ref) {
/// provided the current chapter of the book being played
@riverpod
BookChapter? currentPlayingChapter(CurrentPlayingChapterRef ref) {
BookChapter? currentPlayingChapter(Ref ref) {
final player = ref.watch(audiobookPlayerProvider);
player.slowPositionStream.listen((_) {
ref.invalidateSelf();
@ -32,7 +33,7 @@ BookChapter? currentPlayingChapter(CurrentPlayingChapterRef ref) {
/// provides the book metadata of the currently playing book
@riverpod
BookMetadataExpanded? currentBookMetadata(CurrentBookMetadataRef ref) {
BookMetadataExpanded? currentBookMetadata(Ref ref) {
final player = ref.watch(audiobookPlayerProvider);
if (player.book == null) return null;
return player.book!.metadata.asBookMetadataExpanded;

View file

@ -7,7 +7,7 @@ part of 'currently_playing_provider.dart';
// **************************************************************************
String _$currentlyPlayingBookHash() =>
r'7440b0d54cb364f66e704783652e8f1490ae90e0';
r'e4258694c8f0d1e89651b330fae0f672ca13a484';
/// See also [currentlyPlayingBook].
@ProviderFor(currentlyPlayingBook)
@ -22,9 +22,11 @@ final currentlyPlayingBookProvider =
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
typedef CurrentlyPlayingBookRef = AutoDisposeProviderRef<BookExpanded?>;
String _$currentPlayingChapterHash() =>
r'a084da724e3d8bb1b1475e867ab3200d7d61d827';
r'73db8b8a9058573bb0c68ec5d5f8aba9306f3d24';
/// provided the current chapter of the book being played
///
@ -41,9 +43,11 @@ final currentPlayingChapterProvider =
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
typedef CurrentPlayingChapterRef = AutoDisposeProviderRef<BookChapter?>;
String _$currentBookMetadataHash() =>
r'9088debba151894b61f2dcba1bba12a89244b9b1';
r'f537ef4ef19280bc952de658ecf6520c535ae344';
/// provides the book metadata of the currently playing book
///
@ -60,6 +64,8 @@ final currentBookMetadataProvider =
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
typedef CurrentBookMetadataRef = AutoDisposeProviderRef<BookMetadataExpanded?>;
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View file

@ -27,7 +27,7 @@ extension on Ref {
@Riverpod(keepAlive: true)
Raw<ValueNotifier<double>> playerExpandProgressNotifier(
PlayerExpandProgressNotifierRef ref,
Ref ref,
) {
final ValueNotifier<double> playerExpandProgress =
ValueNotifier(playerMinHeight);
@ -47,7 +47,7 @@ Raw<ValueNotifier<double>> playerExpandProgressNotifier(
// a provider that will listen to the playerExpandProgressNotifier and return the percentage of the player expanded
@Riverpod(keepAlive: true)
double playerHeight(
PlayerHeightRef ref,
Ref ref,
) {
final playerExpandProgress = ref.watch(playerExpandProgressNotifierProvider);
@ -64,7 +64,7 @@ final audioBookMiniplayerController = MiniplayerController();
@Riverpod(keepAlive: true)
bool isPlayerActive(
IsPlayerActiveRef ref,
Ref ref,
) {
try {
final player = ref.watch(audiobookPlayerProvider);

View file

@ -7,7 +7,7 @@ part of 'player_form.dart';
// **************************************************************************
String _$playerExpandProgressNotifierHash() =>
r'e4817361b9a311b61ca23e51082ed11b0a1120ab';
r'1ac7172d90a070f96222286edd1a176be197f378';
/// See also [playerExpandProgressNotifier].
@ProviderFor(playerExpandProgressNotifier)
@ -22,9 +22,11 @@ final playerExpandProgressNotifierProvider =
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
typedef PlayerExpandProgressNotifierRef
= ProviderRef<Raw<ValueNotifier<double>>>;
String _$playerHeightHash() => r'26dbcb180d494575488d700bd5bdb58c02c224a9';
String _$playerHeightHash() => r'3f031eaffdffbb2c6ddf7eb1aba31bf1619260fc';
/// See also [playerHeight].
@ProviderFor(playerHeight)
@ -37,8 +39,10 @@ final playerHeightProvider = Provider<double>.internal(
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
typedef PlayerHeightRef = ProviderRef<double>;
String _$isPlayerActiveHash() => r'147e13cd7fd6fd3823623557ce4f300dc15b6fe6';
String _$isPlayerActiveHash() => r'2c7ca125423126fb5f0ef218d37bc8fe0ca9ec98';
/// See also [isPlayerActive].
@ProviderFor(isPlayerActive)
@ -52,6 +56,8 @@ final isPlayerActiveProvider = Provider<bool>.internal(
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
typedef IsPlayerActiveRef = ProviderRef<bool>;
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View file

@ -23,4 +23,4 @@ final shakeDetectorProvider =
typedef _$ShakeDetector = AutoDisposeNotifier<core.ShakeDetector?>;
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View file

@ -22,4 +22,4 @@ final sleepTimerProvider =
typedef _$SleepTimer = Notifier<core.SleepTimer?>;
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View file

@ -22,4 +22,4 @@ final apiSettingsProvider =
typedef _$ApiSettings = Notifier<model.ApiSettings>;
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View file

@ -39,4 +39,4 @@ final sleepTimerSettingsProvider =
typedef _$SleepTimerSettings = Notifier<model.SleepTimerSettings>;
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View file

@ -1,12 +1,13 @@
import 'package:device_info_plus/device_info_plus.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/services.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'metadata_provider.g.dart';
@Riverpod(keepAlive: true)
Future<String> deviceName(DeviceNameRef ref) async {
Future<String> deviceName(Ref ref) async {
final data = await _getDeviceData(DeviceInfoPlugin());
// try different keys to get the device name
@ -27,7 +28,7 @@ Future<String> deviceName(DeviceNameRef ref) async {
}
@Riverpod(keepAlive: true)
Future<String> deviceModel(DeviceModelRef ref) async {
Future<String> deviceModel(Ref ref) async {
final data = await _getDeviceData(DeviceInfoPlugin());
// try different keys to get the device model
@ -48,7 +49,7 @@ Future<String> deviceModel(DeviceModelRef ref) async {
}
@Riverpod(keepAlive: true)
Future<String> deviceSdkVersion(DeviceSdkVersionRef ref) async {
Future<String> deviceSdkVersion(Ref ref) async {
final data = await _getDeviceData(DeviceInfoPlugin());
// try different keys to get the device sdk version
@ -69,7 +70,7 @@ Future<String> deviceSdkVersion(DeviceSdkVersionRef ref) async {
}
@Riverpod(keepAlive: true)
Future<String> deviceManufacturer(DeviceManufacturerRef ref) async {
Future<String> deviceManufacturer(Ref ref) async {
final data = await _getDeviceData(DeviceInfoPlugin());
// try different keys to get the device manufacturer

View file

@ -6,7 +6,7 @@ part of 'metadata_provider.dart';
// RiverpodGenerator
// **************************************************************************
String _$deviceNameHash() => r'bc206a3a8c14f3da6e257e92e1ccdc79364f4e28';
String _$deviceNameHash() => r'9e38adda74e70a91851a682f05228bd759356dcc';
/// See also [deviceName].
@ProviderFor(deviceName)
@ -19,8 +19,10 @@ final deviceNameProvider = FutureProvider<String>.internal(
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
typedef DeviceNameRef = FutureProviderRef<String>;
String _$deviceModelHash() => r'3d7e8ef4a37b90f98e38dc8d5f16ca30f71e15b2';
String _$deviceModelHash() => r'922b13d9e35b5b5c5b8e96f2f2c2ae594f4f41f2';
/// See also [deviceModel].
@ProviderFor(deviceModel)
@ -33,8 +35,10 @@ final deviceModelProvider = FutureProvider<String>.internal(
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
typedef DeviceModelRef = FutureProviderRef<String>;
String _$deviceSdkVersionHash() => r'501b01ae679e02fc5082feabea81cea0fa74afd7';
String _$deviceSdkVersionHash() => r'33178d80590808d1f4cca2be8a3b52c6f6724cac';
/// See also [deviceSdkVersion].
@ProviderFor(deviceSdkVersion)
@ -48,9 +52,11 @@ final deviceSdkVersionProvider = FutureProvider<String>.internal(
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
typedef DeviceSdkVersionRef = FutureProviderRef<String>;
String _$deviceManufacturerHash() =>
r'f0a57e6a92b551fbe266d0a6a29d35dc497882a9';
r'39250767deb8635fa7c7e18bae23576b9b863e04';
/// See also [deviceManufacturer].
@ProviderFor(deviceManufacturer)
@ -64,6 +70,8 @@ final deviceManufacturerProvider = FutureProvider<String>.internal(
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
typedef DeviceManufacturerRef = FutureProviderRef<String>;
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View file

@ -1,6 +1,7 @@
import 'package:dynamic_color/dynamic_color.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:logging/logging.dart';
import 'package:material_color_utilities/material_color_utilities.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
@ -12,7 +13,7 @@ final _logger = Logger('SystemThemeProvider');
/// copied from [DynamicColorBuilder]
@Riverpod(keepAlive: true)
FutureOr<(ColorScheme light, ColorScheme dark)?> systemTheme(
SystemThemeRef ref, {
Ref ref, {
bool highContrast = false,
}) async {
_logger.fine('Generating system theme');

View file

@ -6,7 +6,7 @@ part of 'system_theme_provider.dart';
// RiverpodGenerator
// **************************************************************************
String _$systemThemeHash() => r'0af4a012a2a2b2fa91642a1313515cba02cd3535';
String _$systemThemeHash() => r'c78d3d94683624a80b296594268c5fd4295e77a3';
/// Copied from Dart SDK
class _SystemHash {
@ -159,6 +159,8 @@ class SystemThemeProvider
}
}
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
mixin SystemThemeRef
on FutureProviderRef<(ColorScheme light, ColorScheme dark)?> {
/// The parameter `highContrast` of this provider.
@ -174,4 +176,4 @@ class _SystemThemeProviderElement
bool get highContrast => (origin as SystemThemeProvider).highContrast;
}
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View file

@ -1,6 +1,7 @@
import 'package:dynamic_color/dynamic_color.dart';
import 'package:flutter/material.dart';
import 'package:flutter_animate/flutter_animate.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:logging/logging.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:vaani/api/image_provider.dart';
@ -11,7 +12,7 @@ final _logger = Logger('ThemeFromCoverProvider');
@Riverpod(keepAlive: true)
Future<FutureOr<ColorScheme?>> themeFromCover(
ThemeFromCoverRef ref,
Ref ref,
ImageProvider<Object> img, {
Brightness brightness = Brightness.dark,
bool highContrast = false,
@ -58,7 +59,7 @@ Future<FutureOr<ColorScheme?>> themeFromCover(
@Riverpod(keepAlive: true)
FutureOr<ColorScheme?> themeOfLibraryItem(
ThemeOfLibraryItemRef ref,
Ref ref,
String? itemId, {
Brightness brightness = Brightness.dark,
bool highContrast = false,

View file

@ -6,7 +6,7 @@ part of 'theme_from_cover_provider.dart';
// RiverpodGenerator
// **************************************************************************
String _$themeFromCoverHash() => r'f656614e2d4851acdfa16d249b3198ae0e1d6d6f';
String _$themeFromCoverHash() => r'afdeddc4bfe2fe46a4185143d3a88a23565e33f4';
/// Copied from Dart SDK
class _SystemHash {
@ -166,6 +166,8 @@ class ThemeFromCoverProvider extends FutureProvider<FutureOr<ColorScheme?>> {
}
}
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
mixin ThemeFromCoverRef on FutureProviderRef<FutureOr<ColorScheme?>> {
/// The parameter `img` of this provider.
ImageProvider<Object> get img;
@ -191,7 +193,7 @@ class _ThemeFromCoverProviderElement
}
String _$themeOfLibraryItemHash() =>
r'b2677daf31a6a53f3f237e5204c62dff5ec43171';
r'0b2df397b2938003a9de6beb6d4204401a05370c';
/// See also [themeOfLibraryItem].
@ProviderFor(themeOfLibraryItem)
@ -329,6 +331,8 @@ class ThemeOfLibraryItemProvider extends FutureProvider<ColorScheme?> {
}
}
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
mixin ThemeOfLibraryItemRef on FutureProviderRef<ColorScheme?> {
/// The parameter `itemId` of this provider.
String? get itemId;
@ -353,4 +357,4 @@ class _ThemeOfLibraryItemProviderElement
bool get highContrast => (origin as ThemeOfLibraryItemProvider).highContrast;
}
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

File diff suppressed because it is too large Load diff

View file

@ -20,7 +20,7 @@ version: 0.0.15+6
environment:
sdk: ">=3.3.4 <4.0.0"
flutter: 3.24.5
flutter: 3.27.4
isar_version: &isar_version ^4.0.0-dev.13 # define the version to be used
@ -75,6 +75,7 @@ dependencies:
logging: ^1.2.0
logging_appenders: ^1.3.1
lottie: ^3.1.0
material_color_utilities: ^0.11.1
material_symbols_icons: ^4.2785.1
media_kit_libs_linux: any
media_kit_libs_windows_audio: any