Skip to content

Commit

Permalink
feat: Trend Recommendations Optional Disable Related Features (NextAl…
Browse files Browse the repository at this point in the history
…one#44)

Co-authored-by: CinitDev <[email protected]>
  • Loading branch information
omg-xtao and cinitdev committed Jan 31, 2025
1 parent 1c060df commit 55b9957
Show file tree
Hide file tree
Showing 10 changed files with 152 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@

import tw.nekomimi.nekogram.NekoConfig;
import tw.nekomimi.nekogram.ui.PinnedStickerHelper;
import xyz.nextalone.nagram.NaConfig;
import xyz.nextalone.nagram.helper.ExternalStickerCacheHelper;

@SuppressWarnings("unchecked")
Expand Down Expand Up @@ -2237,7 +2238,7 @@ public void addNewStickerSet(TLRPC.TL_messages_stickerSet set) {
}

public void loadFeaturedStickers(boolean emoji, boolean cache) {
if (loadingFeaturedStickers[emoji ? 1 : 0] || NekoConfig.disableTrending.Bool()) {
if (loadingFeaturedStickers[emoji ? 1 : 0] || NaConfig.INSTANCE.getDisableFeaturedStickers().Bool()) {
return;
}
loadingFeaturedStickers[emoji ? 1 : 0] = true;
Expand Down
6 changes: 3 additions & 3 deletions TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -8963,7 +8963,7 @@ public void onAllEffectsEnd() {
}
}

if (getDialogId() == getUserConfig().getClientUserId() && (getUserConfig().isPremium() && NekoConfig.disableTrending.Bool())) {
if (getDialogId() == getUserConfig().getClientUserId() && (getUserConfig().isPremium() && !NaConfig.INSTANCE.getDisableFavoriteSearchEmojiTags().Bool())) {
actionBarSearchTags = new SearchTagsList(context, ChatActivity.this, contentView, currentAccount, getSavedDialogId(), themeDelegate, true) {
@Override
protected boolean setFilter(ReactionsLayoutInBubble.VisibleReaction reaction) {
Expand Down Expand Up @@ -24002,7 +24002,7 @@ private void loadSendAsPeers(boolean animatedUpdate) {
}
sendAsPeersObj = getMessagesController().getSendAsPeers(dialog_id);
if (sendAsPeersObj != null) {
if (NekoConfig.disableTrending.Bool()) {
if (NaConfig.INSTANCE.getDisableNonPremiumChannelChatShow().Bool()) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
sendAsPeersObj.peers.removeIf(peer -> peer.premium_required);
}
Expand Down Expand Up @@ -31675,7 +31675,7 @@ public boolean onTouch(View v, MotionEvent event) {
sheet.show();
}));
}
if (isReactionsAvailable && (!tags || (!getMessagesController().premiumFeaturesBlocked() && (getUserConfig().isPremium() && NekoConfig.disableTrending.Bool())))) {
if (isReactionsAvailable && (!tags || (!getMessagesController().premiumFeaturesBlocked() && (getUserConfig().isPremium() && !NaConfig.INSTANCE.getDisablePremiumFavoriteEmojiTags().Bool())))) {
int pad = 22;
int sPad = 24;
reactionsLayout.setPadding(AndroidUtilities.dp(4) + (LocaleController.isRTL ? 0 : sPad), AndroidUtilities.dp(4), AndroidUtilities.dp(4) + (LocaleController.isRTL ? sPad : 0), AndroidUtilities.dp(pad));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@
import java.util.Map;

import tw.nekomimi.nekogram.NekoConfig;
import xyz.nextalone.nagram.NaConfig;

public class EmojiTabsStrip extends ScrollableHorizontalScrollView {

Expand Down Expand Up @@ -493,7 +494,7 @@ public void updateEmojiPacks(ArrayList<EmojiView.EmojiPack> emojiPacks) {
return;
}
final boolean isPremium = UserConfig.getInstance(UserConfig.selectedAccount).isPremium() || allowEmojisForNonPremium();
if (NekoConfig.disableTrending.Bool() && !isPremium) {
if (NaConfig.INSTANCE.getDisableFeatuerdEmojis().Bool() && !isPremium) {
return;
}
int childCount = contentView.getChildCount() - packsIndexStart - (settingsTab != null ? 1 : 0);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,7 @@

import tw.nekomimi.nekogram.NekoConfig;
import tw.nekomimi.nekogram.ui.PinnedStickerHelper;
import xyz.nextalone.nagram.NaConfig;

public class EmojiView extends FrameLayout implements NotificationCenter.NotificationCenterDelegate {

Expand Down Expand Up @@ -5212,7 +5213,7 @@ private void updateStickerTabs(boolean updateStickerSets) {
if (trendingAdapter != null) {
trendingAdapter.notifyDataSetChanged();
}
if (!NekoConfig.disableTrending.Bool() && !featured.isEmpty() && (!BuildVars.DEBUG_PRIVATE_VERSION || featuredStickerSets.isEmpty() || preferences.getLong("featured_hidden", 0) == featured.get(0).set.id)) {
if (!NaConfig.INSTANCE.getDisableFeaturedStickers().Bool() && !featured.isEmpty() && (!BuildVars.DEBUG_PRIVATE_VERSION || featuredStickerSets.isEmpty() || preferences.getLong("featured_hidden", 0) == featured.get(0).set.id)) {
final int id = mediaDataController.getUnreadStickerSets().isEmpty() ? 2 : 3;
final StickerTabView trendingStickersTabView = stickersTab.addStickerIconTab(id, stickerIcons[id]);
trendingStickersTabView.textView.setText(LocaleController.getString(R.string.FeaturedStickersShort));
Expand Down Expand Up @@ -5396,10 +5397,8 @@ private void updateGifTabs() {
gifTabs.addIconTab(0, gifIcons[0]).setContentDescription(LocaleController.getString(R.string.RecentStickers));
}

if (!NekoConfig.disableTrending.Bool()) {
gifTrendingTabNum = gifTabsCount++;
gifTabs.addIconTab(1, gifIcons[1]).setContentDescription(LocaleController.getString(R.string.FeaturedGifs));
}
gifTrendingTabNum = gifTabsCount++;
gifTabs.addIconTab(1, gifIcons[1]).setContentDescription(LocaleController.getString(R.string.FeaturedGifs));

gifFirstEmojiTabNum = gifTabsCount;
final int hPadding = AndroidUtilities.dp(13);
Expand Down Expand Up @@ -8122,6 +8121,7 @@ private void updateRecentItemsCount() {
}

public void loadTrendingGifs() {
if (NaConfig.INSTANCE.getDisableFeaturedGifs().Bool()) return;
search("", "", true, true, true);
}

Expand Down
12 changes: 6 additions & 6 deletions TMessagesProj/src/main/java/org/telegram/ui/DialogsActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -5979,7 +5979,7 @@ private void updateDialogsHint() {
}
authHintCell.set(DialogsActivity.this, currentAccount);
updateAuthHintCellVisibility(true);
} else if (folderId == 0 && MessagesController.getInstance(currentAccount).pendingSuggestions.contains("PREMIUM_GRACE") && !NekoConfig.disableTrending.Bool()) {
} else if (folderId == 0 && MessagesController.getInstance(currentAccount).pendingSuggestions.contains("PREMIUM_GRACE") && !NaConfig.INSTANCE.getDisablePremiumExpiring().Bool()) {
dialogsHintCellVisible = true;
dialogsHintCell.setVisibility(View.VISIBLE);
dialogsHintCell.setCompact(true);
Expand All @@ -5995,7 +5995,7 @@ private void updateDialogsHint() {
updateDialogsHint();
});
updateAuthHintCellVisibility(false);
} else if (isStarsSubscriptionHintVisible() && !NekoConfig.disableTrending.Bool()) {
} else if (isStarsSubscriptionHintVisible() && !NaConfig.INSTANCE.getDisableStarsSubscription().Bool()) {
StarsController c = StarsController.getInstance(currentAccount);
dialogsHintCellVisible = true;
dialogsHintCell.setVisibility(View.VISIBLE);
Expand Down Expand Up @@ -6036,7 +6036,7 @@ private void updateDialogsHint() {
updateDialogsHint();
});
updateAuthHintCellVisibility(false);
} else if (folderId == 0 && !getMessagesController().premiumPurchaseBlocked() && BirthdayController.getInstance(currentAccount).contains() && !getMessagesController().dismissedSuggestions.contains("BIRTHDAY_CONTACTS_TODAY") && !NekoConfig.disableTrending.Bool()) {
} else if (folderId == 0 && !getMessagesController().premiumPurchaseBlocked() && BirthdayController.getInstance(currentAccount).contains() && !getMessagesController().dismissedSuggestions.contains("BIRTHDAY_CONTACTS_TODAY") && !NaConfig.INSTANCE.getDisableBirthdayContact().Bool()) {
BirthdayController.BirthdayState state = BirthdayController.getInstance(currentAccount).getState();
ArrayList<TLRPC.User> users = state.today;
dialogsHintCellVisible = true;
Expand Down Expand Up @@ -6155,7 +6155,7 @@ private void updateDialogsHint() {
.show();
});
updateAuthHintCellVisibility(false);
} else if (isPremiumChristmasHintVisible()) {
} else if (isPremiumChristmasHintVisible() && !NaConfig.INSTANCE.getDisablePremiumChristmas().Bool()) {
dialogsHintCellVisible = true;
dialogsHintCell.setVisibility(View.VISIBLE);
dialogsHintCell.setCompact(false);
Expand All @@ -6178,7 +6178,7 @@ private void updateDialogsHint() {
.show();
});
updateAuthHintCellVisibility(false);
} else if (isPremiumRestoreHintVisible()) {
} else if (isPremiumRestoreHintVisible() && !NaConfig.INSTANCE.getDisablePremiumRestore().Bool()) {
dialogsHintCellVisible = true;
dialogsHintCell.setVisibility(View.VISIBLE);
dialogsHintCell.setCompact(false);
Expand All @@ -6199,7 +6199,7 @@ private void updateDialogsHint() {
LocaleController.getString(R.string.RestorePremiumHintMessage)
);
updateAuthHintCellVisibility(false);
} else if (isPremiumHintVisible()) {
} else if (isPremiumHintVisible() && !NaConfig.INSTANCE.getDisablePremiumUpgrade().Bool()) {
dialogsHintCellVisible = true;
dialogsHintCell.setVisibility(View.VISIBLE);
dialogsHintCell.setCompact(false);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ public class NekoConfig {
public static ConfigItem disableLinkPreviewByDefault = addConfig("DisableLinkPreviewByDefault", configTypeBool, false);
public static ConfigItem sendCommentAfterForward = addConfig("SendCommentAfterForward", configTypeBool, true);
// public static ConfigItem increaseVoiceMessageQuality = addConfig("IncreaseVoiceMessageQuality", configTypeBool, true);
public static ConfigItem disableTrending = addConfig("DisableTrending", configTypeBool, true);
// public static ConfigItem disableTrending = addConfig("DisableTrending", configTypeBool, true);
public static ConfigItem dontSendGreetingSticker = addConfig("DontSendGreetingSticker", configTypeBool, false);
public static ConfigItem hideTimeForSticker = addConfig("HideTimeForSticker", configTypeBool, false);
public static ConfigItem takeGIFasVideo = addConfig("TakeGIFasVideo", configTypeBool, false);
Expand Down Expand Up @@ -452,8 +452,8 @@ public static void checkMigrate(boolean force) {
sendCommentAfterForward.setConfigBool(preferences.getBoolean("sendCommentAfterForward", true));
// if (preferences.contains("increaseVoiceMessageQuality"))
// increaseVoiceMessageQuality.setConfigBool(preferences.getBoolean("increaseVoiceMessageQuality", true));
if (preferences.contains("disableTrending"))
disableTrending.setConfigBool(preferences.getBoolean("disableTrending", true));
// if (preferences.contains("disableTrending"))
// disableTrending.setConfigBool(preferences.getBoolean("disableTrending", true));
if (preferences.contains("dontSendGreetingSticker"))
dontSendGreetingSticker.setConfigBool(preferences.getBoolean("dontSendGreetingSticker", false));
if (preferences.contains("hideTimeForSticker"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,23 @@ public class NekoChatSettingsActivity extends BaseNekoXSettingsActivity implemen
private final AbstractConfigCell disableInstantCameraRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disableInstantCamera));
private final AbstractConfigCell disableVibrationRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disableVibration));
private final AbstractConfigCell disableProximityEventsRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disableProximityEvents));
private final AbstractConfigCell disableTrendingRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disableTrending));
private final AbstractConfigCell disableTrendingRow = cellGroup.appendCell(new ConfigCellSelectBox("DisableTrending", null, null, () -> {
if (getParentActivity() == null) return;
showDialog(showConfigMenuAlert(getParentActivity(), "DisableTrending", new ArrayList<>() {{
add(new ConfigCellTextCheck(NaConfig.INSTANCE.getDisablePremiumUpgrade()));
add(new ConfigCellTextCheck(NaConfig.INSTANCE.getDisablePremiumExpiring()));
add(new ConfigCellTextCheck(NaConfig.INSTANCE.getDisablePremiumChristmas()));
add(new ConfigCellTextCheck(NaConfig.INSTANCE.getDisableBirthdayContact()));
add(new ConfigCellTextCheck(NaConfig.INSTANCE.getDisablePremiumRestore()));
add(new ConfigCellTextCheck(NaConfig.INSTANCE.getDisableStarsSubscription()));
add(new ConfigCellTextCheck(NaConfig.INSTANCE.getDisableFavoriteSearchEmojiTags()));
add(new ConfigCellTextCheck(NaConfig.INSTANCE.getDisableFeatuerdEmojis()));
add(new ConfigCellTextCheck(NaConfig.INSTANCE.getDisableFeaturedStickers()));
add(new ConfigCellTextCheck(NaConfig.INSTANCE.getDisableFeaturedGifs()));
add(new ConfigCellTextCheck(NaConfig.INSTANCE.getDisablePremiumFavoriteEmojiTags()));
add(new ConfigCellTextCheck(NaConfig.INSTANCE.getDisableNonPremiumChannelChatShow()));
}}));
}));
private final AbstractConfigCell disableSwipeToNextRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disableSwipeToNext));
private final AbstractConfigCell disableChannelMuteButtonRow = cellGroup.appendCell(new ConfigCellTextCheck(NaConfig.INSTANCE.getDisableChannelMuteButton()));
private final AbstractConfigCell disablePhotoSideActionRow = cellGroup.appendCell(new ConfigCellTextCheck(NekoConfig.disablePhotoSideAction));
Expand Down
90 changes: 90 additions & 0 deletions TMessagesProj/src/main/kotlin/xyz/nextalone/nagram/NaConfig.kt
Original file line number Diff line number Diff line change
Expand Up @@ -705,6 +705,96 @@ object NaConfig {
ConfigItem.configTypeBool,
false
)
val disableTrendingFlags =
addConfig(
"DisableTrendingFlags",
ConfigItem.configTypeInt,
0
)
val disableStarsSubscription =
addConfig(
"DisableStarsSubscription",
disableTrendingFlags,
0,
false
)
val disablePremiumExpiring =
addConfig(
"DisablePremiumExpiring",
disableTrendingFlags,
1,
false
)
val disablePremiumUpgrade =
addConfig(
"DisablePremiumUpgrade",
disableTrendingFlags,
2,
false
)
val disablePremiumChristmas =
addConfig(
"DisablePremiumChristmas",
disableTrendingFlags,
3,
false
)
val disableBirthdayContact =
addConfig(
"DisableBirthdayContact",
disableTrendingFlags,
4,
false
)
val disablePremiumRestore =
addConfig(
"DisablePremiumRestore",
disableTrendingFlags,
5,
false
)
val disableFeatuerdEmojis =
addConfig(
"DisableFeatuerdEmojis",
disableTrendingFlags,
6,
false
)
val disableFeaturedStickers =
addConfig(
"DisableFeaturedStickers",
disableTrendingFlags,
7,
false
)
val disableFeaturedGifs =
addConfig(
"DisableFeaturedGifs",
disableTrendingFlags,
8,
false
)
val disablePremiumFavoriteEmojiTags =
addConfig(
"DisablePremiumFavoriteEmojiTags",
disableTrendingFlags,
9,
false
)
val disableFavoriteSearchEmojiTags =
addConfig(
"DisableFavoriteSearchEmojiTags",
disableTrendingFlags,
10,
false
)
val disableNonPremiumChannelChatShow =
addConfig(
"DisableNonPremiumChannelChatShow",
disableTrendingFlags,
11,
false
)

private fun addConfig(
k: String,
Expand Down
12 changes: 12 additions & 0 deletions TMessagesProj/src/main/res/values-zh-rCN/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -169,4 +169,16 @@
<string name="DisableBotOpenButton">禁用 Bot 的打开小程序按钮</string>
<string name="CustomTitleUserName">使用用户昵称作为标题</string>
<string name="EnhancedVideoBitrate">改善上传视频画质</string>
<string name="DisableStarsSubscription">禁用Stars余额不足通知</string>
<string name="DisablePremiumExpiring">禁用Premium到期通知</string>
<string name="DisablePremiumUpgrade">禁用Premium升级通知</string>
<string name="DisablePremiumChristmas">禁用Premium圣诞通知</string>
<string name="DisablePremiumRestore">禁用Premium过期恢复通知</string>
<string name="DisableBirthdayContact">禁用联系人生日通知</string>
<string name="DisableFavoriteSearchEmojiTags">禁用收藏夹标签搜索栏Emoji列表</string>
<string name="DisableFeatuerdEmojis">禁用热门Premium Emoji</string>
<string name="DisableFeaturedStickers">禁用热门Premium Stickers</string>
<string name="DisableFeaturedGifs">禁用热门GIF图</string>
<string name="DisablePremiumFavoriteEmojiTags">禁用Premium收藏夹Emoji标签</string>
<string name="DisableNonPremiumChannelChatShow">禁用非Premium频道马甲显示</string>
</resources>
12 changes: 12 additions & 0 deletions TMessagesProj/src/main/res/values/strings_na.xml
Original file line number Diff line number Diff line change
Expand Up @@ -170,4 +170,16 @@
<string name="DisableBotOpenButton">Disable Bot Open Button</string>
<string name="CustomTitleUserName">Use user nickname as Title</string>
<string name="EnhancedVideoBitrate">Enhanced shared video bitrate</string>
<string name="DisableStarsSubscription">Disable Stars low balance notification</string>
<string name="DisablePremiumExpiring">Disable Premium expiration notification</string>
<string name="DisablePremiumUpgrade">Disable Premium upgrade notification</string>
<string name="DisablePremiumChristmas">Disable Premium Christmas notification</string>
<string name="DisablePremiumRestore">Disable Premium expiration recovery notification</string>
<string name="DisableBirthdayContact">Disable contact birthday notification</string>
<string name="DisableFavoriteSearchEmojiTags">Disable emoji list in favorites tag search bar</string>
<string name="DisableFeatuerdEmojis">Disable popular Premium Emojis</string>
<string name="DisableFeaturedStickers">Disable popular Premium Stickers</string>
<string name="DisableFeaturedGifs">Disable popular GIFs</string>
<string name="DisablePremiumFavoriteEmojiTags">Disable Premium favorite emoji tags</string>
<string name="DisableNonPremiumChannelChatShow">Disable non-Premium channel alias display</string>
</resources>

0 comments on commit 55b9957

Please sign in to comment.