mirror of
https://github.com/immich-app/immich.git
synced 2026-05-22 23:12:32 -04:00
289194a356
* feat(mobile): select which local assets to display in timeline * remove album selection chips * refactor: move backup selection to device asset --------- Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
33 lines
780 B
Dart
33 lines
780 B
Dart
import 'package:collection/collection.dart';
|
|
|
|
class DeviceAssetState {
|
|
final List<String> assetIdsForBackup;
|
|
|
|
const DeviceAssetState({
|
|
required this.assetIdsForBackup,
|
|
});
|
|
|
|
DeviceAssetState copyWith({
|
|
List<String>? assetIdsForBackup,
|
|
}) {
|
|
return DeviceAssetState(
|
|
assetIdsForBackup: assetIdsForBackup ?? this.assetIdsForBackup,
|
|
);
|
|
}
|
|
|
|
@override
|
|
String toString() =>
|
|
'DeviceAssetState(assetIdsForBackup: $assetIdsForBackup)';
|
|
|
|
@override
|
|
bool operator ==(covariant DeviceAssetState other) {
|
|
if (identical(this, other)) return true;
|
|
final listEquals = const DeepCollectionEquality().equals;
|
|
|
|
return listEquals(other.assetIdsForBackup, assetIdsForBackup);
|
|
}
|
|
|
|
@override
|
|
int get hashCode => assetIdsForBackup.hashCode;
|
|
}
|