add unmuted option

This commit is contained in:
Riko Sakurauchi 2019-10-30 13:51:56 +08:00
parent 116729d7d5
commit 8dfb5f7ecb
No known key found for this signature in database
GPG Key ID: 25AC0345B92902AF
6 changed files with 42 additions and 9 deletions

View File

@ -2896,6 +2896,9 @@ public class DialogsActivity extends BaseFragment implements NotificationCenter.
case FilterPopup.DialogType.Admin:
title = LocaleController.getString("Admins", R.string.Admins);
break;
case FilterPopup.DialogType.Unmuted:
title = LocaleController.getString("NotificationsUnmuted", R.string.NotificationsUnmuted);
break;
default:
if (folderId != 0) {
title = LocaleController.getString("ArchivedChats", R.string.ArchivedChats);

View File

@ -96,7 +96,7 @@ public class FilterPopup {
} else if (lower_id < 0) {
dialogsGroups.add(dialog);
} else {
TLRPC.User user = MessagesController.getInstance(currentAccount).getUser((int) dialog.id);
TLRPC.User user = MessagesController.getInstance(currentAccount).getUser(lower_id);
if (user != null) {
if (user.bot)
dialogsBots.add(dialog);
@ -125,6 +125,19 @@ public class FilterPopup {
return false;
}
private ArrayList<TLRPC.Dialog> filterUnmutedDialogs(ArrayList<TLRPC.Dialog> allDialogs) {
ArrayList<TLRPC.Dialog> dialogs = new ArrayList<>();
for (TLRPC.Dialog dialog : allDialogs) {
if (dialog instanceof TLRPC.TL_dialogFolder) {
continue;
}
if (!MessagesController.getInstance(currentAccount).isDialogMuted(dialog.id)) {
dialogs.add(dialog);
}
}
return dialogs;
}
public ArrayList<TLRPC.Dialog> getDialogs(int type, int folderId) {
MessagesController messagesController = AccountInstance.getInstance(currentAccount).getMessagesController();
ArrayList<TLRPC.Dialog> allDialogs = new ArrayList<>(messagesController.getDialogs(folderId));
@ -141,6 +154,14 @@ public class FilterPopup {
ArrayList<TLRPC.Dialog> dialogs = new ArrayList<>();
switch (type) {
case DialogType.Unmuted:
for (int i = 0; i < folders.size(); i++) {
folderDialogs.get(i).retainAll(filterUnmutedDialogs(folderDialogs.get(i)));
if (!folderDialogs.get(i).isEmpty())
dialogs.add(folders.get(i));
}
allDialogs.retainAll(filterUnmutedDialogs(allDialogs));
break;
case DialogType.Users:
for (int i = 0; i < folders.size(); i++) {
folderDialogs.get(i).retainAll(dialogsUsers);
@ -263,6 +284,14 @@ public class FilterPopup {
unreadCounts.add(getDialogsUnreadCount(temp));
}
temp = new ArrayList<>(allDialogs);
temp.retainAll(filterUnmutedDialogs(allDialogs));
if (!temp.isEmpty()) {
items.add(LocaleController.getString("NotificationsUnmuted", R.string.NotificationsUnmuted));
options.add(DialogType.Unmuted);
unreadCounts.add(getDialogsUnreadCount(temp));
}
if (scrimPopupWindow != null) {
scrimPopupWindow.dismiss();
scrimPopupWindow = null;
@ -397,5 +426,6 @@ public class FilterPopup {
public static final int Channels = 9;
public static final int Bots = 10;
public static final int Admin = 11;
public static final int Unmuted = 12;
}
}

View File

@ -17,12 +17,12 @@
<string name="Repeat">繰り返す</string>
<string name="CreateMention">アットユーザー</string>
<string name="ForceTabletMode">タブレットモードを強制する</string>
<string name="All">すべての会話</string>
<string name="All">すべて</string>
<string name="Users">ユーザー</string>
<string name="Groups">グループ</string>
<string name="Channels">チャンネル</string>
<string name="Bots">ボット</string>
<string name="Admins">管理な会話</string>
<string name="Admins">マネージド</string>
<string name="EnableNya">長押しするときにかわいいしっぽを送る</string>
<string name="NyaSuffix">メッセージテール</string>
<string name="NyaSuffixHint">ぽい</string>

View File

@ -17,12 +17,12 @@
<string name="Repeat">复读</string>
<string name="CreateMention">创建\@</string>
<string name="ForceTabletMode">假装是平板(重启生效)</string>
<string name="All">全部会话</string>
<string name="All">全部</string>
<string name="Users">用户</string>
<string name="Groups">群组</string>
<string name="Channels">频道</string>
<string name="Bots">机器人</string>
<string name="Admins">管理的会话</string>
<string name="Admins">管理的</string>
<string name="EnableNya">长按发送时加上可爱的尾音</string>
<string name="NyaSuffix">消息尾音</string>
<string name="NyaSuffixHint">恶意卖萌的尾音</string>

View File

@ -17,12 +17,12 @@
<string name="Repeat">复讀</string>
<string name="CreateMention">提及使用者</string>
<string name="ForceTabletMode">強制平板模式(重啟生效)</string>
<string name="All">全部會話</string>
<string name="All">全部</string>
<string name="Users">用戶</string>
<string name="Groups">群組</string>
<string name="Channels">頻道</string>
<string name="Bots">機器人</string>
<string name="Admins">管理的會話</string>
<string name="Admins">管理的</string>
<string name="EnableNya">長按發送時加上可愛的尾音</string>
<string name="NyaSuffix">消息尾音</string>
<string name="NyaSuffixHint">惡意賣萌的尾音</string>

View File

@ -17,12 +17,12 @@
<string name="Repeat">Repeat</string>
<string name="CreateMention">Create Mention</string>
<string name="ForceTabletMode">Force tablet mode</string>
<string name="All">All Chats</string>
<string name="All">All</string>
<string name="Users">Users</string>
<string name="Groups">Groups</string>
<string name="Channels">Channels</string>
<string name="Bots">Bots</string>
<string name="Admins">Administrating Chats</string>
<string name="Admins">Administrating</string>
<string name="EnableNya">Send message with suffix on long click</string>
<string name="NyaSuffix">Message suffix</string>
<string name="NyaSuffixHint">Suffix</string>