chore: Update flutter to 3.27 and updated packages

This commit is contained in:
PartyDonut 2025-01-04 23:12:32 +01:00
parent e607a6d19b
commit a817d40463
24 changed files with 3848 additions and 5051 deletions

View file

@ -1,12 +1,13 @@
import 'dart:developer';
import 'package:chopper/chopper.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:fladder/jellyfin/jellyfin_open_api.swagger.dart';
import 'package:fladder/providers/auth_provider.dart';
import 'package:fladder/providers/service_provider.dart';
import 'package:fladder/providers/user_provider.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'api_provider.g.dart';
@ -26,37 +27,40 @@ class JellyApi extends _$JellyApi {
}
}
class JellyRequest implements RequestInterceptor {
class JellyRequest implements Interceptor {
JellyRequest(this.ref);
final Ref ref;
@override
FutureOr<Request> onRequest(Request request) async {
if (request.method == HttpMethod.Post) {
chopperLogger.info('Performed a POST request');
}
FutureOr<Response<BodyType>> intercept<BodyType>(Chain<BodyType> chain) async {
final serverUrl = Uri.parse(ref.read(userProvider)?.server ?? ref.read(authProvider).tempCredentials.server);
//Use current logged in user otherwise use the authprovider
var loginModel = ref.read(userProvider)?.credentials ?? ref.read(authProvider).tempCredentials;
var headers = loginModel.header(ref);
return request.copyWith(
baseUri: serverUrl,
headers: request.headers..addAll(headers),
final Response<BodyType> response = await chain.proceed(
applyHeaders(
chain.request.copyWith(
baseUri: serverUrl,
),
headers),
);
return response;
}
}
class JellyResponse implements ResponseInterceptor {
class JellyResponse implements Interceptor {
JellyResponse(this.ref);
final Ref ref;
@override
FutureOr<Response<dynamic>> onResponse(Response<dynamic> response) {
FutureOr<Response<BodyType>> intercept<BodyType>(Chain<BodyType> chain) async {
final Response<BodyType> response = await chain.proceed(chain.request);
if (!response.isSuccessful) {
log('x- ${response.base.statusCode} - ${response.base.reasonPhrase} - ${response.error} - ${response.base.request?.method} ${response.base.request?.url.toString()}');
}

View file

@ -22,4 +22,4 @@ final jellyApiProvider =
typedef _$JellyApi = AutoDisposeNotifier<JellyService>;
// 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,17 +1,18 @@
import 'dart:developer';
import 'dart:io';
import 'package:flutter/widgets.dart';
import 'package:archive/archive_io.dart';
import 'package:chopper/chopper.dart';
import 'package:fladder/providers/service_provider.dart';
import 'package:fladder/providers/user_provider.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:path_provider/path_provider.dart';
import 'package:fladder/jellyfin/jellyfin_open_api.swagger.dart';
import 'package:fladder/models/book_model.dart';
import 'package:fladder/providers/api_provider.dart';
import 'package:path_provider/path_provider.dart';
import 'package:fladder/providers/service_provider.dart';
import 'package:fladder/providers/user_provider.dart';
class BookViewerModel {
final BookModel? book;
@ -75,7 +76,7 @@ class BookViewerNotifier extends StateNotifier<BookViewerModel> {
await bookFile.writeAsBytes(response.bodyBytes);
final inputStream = InputFileStream(bookFile.path);
final archive = ZipDecoder().decodeBuffer(inputStream);
final archive = ZipDecoder().decodeStream(inputStream);
final List<String> imagesPath = [];
for (var file in archive.files) {

View file

@ -23,4 +23,4 @@ final serverDiscoveryProvider = AutoDisposeStreamNotifierProvider<
typedef _$ServerDiscovery = AutoDisposeStreamNotifier<List<DiscoveryInfo>>;
// 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 MovieDetailsProvider
}
}
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
mixin MovieDetailsRef on AutoDisposeNotifierProviderRef<MovieModel?> {
/// The parameter `arg` of this provider.
String get arg;
@ -171,4 +173,4 @@ class _MovieDetailsProviderElement
String get arg => (origin as MovieDetailsProvider).arg;
}
// 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 LibraryFiltersProvider extends AutoDisposeNotifierProviderImpl<
}
}
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
mixin LibraryFiltersRef
on AutoDisposeNotifierProviderRef<List<LibraryFiltersModel>> {
/// The parameter `ids` of this provider.
@ -171,4 +173,4 @@ class _LibraryFiltersProviderElement extends AutoDisposeNotifierProviderElement<
List<String> get ids => (origin as LibraryFiltersProvider).ids;
}
// 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 sessionInfoProvider =
typedef _$SessionInfo = AutoDisposeNotifier<SessionInfoModel>;
// 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

@ -21,6 +21,8 @@ final backgroundDownloaderProvider = Provider<FileDownloader>.internal(
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
typedef BackgroundDownloaderRef = ProviderRef<FileDownloader>;
// 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 SyncChildrenProvider
}
}
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
mixin SyncChildrenRef on AutoDisposeNotifierProviderRef<List<SyncedItem>> {
/// The parameter `arg` of this provider.
SyncedItem get arg;
@ -302,6 +304,8 @@ class SyncDownloadStatusProvider extends AutoDisposeNotifierProviderImpl<
}
}
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
mixin SyncDownloadStatusRef on AutoDisposeNotifierProviderRef<DownloadStream?> {
/// The parameter `arg` of this provider.
SyncedItem get arg;
@ -446,6 +450,8 @@ class SyncStatusesProvider
}
}
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
mixin SyncStatusesRef on AutoDisposeAsyncNotifierProviderRef<SyncStatus> {
/// The parameter `arg` of this provider.
SyncedItem get arg;
@ -586,6 +592,8 @@ class SyncSizeProvider extends AutoDisposeNotifierProviderImpl<SyncSize, int?> {
}
}
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
mixin SyncSizeRef on AutoDisposeNotifierProviderRef<int?> {
/// The parameter `arg` of this provider.
SyncedItem get arg;
@ -600,4 +608,4 @@ class _SyncSizeProviderElement
SyncedItem get arg => (origin as SyncSizeProvider).arg;
}
// 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

@ -21,6 +21,8 @@ final showSyncButtonProviderProvider = AutoDisposeProvider<bool>.internal(
allTransitiveDependencies: null,
);
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
typedef ShowSyncButtonProviderRef = AutoDisposeProviderRef<bool>;
String _$userHash() => r'e83369c0d569d5a862aa1b92f3f0a45a9d1fe446';
@ -37,4 +39,4 @@ final userProvider = NotifierProvider<User, AccountModel?>.internal(
typedef _$User = Notifier<AccountModel?>;
// 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