From 1b9232e28dd18f9686fff5ff2569f84b59244190 Mon Sep 17 00:00:00 2001 From: John Preston Date: Mon, 20 Jun 2022 11:13:39 +0400 Subject: [PATCH] Always show premium badge in support mode. --- Telegram/SourceFiles/info/profile/info_profile_cover.cpp | 3 ++- Telegram/SourceFiles/main/main_session.cpp | 4 ++++ Telegram/SourceFiles/main/main_session.h | 1 + Telegram/SourceFiles/ui/unread_badge.cpp | 2 +- 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Telegram/SourceFiles/info/profile/info_profile_cover.cpp b/Telegram/SourceFiles/info/profile/info_profile_cover.cpp index c04f21fac..7935cbf09 100644 --- a/Telegram/SourceFiles/info/profile/info_profile_cover.cpp +++ b/Telegram/SourceFiles/info/profile/info_profile_cover.cpp @@ -177,7 +177,8 @@ void Cover::initViewers(rpl::producer title) { BadgeValue( _peer ) | rpl::start_with_next([=](Badge badge) { - if (badge == Badge::Premium && !_peer->session().premiumPossible()) { + if (badge == Badge::Premium + && !_peer->session().premiumBadgesShown()) { badge = Badge::None; } setBadge(badge); diff --git a/Telegram/SourceFiles/main/main_session.cpp b/Telegram/SourceFiles/main/main_session.cpp index d40a6de51..84485ba30 100644 --- a/Telegram/SourceFiles/main/main_session.cpp +++ b/Telegram/SourceFiles/main/main_session.cpp @@ -236,6 +236,10 @@ bool Session::premiumPossible() const { return premium() || _premiumPossible.current(); } +bool Session::premiumBadgesShown() const { + return supportMode() || premiumPossible(); +} + rpl::producer Session::premiumPossibleValue() const { using namespace rpl::mappers; diff --git a/Telegram/SourceFiles/main/main_session.h b/Telegram/SourceFiles/main/main_session.h index bc2c8bc4b..383c5acac 100644 --- a/Telegram/SourceFiles/main/main_session.h +++ b/Telegram/SourceFiles/main/main_session.h @@ -83,6 +83,7 @@ public: [[nodiscard]] bool premium() const; [[nodiscard]] bool premiumPossible() const; [[nodiscard]] rpl::producer premiumPossibleValue() const; + [[nodiscard]] bool premiumBadgesShown() const; [[nodiscard]] uint64 uniqueId() const; // userId() with TestDC shift. [[nodiscard]] UserId userId() const; diff --git a/Telegram/SourceFiles/ui/unread_badge.cpp b/Telegram/SourceFiles/ui/unread_badge.cpp index 040f18b34..bc92b396b 100644 --- a/Telegram/SourceFiles/ui/unread_badge.cpp +++ b/Telegram/SourceFiles/ui/unread_badge.cpp @@ -120,7 +120,7 @@ int DrawPeerBadgeGetWidth( return iconw; } else if (peer->isPremium() && st.premium - && peer->session().premiumPossible()) { + && peer->session().premiumBadgesShown()) { const auto iconw = st.premium->width(); st.premium->paint( p,