From 7ad1c5890187a82019b800a62d29202f9a99d851 Mon Sep 17 00:00:00 2001 From: instant992 Date: Fri, 19 Jun 2026 00:49:00 +0400 Subject: [PATCH] Sponsor branding: orange title, shimmer heart, banknote icon, bot quickreg command --- .../nekogram/settings/FoxPremiumActivity.java | 8 +++- .../nekogram/settings/NekoDonateActivity.java | 38 +++++++++++++++++-- .../src/main/res/values-ru/strings_neko.xml | 2 +- .../src/main/res/values/strings_neko.xml | 2 +- 4 files changed, 43 insertions(+), 7 deletions(-) diff --git a/TMessagesProj/src/main/java/tw/nekomimi/nekogram/settings/FoxPremiumActivity.java b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/settings/FoxPremiumActivity.java index 98eb96ad..54b2355b 100644 --- a/TMessagesProj/src/main/java/tw/nekomimi/nekogram/settings/FoxPremiumActivity.java +++ b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/settings/FoxPremiumActivity.java @@ -23,6 +23,8 @@ import java.io.FileOutputStream; import java.io.InputStream; import java.util.ArrayList; +import tw.nekomimi.nekogram.helpers.ShimmerHeartDrawable; + public class FoxPremiumActivity extends BaseNekoSettingsActivity { private final int serversRow = rowId++; @@ -46,7 +48,7 @@ public class FoxPremiumActivity extends BaseNekoSettingsActivity { titleView.setTypeface(AndroidUtilities.bold()); titleView.setGravity(Gravity.CENTER); titleView.setText(LocaleController.getString(R.string.FoxPremiumTitle)); - titleView.setTextColor(getThemedColor(Theme.key_windowBackgroundWhiteBlackText)); + titleView.setTextColor(0xFFFF8C00); topView.addView(titleView, LayoutHelper.createFrame(LayoutHelper.MATCH_PARENT, LayoutHelper.WRAP_CONTENT, Gravity.CENTER_HORIZONTAL | Gravity.TOP, 16, 158, 16, 0)); var subtitleView = new TextView(context); @@ -96,7 +98,9 @@ public class FoxPremiumActivity extends BaseNekoSettingsActivity { protected void fillItems(ArrayList items, UniversalAdapter adapter) { items.add(UItem.asCustomShadow(topView, 240)); items.add(UItem.asButtonSubtext(serversRow, R.drawable.msg2_devices, LocaleController.getString(R.string.FoxPremiumFeatureServersTitle), LocaleController.getString(R.string.FoxPremiumFeatureServersAbout))); - items.add(UItem.asButtonSubtext(sponsorRow, R.drawable.msg_input_like, LocaleController.getString(R.string.FoxPremiumFeatureSponsorTitle), LocaleController.getString(R.string.FoxPremiumFeatureSponsorAbout))); + UItem sponsorItem = UItem.asButton(sponsorRow, new ShimmerHeartDrawable(AndroidUtilities.dp(24)), LocaleController.getString(R.string.FoxPremiumFeatureSponsorTitle)); + sponsorItem.subtext = LocaleController.getString(R.string.FoxPremiumFeatureSponsorAbout); + items.add(sponsorItem); items.add(UItem.asButtonSubtext(iconsRow, R.drawable.msg_emoji_smiles, LocaleController.getString(R.string.FoxPremiumFeatureIconsTitle), LocaleController.getString(R.string.FoxPremiumFeatureIconsAbout))); items.add(UItem.asShadow(null)); items.add(UItem.asButton(buttonRow, R.drawable.msg_input_like, LocaleController.getString(R.string.FoxPremiumButton))); diff --git a/TMessagesProj/src/main/java/tw/nekomimi/nekogram/settings/NekoDonateActivity.java b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/settings/NekoDonateActivity.java index 86581c1e..5472ca3c 100644 --- a/TMessagesProj/src/main/java/tw/nekomimi/nekogram/settings/NekoDonateActivity.java +++ b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/settings/NekoDonateActivity.java @@ -3,6 +3,10 @@ package tw.nekomimi.nekogram.settings; import android.content.Context; import android.graphics.Bitmap; import android.graphics.Outline; +import android.os.Bundle; +import android.text.Spannable; +import android.text.SpannableString; +import android.text.style.ForegroundColorSpan; import android.view.Gravity; import android.view.View; import android.view.ViewOutlineProvider; @@ -17,11 +21,15 @@ import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; import org.telegram.messenger.AndroidUtilities; import org.telegram.messenger.FileLog; import org.telegram.messenger.LocaleController; +import org.telegram.messenger.MessagesController; import org.telegram.messenger.R; +import org.telegram.messenger.SendMessagesHelper; +import org.telegram.messenger.UserConfig; import org.telegram.messenger.browser.Browser; import org.telegram.ui.ActionBar.BaseFragment; import org.telegram.ui.ActionBar.BottomSheet; import org.telegram.ui.ActionBar.Theme; +import org.telegram.ui.ChatActivity; import org.telegram.ui.Components.BulletinFactory; import org.telegram.ui.Components.ItemOptions; import org.telegram.ui.Components.LayoutHelper; @@ -34,6 +42,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import tw.nekomimi.nekogram.helpers.ShimmerHeartDrawable; import tw.nekomimi.nekogram.helpers.remote.ConfigHelper; public class NekoDonateActivity extends BaseNekoSettingsActivity { @@ -53,8 +62,12 @@ public class NekoDonateActivity extends BaseNekoSettingsActivity { @Override protected void fillItems(ArrayList items, UniversalAdapter adapter) { - items.add(UItem.asButtonSubtext(supportProjectRow, R.drawable.msg_input_like, LocaleController.getString(R.string.FoxSupportProject), LocaleController.getString(R.string.FoxSupportProjectAbout))); - items.add(UItem.asButtonSubtext(premiumRow, R.drawable.msg_premium_liststar, LocaleController.getString(R.string.FoxPremiumTitle), LocaleController.getString(R.string.FoxPremiumSubtitle))); + items.add(UItem.asButtonSubtext(supportProjectRow, R.drawable.msg_payment_card, LocaleController.getString(R.string.FoxSupportProject), LocaleController.getString(R.string.FoxSupportProjectAbout))); + SpannableString premiumTitle = new SpannableString(LocaleController.getString(R.string.FoxPremiumTitle)); + premiumTitle.setSpan(new ForegroundColorSpan(0xFFFF8C00), 0, premiumTitle.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + UItem premiumItem = UItem.asButton(premiumRow, new ShimmerHeartDrawable(AndroidUtilities.dp(24)), premiumTitle); + premiumItem.subtext = LocaleController.getString(R.string.FoxPremiumSubtitle); + items.add(premiumItem); items.add(UItem.asButtonSubtext(topSponsorsRow, R.drawable.msg_premium_liststar, LocaleController.getString(R.string.FoxTopSponsors), LocaleController.getString(R.string.FoxTopSponsorsAbout))); items.add(UItem.asShadow(null)); @@ -72,7 +85,7 @@ public class NekoDonateActivity extends BaseNekoSettingsActivity { protected void onItemClick(UItem item, View view, int position, float x, float y) { var id = item.id; if (id == supportProjectRow) { - Browser.openUrl(getParentActivity(), "https://t.me/vpnghostbot"); + openBotWithCommand("vpnghostbot", "/quickreg"); } else if (id == premiumRow) { presentFragment(new FoxPremiumActivity()); } else if (id == topSponsorsRow) { @@ -83,6 +96,25 @@ public class NekoDonateActivity extends BaseNekoSettingsActivity { } } + private void openBotWithCommand(String username, String command) { + int account = UserConfig.selectedAccount; + MessagesController mc = MessagesController.getInstance(account); + mc.getUserNameResolver().resolve(username, peerId -> { + if (peerId == null || peerId == 0) { + return; + } + AndroidUtilities.runOnUIThread(() -> { + Bundle args = new Bundle(); + args.putLong("user_id", peerId); + ChatActivity chatActivity = new ChatActivity(args); + presentFragment(chatActivity); + AndroidUtilities.runOnUIThread(() -> + SendMessagesHelper.getInstance(account).sendMessage( + SendMessagesHelper.SendMessageParams.of(command, peerId)), 150); + }); + }); + } + @Override protected boolean onItemLongClick(UItem item, View view, int position, float x, float y) { var id = item.id; diff --git a/TMessagesProj/src/main/res/values-ru/strings_neko.xml b/TMessagesProj/src/main/res/values-ru/strings_neko.xml index d65cf9e8..e68bf60a 100644 --- a/TMessagesProj/src/main/res/values-ru/strings_neko.xml +++ b/TMessagesProj/src/main/res/values-ru/strings_neko.xml @@ -325,7 +325,7 @@ Настройки специальных возможностей Спонсор GhostCloud - FoxiGram Premium + Спонсор FoxiGram Поддержите проект и откройте эксклюзивные возможности Больше LTE и Wi-Fi серверов Доступ к дополнительным быстрым LTE и Wi-Fi серверам diff --git a/TMessagesProj/src/main/res/values/strings_neko.xml b/TMessagesProj/src/main/res/values/strings_neko.xml index 47272ba1..0c343c1c 100644 --- a/TMessagesProj/src/main/res/values/strings_neko.xml +++ b/TMessagesProj/src/main/res/values/strings_neko.xml @@ -155,7 +155,7 @@ FoxiGram %1$s\nBased on Telegram %2$s\nDesigned by %3$s Installing update... Sponsor GhostCloud - FoxiGram Premium + Спонсор FoxiGram Support the project and unlock exclusive perks More LTE and Wi-Fi servers Get access to additional fast LTE and Wi-Fi servers