From f76a9660ed955f90b37836660aa18c82b92bc737 Mon Sep 17 00:00:00 2001 From: levlam Date: Fri, 22 Apr 2022 14:28:51 +0300 Subject: [PATCH] Add can_reuse_remote_file to FileType.cpp. --- td/telegram/files/FileManager.cpp | 6 ++---- td/telegram/files/FileType.cpp | 12 ++++++++++++ td/telegram/files/FileType.h | 2 ++ 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/td/telegram/files/FileManager.cpp b/td/telegram/files/FileManager.cpp index ebc4b82f5..29a3fbe06 100644 --- a/td/telegram/files/FileManager.cpp +++ b/td/telegram/files/FileManager.cpp @@ -2559,8 +2559,7 @@ void FileManager::resume_upload(FileId file_id, std::vector bad_parts, std: node->set_upload_pause(FileId()); } FileView file_view(node); - if (file_view.has_active_upload_remote_location() && file_view.get_type() != FileType::Thumbnail && - file_view.get_type() != FileType::EncryptedThumbnail && file_view.get_type() != FileType::Background) { + if (file_view.has_active_upload_remote_location() && can_reuse_remote_file(file_view.get_type())) { LOG(INFO) << "File " << file_id << " is already uploaded"; if (callback) { callback->on_upload_ok(file_id, nullptr); @@ -2832,8 +2831,7 @@ void FileManager::run_upload(FileNodePtr node, std::vector bad_parts) { CHECK(node->upload_id_ == 0); if (file_view.has_alive_remote_location() && !file_view.has_active_upload_remote_location() && - file_view.get_type() != FileType::Thumbnail && file_view.get_type() != FileType::EncryptedThumbnail && - file_view.get_type() != FileType::Background) { + can_reuse_remote_file(file_view.get_type())) { QueryId id = queries_container_.create(Query{file_id, Query::Type::UploadWaitFileReference}); node->upload_id_ = id; if (node->upload_was_update_file_reference_) { diff --git a/td/telegram/files/FileType.cpp b/td/telegram/files/FileType.cpp index 8065c9e21..97e6dce16 100644 --- a/td/telegram/files/FileType.cpp +++ b/td/telegram/files/FileType.cpp @@ -246,4 +246,16 @@ bool is_file_big(FileType file_type, int64 expected_size) { return expected_size > SMALL_FILE_MAX_SIZE; } +bool can_reuse_remote_file(FileType file_type) { + switch (file_type) { + case FileType::Thumbnail: + case FileType::EncryptedThumbnail: + case FileType::Background: + case FileType::CallLog: + return false; + default: + return true; + } +} + } // namespace td diff --git a/td/telegram/files/FileType.h b/td/telegram/files/FileType.h index d86486800..270cff648 100644 --- a/td/telegram/files/FileType.h +++ b/td/telegram/files/FileType.h @@ -63,4 +63,6 @@ FileDirType get_file_dir_type(FileType file_type); bool is_file_big(FileType file_type, int64 expected_size); +bool can_reuse_remote_file(FileType file_type); + } // namespace td