Merge branch 'master' of gitlab.com:peter-iakovlev/telegram-ios

This commit is contained in:
Ilya Laktyushin 2022-08-03 15:35:34 +03:00
commit 089d953bb5

View File

@ -280,50 +280,50 @@ public extension TelegramEngine {
} }
public func fetchAlbumCover(file: FileMediaReference?, title: String, performer: String) -> Signal<EngineMediaResource.Fetch.Result, EngineMediaResource.Fetch.Error> { public func fetchAlbumCover(file: FileMediaReference?, title: String, performer: String) -> Signal<EngineMediaResource.Fetch.Result, EngineMediaResource.Fetch.Error> {
let datacenterId: Int let signal = currentWebDocumentsHostDatacenterId(postbox: self.account.postbox, isTestingEnvironment: self.account.testingEnvironment)
if let resource = file?.media.resource as? CloudDocumentMediaResource { |> castError(EngineMediaResource.Fetch.Error.self)
datacenterId = resource.datacenterId |> take(1)
} else { |> mapToSignal { datacenterId -> Signal<EngineMediaResource.Fetch.Result, EngineMediaResource.Fetch.Error> in
datacenterId = self.account.network.datacenterId let resource = AlbumCoverResource(datacenterId: Int(datacenterId), file: file, title: title, performer: performer)
}
return multipartFetch(postbox: self.account.postbox, network: self.account.network, mediaReferenceRevalidationContext: self.account.mediaReferenceRevalidationContext, resource: resource, datacenterId: Int(datacenterId), size: nil, intervals: .single([(0 ..< Int64.max, .default)]), parameters: MediaResourceFetchParameters(
let resource = AlbumCoverResource(datacenterId: datacenterId, file: file, title: title, performer: performer) tag: nil,
info: TelegramCloudMediaResourceFetchInfo(
return bufferedFetch(multipartFetch(postbox: self.account.postbox, network: self.account.network, mediaReferenceRevalidationContext: self.account.mediaReferenceRevalidationContext, resource: resource, datacenterId: datacenterId, size: nil, intervals: .single([(0 ..< Int64.max, .default)]), parameters: MediaResourceFetchParameters( reference: MediaResourceReference.standalone(resource: resource),
tag: nil, preferBackgroundReferenceRevalidation: false,
info: TelegramCloudMediaResourceFetchInfo( continueInBackground: false
reference: MediaResourceReference.standalone(resource: resource), ),
preferBackgroundReferenceRevalidation: false, isRandomAccessAllowed: true
continueInBackground: false ))
), |> map { result -> EngineMediaResource.Fetch.Result in
isRandomAccessAllowed: true switch result {
)) case let .dataPart(resourceOffset, data, range, complete):
|> map { result -> EngineMediaResource.Fetch.Result in return .dataPart(resourceOffset: resourceOffset, data: data, range: range, complete: complete)
switch result { case let .resourceSizeUpdated(size):
case let .dataPart(resourceOffset, data, range, complete): return .resourceSizeUpdated(size)
return .dataPart(resourceOffset: resourceOffset, data: data, range: range, complete: complete) case let .progressUpdated(value):
case let .resourceSizeUpdated(size): return .progressUpdated(value)
return .resourceSizeUpdated(size) case let .replaceHeader(data, range):
case let .progressUpdated(value): return .replaceHeader(data: data, range: range)
return .progressUpdated(value) case let .moveLocalFile(path):
case let .replaceHeader(data, range): return .moveLocalFile(path: path)
return .replaceHeader(data: data, range: range) case let .moveTempFile(file):
case let .moveLocalFile(path): return .moveTempFile(file: file)
return .moveLocalFile(path: path) case let .copyLocalItem(item):
case let .moveTempFile(file): return .copyLocalItem(item)
return .moveTempFile(file: file) case .reset:
case let .copyLocalItem(item): return .reset
return .copyLocalItem(item) }
case .reset: }
return .reset |> mapError { error -> EngineMediaResource.Fetch.Error in
switch error {
case .generic:
return .generic
}
} }
} }
|> mapError { error -> EngineMediaResource.Fetch.Error in
switch error { return bufferedFetch(signal)
case .generic:
return .generic
}
})
} }
public func cancelAllFetches(id: String) { public func cancelAllFetches(id: String) {