Sponsor branding: orange title, shimmer heart, banknote icon, bot quickreg command
This commit is contained in:
parent
8c9895b99f
commit
7ad1c58901
4 changed files with 43 additions and 7 deletions
|
|
@ -23,6 +23,8 @@ import java.io.FileOutputStream;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
import tw.nekomimi.nekogram.helpers.ShimmerHeartDrawable;
|
||||||
|
|
||||||
public class FoxPremiumActivity extends BaseNekoSettingsActivity {
|
public class FoxPremiumActivity extends BaseNekoSettingsActivity {
|
||||||
|
|
||||||
private final int serversRow = rowId++;
|
private final int serversRow = rowId++;
|
||||||
|
|
@ -46,7 +48,7 @@ public class FoxPremiumActivity extends BaseNekoSettingsActivity {
|
||||||
titleView.setTypeface(AndroidUtilities.bold());
|
titleView.setTypeface(AndroidUtilities.bold());
|
||||||
titleView.setGravity(Gravity.CENTER);
|
titleView.setGravity(Gravity.CENTER);
|
||||||
titleView.setText(LocaleController.getString(R.string.FoxPremiumTitle));
|
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));
|
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);
|
var subtitleView = new TextView(context);
|
||||||
|
|
@ -96,7 +98,9 @@ public class FoxPremiumActivity extends BaseNekoSettingsActivity {
|
||||||
protected void fillItems(ArrayList<UItem> items, UniversalAdapter adapter) {
|
protected void fillItems(ArrayList<UItem> items, UniversalAdapter adapter) {
|
||||||
items.add(UItem.asCustomShadow(topView, 240));
|
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(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.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.asShadow(null));
|
||||||
items.add(UItem.asButton(buttonRow, R.drawable.msg_input_like, LocaleController.getString(R.string.FoxPremiumButton)));
|
items.add(UItem.asButton(buttonRow, R.drawable.msg_input_like, LocaleController.getString(R.string.FoxPremiumButton)));
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,10 @@ package tw.nekomimi.nekogram.settings;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.graphics.Outline;
|
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.Gravity;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewOutlineProvider;
|
import android.view.ViewOutlineProvider;
|
||||||
|
|
@ -17,11 +21,15 @@ import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
|
||||||
import org.telegram.messenger.AndroidUtilities;
|
import org.telegram.messenger.AndroidUtilities;
|
||||||
import org.telegram.messenger.FileLog;
|
import org.telegram.messenger.FileLog;
|
||||||
import org.telegram.messenger.LocaleController;
|
import org.telegram.messenger.LocaleController;
|
||||||
|
import org.telegram.messenger.MessagesController;
|
||||||
import org.telegram.messenger.R;
|
import org.telegram.messenger.R;
|
||||||
|
import org.telegram.messenger.SendMessagesHelper;
|
||||||
|
import org.telegram.messenger.UserConfig;
|
||||||
import org.telegram.messenger.browser.Browser;
|
import org.telegram.messenger.browser.Browser;
|
||||||
import org.telegram.ui.ActionBar.BaseFragment;
|
import org.telegram.ui.ActionBar.BaseFragment;
|
||||||
import org.telegram.ui.ActionBar.BottomSheet;
|
import org.telegram.ui.ActionBar.BottomSheet;
|
||||||
import org.telegram.ui.ActionBar.Theme;
|
import org.telegram.ui.ActionBar.Theme;
|
||||||
|
import org.telegram.ui.ChatActivity;
|
||||||
import org.telegram.ui.Components.BulletinFactory;
|
import org.telegram.ui.Components.BulletinFactory;
|
||||||
import org.telegram.ui.Components.ItemOptions;
|
import org.telegram.ui.Components.ItemOptions;
|
||||||
import org.telegram.ui.Components.LayoutHelper;
|
import org.telegram.ui.Components.LayoutHelper;
|
||||||
|
|
@ -34,6 +42,7 @@ import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import tw.nekomimi.nekogram.helpers.ShimmerHeartDrawable;
|
||||||
import tw.nekomimi.nekogram.helpers.remote.ConfigHelper;
|
import tw.nekomimi.nekogram.helpers.remote.ConfigHelper;
|
||||||
|
|
||||||
public class NekoDonateActivity extends BaseNekoSettingsActivity {
|
public class NekoDonateActivity extends BaseNekoSettingsActivity {
|
||||||
|
|
@ -53,8 +62,12 @@ public class NekoDonateActivity extends BaseNekoSettingsActivity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void fillItems(ArrayList<UItem> items, UniversalAdapter adapter) {
|
protected void fillItems(ArrayList<UItem> 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(supportProjectRow, R.drawable.msg_payment_card, 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)));
|
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.asButtonSubtext(topSponsorsRow, R.drawable.msg_premium_liststar, LocaleController.getString(R.string.FoxTopSponsors), LocaleController.getString(R.string.FoxTopSponsorsAbout)));
|
||||||
items.add(UItem.asShadow(null));
|
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) {
|
protected void onItemClick(UItem item, View view, int position, float x, float y) {
|
||||||
var id = item.id;
|
var id = item.id;
|
||||||
if (id == supportProjectRow) {
|
if (id == supportProjectRow) {
|
||||||
Browser.openUrl(getParentActivity(), "https://t.me/vpnghostbot");
|
openBotWithCommand("vpnghostbot", "/quickreg");
|
||||||
} else if (id == premiumRow) {
|
} else if (id == premiumRow) {
|
||||||
presentFragment(new FoxPremiumActivity());
|
presentFragment(new FoxPremiumActivity());
|
||||||
} else if (id == topSponsorsRow) {
|
} 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
|
@Override
|
||||||
protected boolean onItemLongClick(UItem item, View view, int position, float x, float y) {
|
protected boolean onItemLongClick(UItem item, View view, int position, float x, float y) {
|
||||||
var id = item.id;
|
var id = item.id;
|
||||||
|
|
|
||||||
|
|
@ -325,7 +325,7 @@
|
||||||
<!-- Accessibility -->
|
<!-- Accessibility -->
|
||||||
<string name="AccessibilitySettings">Настройки специальных возможностей</string>
|
<string name="AccessibilitySettings">Настройки специальных возможностей</string>
|
||||||
<string name="FoxSponsorBadge">Спонсор GhostCloud</string>
|
<string name="FoxSponsorBadge">Спонсор GhostCloud</string>
|
||||||
<string name="FoxPremiumTitle">FoxiGram Premium</string>
|
<string name="FoxPremiumTitle">Спонсор FoxiGram</string>
|
||||||
<string name="FoxPremiumSubtitle">Поддержите проект и откройте эксклюзивные возможности</string>
|
<string name="FoxPremiumSubtitle">Поддержите проект и откройте эксклюзивные возможности</string>
|
||||||
<string name="FoxPremiumFeatureServersTitle">Больше LTE и Wi-Fi серверов</string>
|
<string name="FoxPremiumFeatureServersTitle">Больше LTE и Wi-Fi серверов</string>
|
||||||
<string name="FoxPremiumFeatureServersAbout">Доступ к дополнительным быстрым LTE и Wi-Fi серверам</string>
|
<string name="FoxPremiumFeatureServersAbout">Доступ к дополнительным быстрым LTE и Wi-Fi серверам</string>
|
||||||
|
|
|
||||||
|
|
@ -155,7 +155,7 @@
|
||||||
<string name="NekogramVersion">FoxiGram %1$s\nBased on Telegram %2$s\nDesigned by %3$s</string>
|
<string name="NekogramVersion">FoxiGram %1$s\nBased on Telegram %2$s\nDesigned by %3$s</string>
|
||||||
<string name="UpdateInstalling">Installing update...</string>
|
<string name="UpdateInstalling">Installing update...</string>
|
||||||
<string name="FoxSponsorBadge">Sponsor GhostCloud</string>
|
<string name="FoxSponsorBadge">Sponsor GhostCloud</string>
|
||||||
<string name="FoxPremiumTitle">FoxiGram Premium</string>
|
<string name="FoxPremiumTitle">Спонсор FoxiGram</string>
|
||||||
<string name="FoxPremiumSubtitle">Support the project and unlock exclusive perks</string>
|
<string name="FoxPremiumSubtitle">Support the project and unlock exclusive perks</string>
|
||||||
<string name="FoxPremiumFeatureServersTitle">More LTE and Wi-Fi servers</string>
|
<string name="FoxPremiumFeatureServersTitle">More LTE and Wi-Fi servers</string>
|
||||||
<string name="FoxPremiumFeatureServersAbout">Get access to additional fast LTE and Wi-Fi servers</string>
|
<string name="FoxPremiumFeatureServersAbout">Get access to additional fast LTE and Wi-Fi servers</string>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue