From 9b19e88c2ae989f0cb8acb176794c6ed5820d9f0 Mon Sep 17 00:00:00 2001 From: levlam Date: Sun, 17 Apr 2022 19:01:01 +0300 Subject: [PATCH] Use file name instead of notification sound title if there is none. --- td/telegram/AudiosManager.cpp | 7 ++++++- tdutils/td/utils/PathView.h | 4 ++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/td/telegram/AudiosManager.cpp b/td/telegram/AudiosManager.cpp index 32e5966d4..86c5195f9 100644 --- a/td/telegram/AudiosManager.cpp +++ b/td/telegram/AudiosManager.cpp @@ -14,6 +14,7 @@ #include "td/utils/logging.h" #include "td/utils/misc.h" +#include "td/utils/PathView.h" #include "td/utils/SliceBuilder.h" #include "td/utils/Status.h" @@ -58,7 +59,11 @@ td_api::object_ptr AudiosManager::get_notification_so CHECK(file_view.get_type() == FileType::Ringtone); CHECK(file_view.has_remote_location()); auto document_id = file_view.remote_location().get_id(); - return td_api::make_object(document_id, audio->duration, audio->date, audio->title, + auto title = audio->title; + if (title.empty() && !audio->file_name.empty()) { + title = PathView(audio->file_name).file_name_without_extension().str(); + } + return td_api::make_object(document_id, audio->duration, audio->date, title, audio->performer, td_->file_manager_->get_file_object(file_id)); } diff --git a/tdutils/td/utils/PathView.h b/tdutils/td/utils/PathView.h index a2b47c0d5..1bafc1d03 100644 --- a/tdutils/td/utils/PathView.h +++ b/tdutils/td/utils/PathView.h @@ -49,6 +49,10 @@ class PathView { return path_.substr(last_slash_ + 1); } + Slice file_name_without_extension() const { + return path_.substr(last_slash_ + 1, last_dot_ - last_slash_ - 1); + } + Slice path() const { return path_; }