refactoring

security update
This commit is contained in:
Mguy13 2022-12-25 22:17:59 +01:00
parent 1747ab0245
commit 78fe9e7b09
39 changed files with 289 additions and 132 deletions

View file

@ -62,13 +62,16 @@ class ImageCarouselView extends StatelessWidget {
children: [
ValueListenableBuilder<ImageModel>(
valueListenable: model.currentImageModelListenable,
builder: (context, _, __) => CachedNetworkImage(
imageUrl: model.currentImageUrl,
cacheKey: model.currentImageKey,
fit: BoxFit.contain,
progressIndicatorBuilder: (_, __, final progress) =>
CircularProgressIndicator(
value: model.downloadProgressValue(progress: progress),
builder: (context, _, __) => Hero(
tag: model.currentImageIndex,
child: CachedNetworkImage(
imageUrl: model.currentImageUrl,
cacheKey: model.currentImageKey,
fit: BoxFit.contain,
progressIndicatorBuilder: (_, __, final progress) =>
CircularProgressIndicator(
value: model.downloadProgressValue(progress: progress),
),
),
),
),

View file

@ -1,27 +1,19 @@
import 'package:carousel_slider/carousel_controller.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter_cache_manager/flutter_cache_manager.dart';
import 'package:mc_gallery/features/home/views/image_carousel/image_carousel_view.dart';
import '/features/core/abstracts/base_view_model.dart';
import '/features/core/services/logging_service.dart';
import '/features/core/services/navigation_service.dart';
import '/features/home/services/images_service.dart';
import '/features/home/views/image_carousel/image_carousel_view.dart';
import '/locator.dart';
import '../../data/models/image_model.dart';
class ImageCarouselViewModel extends BaseViewModel {
ImageCarouselViewModel({
required ImagesService imagesService,
required NavigationService navigationService,
required LoggingService loggingService,
}) : _imagesService = imagesService,
_navigationService = navigationService,
_loggingService = loggingService;
}) : _imagesService = imagesService;
final ImagesService _imagesService;
final NavigationService _navigationService;
final LoggingService _loggingService;
late final ValueNotifier<ImageModel> _currentImageModelNotifier;
ValueListenable<ImageModel> get currentImageModelListenable => _currentImageModelNotifier;
@ -31,8 +23,8 @@ class ImageCarouselViewModel extends BaseViewModel {
@override
Future<void> initialise(bool Function() mounted, [arguments]) async {
_currentImageModelNotifier = ValueNotifier(_imagesService.imageModels
.elementAt((arguments! as ImageCarouselViewArguments).imageIndexKey));
_loggingService.info('Initialized with image: ${_currentImageModelNotifier.value.imageIndex}');
.elementAt((arguments as ImageCarouselViewArguments).imageIndexKey));
log.info('Initialized with image: ${_currentImageModelNotifier.value.imageIndex}');
super.initialise(mounted, arguments);
}
@ -44,7 +36,7 @@ class ImageCarouselViewModel extends BaseViewModel {
void swipedTo({required int newIndex}) {
_currentImageModelNotifier.value = _imagesService.imageModelAt(index: newIndex);
_loggingService.info('Swiped to image: ${_currentImageModelNotifier.value.imageIndex}');
log.info('Swiped to image: ${_currentImageModelNotifier.value.imageIndex}');
}
void onPreviousPressed() => carouselController.previousPage();