optimizations

This commit is contained in:
mertalev
2025-07-30 19:30:42 -04:00
parent 196f2a72f4
commit 6cea779b2d
23 changed files with 7004 additions and 329 deletions
+1 -4
View File
@@ -4,10 +4,7 @@ class Marker {
final LatLng location;
final String assetId;
const Marker({
required this.location,
required this.assetId,
});
const Marker({required this.location, required this.assetId});
@override
bool operator ==(covariant Marker other) {
+6 -21
View File
@@ -2,37 +2,22 @@ import 'package:immich_mobile/domain/models/map.model.dart';
import 'package:immich_mobile/infrastructure/repositories/map.repository.dart';
import 'package:maplibre_gl/maplibre_gl.dart';
typedef MapMarkerSource = Stream<List<Marker>> Function(LatLngBounds? bounds);
typedef MapMarkerSource = Future<List<Marker>> Function(LatLngBounds? bounds);
typedef MapQuery = ({
MapMarkerSource markerSource,
});
typedef MapQuery = ({MapMarkerSource markerSource});
class MapFactory {
final DriftMapRepository _mapRepository;
const MapFactory({
required DriftMapRepository mapRepository,
}) : _mapRepository = mapRepository;
const MapFactory({required DriftMapRepository mapRepository}) : _mapRepository = mapRepository;
MapService remote(String ownerId) =>
MapService(_mapRepository.remote(ownerId));
MapService remote(String ownerId) => MapService(_mapRepository.remote(ownerId));
}
class MapService {
final MapMarkerSource _markerSource;
MapService(MapQuery query)
: this._(
markerSource: query.markerSource,
);
MapService(MapQuery query) : _markerSource = query.markerSource;
MapService._({
required MapMarkerSource markerSource,
}) : _markerSource = markerSource;
Stream<List<Marker>> Function(LatLngBounds? bounds) get watchMarkers =>
_markerSource;
Future<void> dispose() async {}
Future<List<Marker>> Function(LatLngBounds? bounds) get getMarkers => _markerSource;
}
@@ -59,8 +59,7 @@ class TimelineFactory {
TimelineService fromAssets(List<BaseAsset> assets) => TimelineService(_timelineRepository.fromAssets(assets));
TimelineService map(LatLngBounds bounds) =>
TimelineService(_timelineRepository.map(bounds, groupBy));
TimelineService map(LatLngBounds bounds) => TimelineService(_timelineRepository.map(bounds, groupBy));
}
class TimelineService {