mirror of
https://github.com/immich-app/immich.git
synced 2026-05-22 15:42:32 -04:00
49a02ab2d9
Detect an iOS edit, upload the unedited original, and stack the edited version on top of it. Reverting in Photos flips the stack cover back to the original and keeps the edits. Adds an optional stackParentId field to the asset upload on the server.
776 lines
24 KiB
Dart
Generated
776 lines
24 KiB
Dart
Generated
// Autogenerated from Pigeon (v26.3.4), do not edit directly.
|
|
// See also: https://pub.dev/packages/pigeon
|
|
// ignore_for_file: unused_import, unused_shown_name
|
|
// ignore_for_file: type=lint
|
|
|
|
import 'dart:async';
|
|
import 'dart:typed_data' show Float64List, Int32List, Int64List;
|
|
|
|
import 'package:flutter/services.dart';
|
|
import 'package:meta/meta.dart' show immutable, protected, visibleForTesting;
|
|
|
|
Object? _extractReplyValueOrThrow(List<Object?>? replyList, String channelName, {required bool isNullValid}) {
|
|
if (replyList == null) {
|
|
throw PlatformException(
|
|
code: 'channel-error',
|
|
message: 'Unable to establish connection on channel: "$channelName".',
|
|
);
|
|
} else if (replyList.length > 1) {
|
|
throw PlatformException(code: replyList[0]! as String, message: replyList[1] as String?, details: replyList[2]);
|
|
} else if (!isNullValid && (replyList.isNotEmpty && replyList[0] == null)) {
|
|
throw PlatformException(
|
|
code: 'null-error',
|
|
message: 'Host platform returned null value for non-null return value.',
|
|
);
|
|
}
|
|
return replyList.firstOrNull;
|
|
}
|
|
|
|
bool _deepEquals(Object? a, Object? b) {
|
|
if (identical(a, b)) {
|
|
return true;
|
|
}
|
|
if (a is double && b is double) {
|
|
if (a.isNaN && b.isNaN) {
|
|
return true;
|
|
}
|
|
return a == b;
|
|
}
|
|
if (a is List && b is List) {
|
|
return a.length == b.length && a.indexed.every(((int, dynamic) item) => _deepEquals(item.$2, b[item.$1]));
|
|
}
|
|
if (a is Map && b is Map) {
|
|
if (a.length != b.length) {
|
|
return false;
|
|
}
|
|
for (final MapEntry<Object?, Object?> entryA in a.entries) {
|
|
bool found = false;
|
|
for (final MapEntry<Object?, Object?> entryB in b.entries) {
|
|
if (_deepEquals(entryA.key, entryB.key)) {
|
|
if (_deepEquals(entryA.value, entryB.value)) {
|
|
found = true;
|
|
break;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
if (!found) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
return a == b;
|
|
}
|
|
|
|
int _deepHash(Object? value) {
|
|
if (value is List) {
|
|
return Object.hashAll(value.map(_deepHash));
|
|
}
|
|
if (value is Map) {
|
|
int result = 0;
|
|
for (final MapEntry<Object?, Object?> entry in value.entries) {
|
|
result += (_deepHash(entry.key) * 31) ^ _deepHash(entry.value);
|
|
}
|
|
return result;
|
|
}
|
|
if (value is double && value.isNaN) {
|
|
// Normalize NaN to a consistent hash.
|
|
return 0x7FF8000000000000.hashCode;
|
|
}
|
|
if (value is double && value == 0.0) {
|
|
// Normalize -0.0 to 0.0 so they have the same hash code.
|
|
return 0.0.hashCode;
|
|
}
|
|
return value.hashCode;
|
|
}
|
|
|
|
enum PlatformAssetPlaybackStyle { unknown, image, video, imageAnimated, livePhoto, videoLooping }
|
|
|
|
enum EditState { notEdited, edited, unknown }
|
|
|
|
class PlatformAsset {
|
|
PlatformAsset({
|
|
required this.id,
|
|
required this.name,
|
|
required this.type,
|
|
this.createdAt,
|
|
this.updatedAt,
|
|
this.width,
|
|
this.height,
|
|
required this.durationMs,
|
|
required this.orientation,
|
|
required this.isFavorite,
|
|
this.adjustmentTime,
|
|
this.latitude,
|
|
this.longitude,
|
|
required this.playbackStyle,
|
|
});
|
|
|
|
String id;
|
|
|
|
String name;
|
|
|
|
int type;
|
|
|
|
int? createdAt;
|
|
|
|
int? updatedAt;
|
|
|
|
int? width;
|
|
|
|
int? height;
|
|
|
|
int durationMs;
|
|
|
|
int orientation;
|
|
|
|
bool isFavorite;
|
|
|
|
int? adjustmentTime;
|
|
|
|
double? latitude;
|
|
|
|
double? longitude;
|
|
|
|
PlatformAssetPlaybackStyle playbackStyle;
|
|
|
|
List<Object?> _toList() {
|
|
return <Object?>[
|
|
id,
|
|
name,
|
|
type,
|
|
createdAt,
|
|
updatedAt,
|
|
width,
|
|
height,
|
|
durationMs,
|
|
orientation,
|
|
isFavorite,
|
|
adjustmentTime,
|
|
latitude,
|
|
longitude,
|
|
playbackStyle,
|
|
];
|
|
}
|
|
|
|
Object encode() {
|
|
return _toList();
|
|
}
|
|
|
|
static PlatformAsset decode(Object result) {
|
|
result as List<Object?>;
|
|
return PlatformAsset(
|
|
id: result[0]! as String,
|
|
name: result[1]! as String,
|
|
type: result[2]! as int,
|
|
createdAt: result[3] as int?,
|
|
updatedAt: result[4] as int?,
|
|
width: result[5] as int?,
|
|
height: result[6] as int?,
|
|
durationMs: result[7]! as int,
|
|
orientation: result[8]! as int,
|
|
isFavorite: result[9]! as bool,
|
|
adjustmentTime: result[10] as int?,
|
|
latitude: result[11] as double?,
|
|
longitude: result[12] as double?,
|
|
playbackStyle: result[13]! as PlatformAssetPlaybackStyle,
|
|
);
|
|
}
|
|
|
|
@override
|
|
// ignore: avoid_equals_and_hash_code_on_mutable_classes
|
|
bool operator ==(Object other) {
|
|
if (other is! PlatformAsset || other.runtimeType != runtimeType) {
|
|
return false;
|
|
}
|
|
if (identical(this, other)) {
|
|
return true;
|
|
}
|
|
return _deepEquals(id, other.id) &&
|
|
_deepEquals(name, other.name) &&
|
|
_deepEquals(type, other.type) &&
|
|
_deepEquals(createdAt, other.createdAt) &&
|
|
_deepEquals(updatedAt, other.updatedAt) &&
|
|
_deepEquals(width, other.width) &&
|
|
_deepEquals(height, other.height) &&
|
|
_deepEquals(durationMs, other.durationMs) &&
|
|
_deepEquals(orientation, other.orientation) &&
|
|
_deepEquals(isFavorite, other.isFavorite) &&
|
|
_deepEquals(adjustmentTime, other.adjustmentTime) &&
|
|
_deepEquals(latitude, other.latitude) &&
|
|
_deepEquals(longitude, other.longitude) &&
|
|
_deepEquals(playbackStyle, other.playbackStyle);
|
|
}
|
|
|
|
@override
|
|
// ignore: avoid_equals_and_hash_code_on_mutable_classes
|
|
int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);
|
|
}
|
|
|
|
class PlatformAlbum {
|
|
PlatformAlbum({
|
|
required this.id,
|
|
required this.name,
|
|
this.updatedAt,
|
|
required this.isCloud,
|
|
required this.assetCount,
|
|
});
|
|
|
|
String id;
|
|
|
|
String name;
|
|
|
|
int? updatedAt;
|
|
|
|
bool isCloud;
|
|
|
|
int assetCount;
|
|
|
|
List<Object?> _toList() {
|
|
return <Object?>[id, name, updatedAt, isCloud, assetCount];
|
|
}
|
|
|
|
Object encode() {
|
|
return _toList();
|
|
}
|
|
|
|
static PlatformAlbum decode(Object result) {
|
|
result as List<Object?>;
|
|
return PlatformAlbum(
|
|
id: result[0]! as String,
|
|
name: result[1]! as String,
|
|
updatedAt: result[2] as int?,
|
|
isCloud: result[3]! as bool,
|
|
assetCount: result[4]! as int,
|
|
);
|
|
}
|
|
|
|
@override
|
|
// ignore: avoid_equals_and_hash_code_on_mutable_classes
|
|
bool operator ==(Object other) {
|
|
if (other is! PlatformAlbum || other.runtimeType != runtimeType) {
|
|
return false;
|
|
}
|
|
if (identical(this, other)) {
|
|
return true;
|
|
}
|
|
return _deepEquals(id, other.id) &&
|
|
_deepEquals(name, other.name) &&
|
|
_deepEquals(updatedAt, other.updatedAt) &&
|
|
_deepEquals(isCloud, other.isCloud) &&
|
|
_deepEquals(assetCount, other.assetCount);
|
|
}
|
|
|
|
@override
|
|
// ignore: avoid_equals_and_hash_code_on_mutable_classes
|
|
int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);
|
|
}
|
|
|
|
class SyncDelta {
|
|
SyncDelta({required this.hasChanges, required this.updates, required this.deletes, required this.assetAlbums});
|
|
|
|
bool hasChanges;
|
|
|
|
List<PlatformAsset> updates;
|
|
|
|
List<String> deletes;
|
|
|
|
Map<String, List<String>> assetAlbums;
|
|
|
|
List<Object?> _toList() {
|
|
return <Object?>[hasChanges, updates, deletes, assetAlbums];
|
|
}
|
|
|
|
Object encode() {
|
|
return _toList();
|
|
}
|
|
|
|
static SyncDelta decode(Object result) {
|
|
result as List<Object?>;
|
|
return SyncDelta(
|
|
hasChanges: result[0]! as bool,
|
|
updates: (result[1]! as List<Object?>).cast<PlatformAsset>(),
|
|
deletes: (result[2]! as List<Object?>).cast<String>(),
|
|
assetAlbums: (result[3]! as Map<Object?, Object?>).cast<String, List<String>>(),
|
|
);
|
|
}
|
|
|
|
@override
|
|
// ignore: avoid_equals_and_hash_code_on_mutable_classes
|
|
bool operator ==(Object other) {
|
|
if (other is! SyncDelta || other.runtimeType != runtimeType) {
|
|
return false;
|
|
}
|
|
if (identical(this, other)) {
|
|
return true;
|
|
}
|
|
return _deepEquals(hasChanges, other.hasChanges) &&
|
|
_deepEquals(updates, other.updates) &&
|
|
_deepEquals(deletes, other.deletes) &&
|
|
_deepEquals(assetAlbums, other.assetAlbums);
|
|
}
|
|
|
|
@override
|
|
// ignore: avoid_equals_and_hash_code_on_mutable_classes
|
|
int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);
|
|
}
|
|
|
|
class HashResult {
|
|
HashResult({required this.assetId, this.error, this.hash});
|
|
|
|
String assetId;
|
|
|
|
String? error;
|
|
|
|
String? hash;
|
|
|
|
List<Object?> _toList() {
|
|
return <Object?>[assetId, error, hash];
|
|
}
|
|
|
|
Object encode() {
|
|
return _toList();
|
|
}
|
|
|
|
static HashResult decode(Object result) {
|
|
result as List<Object?>;
|
|
return HashResult(assetId: result[0]! as String, error: result[1] as String?, hash: result[2] as String?);
|
|
}
|
|
|
|
@override
|
|
// ignore: avoid_equals_and_hash_code_on_mutable_classes
|
|
bool operator ==(Object other) {
|
|
if (other is! HashResult || other.runtimeType != runtimeType) {
|
|
return false;
|
|
}
|
|
if (identical(this, other)) {
|
|
return true;
|
|
}
|
|
return _deepEquals(assetId, other.assetId) && _deepEquals(error, other.error) && _deepEquals(hash, other.hash);
|
|
}
|
|
|
|
@override
|
|
// ignore: avoid_equals_and_hash_code_on_mutable_classes
|
|
int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);
|
|
}
|
|
|
|
class CloudIdResult {
|
|
CloudIdResult({required this.assetId, this.error, this.cloudId});
|
|
|
|
String assetId;
|
|
|
|
String? error;
|
|
|
|
String? cloudId;
|
|
|
|
List<Object?> _toList() {
|
|
return <Object?>[assetId, error, cloudId];
|
|
}
|
|
|
|
Object encode() {
|
|
return _toList();
|
|
}
|
|
|
|
static CloudIdResult decode(Object result) {
|
|
result as List<Object?>;
|
|
return CloudIdResult(assetId: result[0]! as String, error: result[1] as String?, cloudId: result[2] as String?);
|
|
}
|
|
|
|
@override
|
|
// ignore: avoid_equals_and_hash_code_on_mutable_classes
|
|
bool operator ==(Object other) {
|
|
if (other is! CloudIdResult || other.runtimeType != runtimeType) {
|
|
return false;
|
|
}
|
|
if (identical(this, other)) {
|
|
return true;
|
|
}
|
|
return _deepEquals(assetId, other.assetId) &&
|
|
_deepEquals(error, other.error) &&
|
|
_deepEquals(cloudId, other.cloudId);
|
|
}
|
|
|
|
@override
|
|
// ignore: avoid_equals_and_hash_code_on_mutable_classes
|
|
int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);
|
|
}
|
|
|
|
class BaseResource {
|
|
BaseResource({required this.path, required this.sha1, required this.sizeBytes, required this.mimeType});
|
|
|
|
String path;
|
|
|
|
String sha1;
|
|
|
|
int sizeBytes;
|
|
|
|
String mimeType;
|
|
|
|
List<Object?> _toList() {
|
|
return <Object?>[path, sha1, sizeBytes, mimeType];
|
|
}
|
|
|
|
Object encode() {
|
|
return _toList();
|
|
}
|
|
|
|
static BaseResource decode(Object result) {
|
|
result as List<Object?>;
|
|
return BaseResource(
|
|
path: result[0]! as String,
|
|
sha1: result[1]! as String,
|
|
sizeBytes: result[2]! as int,
|
|
mimeType: result[3]! as String,
|
|
);
|
|
}
|
|
|
|
@override
|
|
// ignore: avoid_equals_and_hash_code_on_mutable_classes
|
|
bool operator ==(Object other) {
|
|
if (other is! BaseResource || other.runtimeType != runtimeType) {
|
|
return false;
|
|
}
|
|
if (identical(this, other)) {
|
|
return true;
|
|
}
|
|
return _deepEquals(path, other.path) &&
|
|
_deepEquals(sha1, other.sha1) &&
|
|
_deepEquals(sizeBytes, other.sizeBytes) &&
|
|
_deepEquals(mimeType, other.mimeType);
|
|
}
|
|
|
|
@override
|
|
// ignore: avoid_equals_and_hash_code_on_mutable_classes
|
|
int get hashCode => _deepHash(<Object?>[runtimeType, ..._toList()]);
|
|
}
|
|
|
|
class _PigeonCodec extends StandardMessageCodec {
|
|
const _PigeonCodec();
|
|
@override
|
|
void writeValue(WriteBuffer buffer, Object? value) {
|
|
if (value is int) {
|
|
buffer.putUint8(4);
|
|
buffer.putInt64(value);
|
|
} else if (value is PlatformAssetPlaybackStyle) {
|
|
buffer.putUint8(129);
|
|
writeValue(buffer, value.index);
|
|
} else if (value is EditState) {
|
|
buffer.putUint8(130);
|
|
writeValue(buffer, value.index);
|
|
} else if (value is PlatformAsset) {
|
|
buffer.putUint8(131);
|
|
writeValue(buffer, value.encode());
|
|
} else if (value is PlatformAlbum) {
|
|
buffer.putUint8(132);
|
|
writeValue(buffer, value.encode());
|
|
} else if (value is SyncDelta) {
|
|
buffer.putUint8(133);
|
|
writeValue(buffer, value.encode());
|
|
} else if (value is HashResult) {
|
|
buffer.putUint8(134);
|
|
writeValue(buffer, value.encode());
|
|
} else if (value is CloudIdResult) {
|
|
buffer.putUint8(135);
|
|
writeValue(buffer, value.encode());
|
|
} else if (value is BaseResource) {
|
|
buffer.putUint8(136);
|
|
writeValue(buffer, value.encode());
|
|
} else {
|
|
super.writeValue(buffer, value);
|
|
}
|
|
}
|
|
|
|
@override
|
|
Object? readValueOfType(int type, ReadBuffer buffer) {
|
|
switch (type) {
|
|
case 129:
|
|
final value = readValue(buffer) as int?;
|
|
return value == null ? null : PlatformAssetPlaybackStyle.values[value];
|
|
case 130:
|
|
final value = readValue(buffer) as int?;
|
|
return value == null ? null : EditState.values[value];
|
|
case 131:
|
|
return PlatformAsset.decode(readValue(buffer)!);
|
|
case 132:
|
|
return PlatformAlbum.decode(readValue(buffer)!);
|
|
case 133:
|
|
return SyncDelta.decode(readValue(buffer)!);
|
|
case 134:
|
|
return HashResult.decode(readValue(buffer)!);
|
|
case 135:
|
|
return CloudIdResult.decode(readValue(buffer)!);
|
|
case 136:
|
|
return BaseResource.decode(readValue(buffer)!);
|
|
default:
|
|
return super.readValueOfType(type, buffer);
|
|
}
|
|
}
|
|
}
|
|
|
|
class NativeSyncApi {
|
|
/// Constructor for [NativeSyncApi]. The [binaryMessenger] named argument is
|
|
/// available for dependency injection. If it is left null, the default
|
|
/// BinaryMessenger will be used which routes to the host platform.
|
|
NativeSyncApi({BinaryMessenger? binaryMessenger, String messageChannelSuffix = ''})
|
|
: pigeonVar_binaryMessenger = binaryMessenger,
|
|
pigeonVar_messageChannelSuffix = messageChannelSuffix.isNotEmpty ? '.$messageChannelSuffix' : '';
|
|
final BinaryMessenger? pigeonVar_binaryMessenger;
|
|
|
|
static const MessageCodec<Object?> pigeonChannelCodec = _PigeonCodec();
|
|
|
|
final String pigeonVar_messageChannelSuffix;
|
|
|
|
Future<bool> shouldFullSync() async {
|
|
final pigeonVar_channelName =
|
|
'dev.flutter.pigeon.immich_mobile.NativeSyncApi.shouldFullSync$pigeonVar_messageChannelSuffix';
|
|
final pigeonVar_channel = BasicMessageChannel<Object?>(
|
|
pigeonVar_channelName,
|
|
pigeonChannelCodec,
|
|
binaryMessenger: pigeonVar_binaryMessenger,
|
|
);
|
|
final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(null);
|
|
final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;
|
|
|
|
final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(
|
|
pigeonVar_replyList,
|
|
pigeonVar_channelName,
|
|
isNullValid: false,
|
|
);
|
|
return pigeonVar_replyValue! as bool;
|
|
}
|
|
|
|
Future<SyncDelta> getMediaChanges() async {
|
|
final pigeonVar_channelName =
|
|
'dev.flutter.pigeon.immich_mobile.NativeSyncApi.getMediaChanges$pigeonVar_messageChannelSuffix';
|
|
final pigeonVar_channel = BasicMessageChannel<Object?>(
|
|
pigeonVar_channelName,
|
|
pigeonChannelCodec,
|
|
binaryMessenger: pigeonVar_binaryMessenger,
|
|
);
|
|
final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(null);
|
|
final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;
|
|
|
|
final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(
|
|
pigeonVar_replyList,
|
|
pigeonVar_channelName,
|
|
isNullValid: false,
|
|
);
|
|
return pigeonVar_replyValue! as SyncDelta;
|
|
}
|
|
|
|
Future<void> checkpointSync() async {
|
|
final pigeonVar_channelName =
|
|
'dev.flutter.pigeon.immich_mobile.NativeSyncApi.checkpointSync$pigeonVar_messageChannelSuffix';
|
|
final pigeonVar_channel = BasicMessageChannel<Object?>(
|
|
pigeonVar_channelName,
|
|
pigeonChannelCodec,
|
|
binaryMessenger: pigeonVar_binaryMessenger,
|
|
);
|
|
final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(null);
|
|
final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;
|
|
|
|
_extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true);
|
|
}
|
|
|
|
Future<void> clearSyncCheckpoint() async {
|
|
final pigeonVar_channelName =
|
|
'dev.flutter.pigeon.immich_mobile.NativeSyncApi.clearSyncCheckpoint$pigeonVar_messageChannelSuffix';
|
|
final pigeonVar_channel = BasicMessageChannel<Object?>(
|
|
pigeonVar_channelName,
|
|
pigeonChannelCodec,
|
|
binaryMessenger: pigeonVar_binaryMessenger,
|
|
);
|
|
final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(null);
|
|
final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;
|
|
|
|
_extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true);
|
|
}
|
|
|
|
Future<List<String>> getAssetIdsForAlbum(String albumId) async {
|
|
final pigeonVar_channelName =
|
|
'dev.flutter.pigeon.immich_mobile.NativeSyncApi.getAssetIdsForAlbum$pigeonVar_messageChannelSuffix';
|
|
final pigeonVar_channel = BasicMessageChannel<Object?>(
|
|
pigeonVar_channelName,
|
|
pigeonChannelCodec,
|
|
binaryMessenger: pigeonVar_binaryMessenger,
|
|
);
|
|
final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(<Object?>[albumId]);
|
|
final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;
|
|
|
|
final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(
|
|
pigeonVar_replyList,
|
|
pigeonVar_channelName,
|
|
isNullValid: false,
|
|
);
|
|
return (pigeonVar_replyValue! as List<Object?>).cast<String>();
|
|
}
|
|
|
|
Future<List<PlatformAlbum>> getAlbums() async {
|
|
final pigeonVar_channelName =
|
|
'dev.flutter.pigeon.immich_mobile.NativeSyncApi.getAlbums$pigeonVar_messageChannelSuffix';
|
|
final pigeonVar_channel = BasicMessageChannel<Object?>(
|
|
pigeonVar_channelName,
|
|
pigeonChannelCodec,
|
|
binaryMessenger: pigeonVar_binaryMessenger,
|
|
);
|
|
final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(null);
|
|
final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;
|
|
|
|
final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(
|
|
pigeonVar_replyList,
|
|
pigeonVar_channelName,
|
|
isNullValid: false,
|
|
);
|
|
return (pigeonVar_replyValue! as List<Object?>).cast<PlatformAlbum>();
|
|
}
|
|
|
|
Future<int> getAssetsCountSince(String albumId, int timestamp) async {
|
|
final pigeonVar_channelName =
|
|
'dev.flutter.pigeon.immich_mobile.NativeSyncApi.getAssetsCountSince$pigeonVar_messageChannelSuffix';
|
|
final pigeonVar_channel = BasicMessageChannel<Object?>(
|
|
pigeonVar_channelName,
|
|
pigeonChannelCodec,
|
|
binaryMessenger: pigeonVar_binaryMessenger,
|
|
);
|
|
final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(<Object?>[albumId, timestamp]);
|
|
final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;
|
|
|
|
final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(
|
|
pigeonVar_replyList,
|
|
pigeonVar_channelName,
|
|
isNullValid: false,
|
|
);
|
|
return pigeonVar_replyValue! as int;
|
|
}
|
|
|
|
Future<List<PlatformAsset>> getAssetsForAlbum(String albumId, {int? updatedTimeCond}) async {
|
|
final pigeonVar_channelName =
|
|
'dev.flutter.pigeon.immich_mobile.NativeSyncApi.getAssetsForAlbum$pigeonVar_messageChannelSuffix';
|
|
final pigeonVar_channel = BasicMessageChannel<Object?>(
|
|
pigeonVar_channelName,
|
|
pigeonChannelCodec,
|
|
binaryMessenger: pigeonVar_binaryMessenger,
|
|
);
|
|
final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(<Object?>[albumId, updatedTimeCond]);
|
|
final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;
|
|
|
|
final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(
|
|
pigeonVar_replyList,
|
|
pigeonVar_channelName,
|
|
isNullValid: false,
|
|
);
|
|
return (pigeonVar_replyValue! as List<Object?>).cast<PlatformAsset>();
|
|
}
|
|
|
|
Future<List<HashResult>> hashAssets(List<String> assetIds, {bool allowNetworkAccess = false}) async {
|
|
final pigeonVar_channelName =
|
|
'dev.flutter.pigeon.immich_mobile.NativeSyncApi.hashAssets$pigeonVar_messageChannelSuffix';
|
|
final pigeonVar_channel = BasicMessageChannel<Object?>(
|
|
pigeonVar_channelName,
|
|
pigeonChannelCodec,
|
|
binaryMessenger: pigeonVar_binaryMessenger,
|
|
);
|
|
final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(<Object?>[assetIds, allowNetworkAccess]);
|
|
final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;
|
|
|
|
final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(
|
|
pigeonVar_replyList,
|
|
pigeonVar_channelName,
|
|
isNullValid: false,
|
|
);
|
|
return (pigeonVar_replyValue! as List<Object?>).cast<HashResult>();
|
|
}
|
|
|
|
Future<void> cancelHashing() async {
|
|
final pigeonVar_channelName =
|
|
'dev.flutter.pigeon.immich_mobile.NativeSyncApi.cancelHashing$pigeonVar_messageChannelSuffix';
|
|
final pigeonVar_channel = BasicMessageChannel<Object?>(
|
|
pigeonVar_channelName,
|
|
pigeonChannelCodec,
|
|
binaryMessenger: pigeonVar_binaryMessenger,
|
|
);
|
|
final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(null);
|
|
final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;
|
|
|
|
_extractReplyValueOrThrow(pigeonVar_replyList, pigeonVar_channelName, isNullValid: true);
|
|
}
|
|
|
|
Future<Map<String, List<PlatformAsset>>> getTrashedAssets() async {
|
|
final pigeonVar_channelName =
|
|
'dev.flutter.pigeon.immich_mobile.NativeSyncApi.getTrashedAssets$pigeonVar_messageChannelSuffix';
|
|
final pigeonVar_channel = BasicMessageChannel<Object?>(
|
|
pigeonVar_channelName,
|
|
pigeonChannelCodec,
|
|
binaryMessenger: pigeonVar_binaryMessenger,
|
|
);
|
|
final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(null);
|
|
final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;
|
|
|
|
final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(
|
|
pigeonVar_replyList,
|
|
pigeonVar_channelName,
|
|
isNullValid: false,
|
|
);
|
|
return (pigeonVar_replyValue! as Map<Object?, Object?>).cast<String, List<PlatformAsset>>();
|
|
}
|
|
|
|
Future<List<CloudIdResult>> getCloudIdForAssetIds(List<String> assetIds) async {
|
|
final pigeonVar_channelName =
|
|
'dev.flutter.pigeon.immich_mobile.NativeSyncApi.getCloudIdForAssetIds$pigeonVar_messageChannelSuffix';
|
|
final pigeonVar_channel = BasicMessageChannel<Object?>(
|
|
pigeonVar_channelName,
|
|
pigeonChannelCodec,
|
|
binaryMessenger: pigeonVar_binaryMessenger,
|
|
);
|
|
final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(<Object?>[assetIds]);
|
|
final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;
|
|
|
|
final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(
|
|
pigeonVar_replyList,
|
|
pigeonVar_channelName,
|
|
isNullValid: false,
|
|
);
|
|
return (pigeonVar_replyValue! as List<Object?>).cast<CloudIdResult>();
|
|
}
|
|
|
|
Future<BaseResource?> getBaseResource(String assetId, {bool allowNetworkAccess = false}) async {
|
|
final pigeonVar_channelName =
|
|
'dev.flutter.pigeon.immich_mobile.NativeSyncApi.getBaseResource$pigeonVar_messageChannelSuffix';
|
|
final pigeonVar_channel = BasicMessageChannel<Object?>(
|
|
pigeonVar_channelName,
|
|
pigeonChannelCodec,
|
|
binaryMessenger: pigeonVar_binaryMessenger,
|
|
);
|
|
final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(<Object?>[assetId, allowNetworkAccess]);
|
|
final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;
|
|
|
|
final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(
|
|
pigeonVar_replyList,
|
|
pigeonVar_channelName,
|
|
isNullValid: true,
|
|
);
|
|
return pigeonVar_replyValue as BaseResource?;
|
|
}
|
|
|
|
Future<EditState> getEditState(String assetId, {bool allowNetworkAccess = false}) async {
|
|
final pigeonVar_channelName =
|
|
'dev.flutter.pigeon.immich_mobile.NativeSyncApi.getEditState$pigeonVar_messageChannelSuffix';
|
|
final pigeonVar_channel = BasicMessageChannel<Object?>(
|
|
pigeonVar_channelName,
|
|
pigeonChannelCodec,
|
|
binaryMessenger: pigeonVar_binaryMessenger,
|
|
);
|
|
final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(<Object?>[assetId, allowNetworkAccess]);
|
|
final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;
|
|
|
|
final Object? pigeonVar_replyValue = _extractReplyValueOrThrow(
|
|
pigeonVar_replyList,
|
|
pigeonVar_channelName,
|
|
isNullValid: false,
|
|
);
|
|
return pigeonVar_replyValue! as EditState;
|
|
}
|
|
}
|