diff --git a/mobile/lib/presentation/widgets/asset_viewer/asset_viewer.page.dart b/mobile/lib/presentation/widgets/asset_viewer/asset_viewer.page.dart index d70afc733f..e3106c7f7f 100644 --- a/mobile/lib/presentation/widgets/asset_viewer/asset_viewer.page.dart +++ b/mobile/lib/presentation/widgets/asset_viewer/asset_viewer.page.dart @@ -61,9 +61,8 @@ class AssetViewer extends ConsumerStatefulWidget { @override ConsumerState createState() => _AssetViewerState(); - static void setAsset(WidgetRef ref, BaseAsset asset, TimelineType timelineType) { + static void setAsset(WidgetRef ref, BaseAsset asset) { ref.read(assetViewerProvider.notifier).reset(); - ref.read(assetViewerProvider.notifier).setTimelineType(timelineType); _setAsset(ref, asset); } diff --git a/mobile/lib/presentation/widgets/asset_viewer/asset_viewer.state.dart b/mobile/lib/presentation/widgets/asset_viewer/asset_viewer.state.dart index 624eaa4b4e..354902c9d7 100644 --- a/mobile/lib/presentation/widgets/asset_viewer/asset_viewer.state.dart +++ b/mobile/lib/presentation/widgets/asset_viewer/asset_viewer.state.dart @@ -1,5 +1,4 @@ import 'package:immich_mobile/domain/models/asset/base_asset.model.dart'; -import 'package:immich_mobile/domain/services/timeline.service.dart'; import 'package:immich_mobile/domain/utils/event_stream.dart'; import 'package:immich_mobile/providers/asset_viewer/video_player_controls_provider.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart'; @@ -18,7 +17,6 @@ class AssetViewerState { final bool showingControls; final BaseAsset? currentAsset; final int stackIndex; - final TimelineType timelineType; const AssetViewerState({ this.backgroundOpacity = 255, @@ -26,7 +24,6 @@ class AssetViewerState { this.showingControls = true, this.currentAsset, this.stackIndex = 0, - this.timelineType = TimelineType.main, }); AssetViewerState copyWith({ @@ -35,7 +32,6 @@ class AssetViewerState { bool? showingControls, BaseAsset? currentAsset, int? stackIndex, - TimelineType? timelineType, }) { return AssetViewerState( backgroundOpacity: backgroundOpacity ?? this.backgroundOpacity, @@ -43,7 +39,6 @@ class AssetViewerState { showingControls: showingControls ?? this.showingControls, currentAsset: currentAsset ?? this.currentAsset, stackIndex: stackIndex ?? this.stackIndex, - timelineType: timelineType ?? this.timelineType, ); } @@ -124,13 +119,6 @@ class AssetViewerStateNotifier extends Notifier { } state = state.copyWith(stackIndex: index); } - - void setTimelineType(TimelineType type) { - if (type == state.timelineType) { - return; - } - state = state.copyWith(timelineType: type); - } } final assetViewerProvider = NotifierProvider(AssetViewerStateNotifier.new); diff --git a/mobile/lib/presentation/widgets/asset_viewer/top_app_bar.widget.dart b/mobile/lib/presentation/widgets/asset_viewer/top_app_bar.widget.dart index 7b9a311c60..c20799f9f2 100644 --- a/mobile/lib/presentation/widgets/asset_viewer/top_app_bar.widget.dart +++ b/mobile/lib/presentation/widgets/asset_viewer/top_app_bar.widget.dart @@ -18,6 +18,7 @@ import 'package:immich_mobile/providers/cast.provider.dart'; import 'package:immich_mobile/providers/infrastructure/asset_viewer/current_asset.provider.dart'; import 'package:immich_mobile/providers/infrastructure/current_album.provider.dart'; import 'package:immich_mobile/providers/infrastructure/readonly_mode.provider.dart'; +import 'package:immich_mobile/providers/infrastructure/timeline.provider.dart'; import 'package:immich_mobile/providers/routes.provider.dart'; import 'package:immich_mobile/providers/user.provider.dart'; import 'package:immich_mobile/routing/router.dart'; @@ -39,7 +40,7 @@ class ViewerTopAppBar extends ConsumerWidget implements PreferredSizeWidget { final isInLockedView = ref.watch(inLockedViewProvider); final isReadonlyModeEnabled = ref.watch(readonlyModeProvider); - final timelineType = ref.read(assetViewerProvider).timelineType; + final timelineType = ref.read(timelineServiceProvider).type; final showViewInTimelineButton = timelineType != TimelineType.main && timelineType != TimelineType.deepLink && diff --git a/mobile/lib/presentation/widgets/timeline/fixed/segment.model.dart b/mobile/lib/presentation/widgets/timeline/fixed/segment.model.dart index 7a4cf0661a..8121bb76d3 100644 --- a/mobile/lib/presentation/widgets/timeline/fixed/segment.model.dart +++ b/mobile/lib/presentation/widgets/timeline/fixed/segment.model.dart @@ -15,8 +15,8 @@ import 'package:immich_mobile/presentation/widgets/timeline/timeline.state.dart' import 'package:immich_mobile/presentation/widgets/timeline/timeline_drag_region.dart'; import 'package:immich_mobile/providers/asset_viewer/is_motion_video_playing.provider.dart'; import 'package:immich_mobile/providers/haptic_feedback.provider.dart'; -import 'package:immich_mobile/providers/infrastructure/readonly_mode.provider.dart'; import 'package:immich_mobile/providers/infrastructure/timeline.provider.dart'; +import 'package:immich_mobile/providers/infrastructure/readonly_mode.provider.dart'; import 'package:immich_mobile/providers/timeline/multiselect.provider.dart'; import 'package:immich_mobile/routing/router.dart'; @@ -134,7 +134,6 @@ class _FixedSegmentRow extends ConsumerWidget { key: ValueKey(Object.hash(assets[i].heroTag, assetIndex + i, timelineService.hashCode)), asset: assets[i], assetIndex: assetIndex + i, - timelineType: timelineService.type, ), ), ], @@ -145,9 +144,8 @@ class _FixedSegmentRow extends ConsumerWidget { class _AssetTileWidget extends ConsumerWidget { final BaseAsset asset; final int assetIndex; - final TimelineType timelineType; - const _AssetTileWidget({super.key, required this.asset, required this.assetIndex, required this.timelineType}); + const _AssetTileWidget({super.key, required this.asset, required this.assetIndex}); Future _handleOnTap(BuildContext ctx, WidgetRef ref, int assetIndex, BaseAsset asset, int? heroOffset) async { final multiSelectState = ref.read(multiSelectProvider); @@ -157,7 +155,7 @@ class _AssetTileWidget extends ConsumerWidget { } else { await ref.read(timelineServiceProvider).loadAssets(assetIndex, 1); ref.read(isPlayingMotionVideoProvider.notifier).playing = false; - AssetViewer.setAsset(ref, asset, timelineType); + AssetViewer.setAsset(ref, asset); ctx.pushRoute( AssetViewerRoute( initialIndex: assetIndex, diff --git a/mobile/lib/services/deep_link.service.dart b/mobile/lib/services/deep_link.service.dart index 8617b43440..bb42dcf04e 100644 --- a/mobile/lib/services/deep_link.service.dart +++ b/mobile/lib/services/deep_link.service.dart @@ -149,7 +149,7 @@ class DeepLinkService { return null; } - AssetViewer.setAsset(ref, asset, TimelineType.deepLink); + AssetViewer.setAsset(ref, asset); return AssetViewerRoute( initialIndex: 0, timelineService: _betaTimelineFactory.fromAssets([asset], TimelineType.deepLink),