Commit Graph

1316 Commits

Author SHA1 Message Date
levlam
25f77585c9 Move DialogFilter implementation to separate files.
GitOrigin-RevId: c58b7f42811242882f00d48152417826e465b5bc
2020-06-02 13:58:53 +03:00
levlam
6599d76837 Merge local and remote filter changes.
GitOrigin-RevId: 4413966eb1c6dd1bcf4400b5ca19ad30ac7342d1
2020-06-02 05:40:17 +03:00
levlam
492c18523f Move check_dialog_filter_limits inside DialogFilter.
GitOrigin-RevId: f4daa38456c378856a3ba3c87ce841aa0b9154c2
2020-06-02 04:26:40 +03:00
levlam
7aaf6a4641 Rename is_similar to are_similar.
GitOrigin-RevId: 18988afaefde2f228e9e0c5be82aaa094993f0c2
2020-06-02 04:18:31 +03:00
levlam
f234440d3d Improve method names.
GitOrigin-RevId: 34ec6eb1d3f3db02b946e147673a64c269c49132
2020-06-01 23:09:35 +03:00
levlam
01b319f22b Add recommended filters at the beginning of the list.
GitOrigin-RevId: 850744bddec52d19952a599b3ac9a8fca4667bf9
2020-06-01 18:05:32 +03:00
levlam
6e42d79769 Replace emoji with icon_mane in chat filters.
GitOrigin-RevId: 61b30d075e330a92935ea2c8cfc0bf78fb32958b
2020-06-01 16:55:31 +03:00
levlam
5401fd636a Add more checks for is_bot.
GitOrigin-RevId: 808f15d4d7f55dba3515ee8f2dc42b292069a14d
2020-06-01 01:48:35 +03:00
levlam
14971c853d Make updateDialogFilters persistent.
GitOrigin-RevId: c89e8d3578ceb7fe21cabfad284c75cd9772001d
2020-06-01 00:34:45 +03:00
levlam
5fca85a334 Reload filters to repair their order if the server added new filter to the beginning of the list.
GitOrigin-RevId: 4d515573077bae07dba6aa28640f3c5038033fb2
2020-06-01 00:28:38 +03:00
levlam
bffca57da1 Preload pinned message only for from_update messages to prevent cycles and because only such messages can cause updating of last_new_message_id.
GitOrigin-RevId: 153f8699db19652f142334ef5b3413276892e2cd
2020-05-31 22:42:58 +03:00
levlam
9d7d04e159 Improve logging.
GitOrigin-RevId: a3ac8554a60048ecfadddc3c6d4054c759beefba
2020-05-31 22:31:27 +03:00
levlam
52df5760f1 Improve logging.
GitOrigin-RevId: d1118ce761fde5b95d33939f78a10ea56bef51f9
2020-05-31 22:26:11 +03:00
levlam
2098d08244 Add td_api::getChatListsToAddChat.
GitOrigin-RevId: 2765a827af72de72fd0faae815a51ba8c9f59459
2020-05-31 03:50:52 +03:00
levlam
8aa8774dc7 Move get_chat_list_object to DialogListId.
GitOrigin-RevId: ba28ac3e722f3308ca3a8c20419b6d9a8642d6cc
2020-05-31 02:59:50 +03:00
levlam
5477233af9 Replace setChatChatList with addChatToList.
GitOrigin-RevId: c336e0e98b008b1571c4267d466b8cb0f3306957
2020-05-31 00:48:33 +03:00
levlam
1462d1ff3c Add InputDialogId::contains.
GitOrigin-RevId: 89fa1ee325cfebfb02e0aa3f93e658442fc4898a
2020-05-31 00:26:22 +03:00
levlam
4db8cdc9d9 Ensure that loaded from binlog server dialog filters are distinct.
GitOrigin-RevId: 89cdffd0d284dcd36c539dc1a4259b1bc445d4b8
2020-05-29 09:35:52 +03:00
levlam
45b90e2163 Fix MessagesManager::on_update_dialog_filter.
GitOrigin-RevId: 2678a2f7a9d7b2039dcea5ce27a88b86e1694113
2020-05-29 09:27:26 +03:00
levlam
7d34c93683 Skip nonjoined chats in td_api::chatFilter.
GitOrigin-RevId: 1f50c89e1a716f11b4a2c26947f2e4d81a2f39a3
2020-05-29 09:19:24 +03:00
levlam
42b2e84e4a Save changed dialog total count even if the sum is still the same.
GitOrigin-RevId: 7a3027bc5defba37c089368c71cfdc7e009a440e
2020-05-29 09:08:01 +03:00
levlam
3033f31525 Fix dialog total count and filter folder ids.
GitOrigin-RevId: dd645555834c675ab2454889d56b337d34aaf38b
2020-05-29 08:48:38 +03:00
levlam
ae42f2436e Improve check that all included filter dialogs are distinct.
GitOrigin-RevId: 8a451f187bd11a82a42a583c31f1a3b18c8c7ead
2020-05-29 08:02:47 +03:00
levlam
b89330c83e Remove pinned dialogs with default order.
GitOrigin-RevId: 004110a578a0230877648215cc849b78d68cfda6
2020-05-29 07:44:57 +03:00
levlam
7dc2d13afe Make set_dialog_is_pinned private.
GitOrigin-RevId: 3ef6116d16897b28997e7fa91c1d496fce4edee2
2020-05-29 06:57:55 +03:00
levlam
876c67d711 Fix updating is_pinned when receiving Dialog.
GitOrigin-RevId: 276719cb66e06d226146b09dfdc5b2cd588f989e
2020-05-29 06:07:51 +03:00
levlam
b8fa651764 Simplify check that dialog can't be pinned using that if dialog is removed from chat list, then it's order is default.
GitOrigin-RevId: 914dadfc2fb505eba295092f1f723771570b1bfc
2020-05-29 05:26:49 +03:00
levlam
3f4011364b Ignore updateDialogPinned for dialog not from dialog list.
GitOrigin-RevId: c0e0c8fe9a07bc47d649b2f71f93ed4e4c44a75a
2020-05-29 05:24:37 +03:00
levlam
62a87ba179 Add need_send_update_chat_position.
GitOrigin-RevId: bbca8e3ee7fb5df8c08b5ae89683cc7cfbbea482
2020-05-29 03:16:56 +03:00
levlam
15b3907b37 More dialog list fixes.
GitOrigin-RevId: e6889e33454e41e14af7b2b64ccff06e8225f2a8
2020-05-29 01:58:24 +03:00
levlam
cef4c3af2f Add MessagesManager::get_dialog_filter_ids.
GitOrigin-RevId: fb70aca2c233efe1ec873a707e3418e9ac39a401
2020-05-28 21:29:38 +03:00
levlam
8ac003dc9d Dialog list fixes.
GitOrigin-RevId: 7591555e389fe55d33d5d7982a441491039d23ed
2020-05-28 21:24:50 +03:00
levlam
7ec366b7f7 Reorder dialog filters in synchronize_dialog_filters.
GitOrigin-RevId: 175efa63aa4a88ce2be5926f6715b7760049e149
2020-05-28 15:50:54 +03:00
levlam
a5abc75b20 Add synchronize_dialog_filters method.
GitOrigin-RevId: 41489bb32c0d6800db3b356d67dc1412ae6b89ed
2020-05-28 15:10:31 +03:00
levlam
260ac6c90e Add need_synchronize_dialog_filters.
GitOrigin-RevId: e108099952a97aaa7b2963e15fff0123e1e3cbda
2020-05-28 14:34:02 +03:00
levlam
2edf3282fc Add DialogFilter::is_empty.
GitOrigin-RevId: b84c90755bb2059cc0e7111b9b4c198c90130be4
2020-05-28 14:22:51 +03:00
levlam
e5f0902277 Do not reload filters in parallel.
GitOrigin-RevId: 8542d74bd773a58904834a0aea89de41ee470869
2020-05-28 12:38:46 +03:00
levlam
25badecb71 Use send_closure_later in reload_dialog_filters to avoid accidental Timeout usage.
GitOrigin-RevId: 9d3f29b0d6dac7c1834426c9e07885cbf6cd0bb9
2020-05-28 12:14:58 +03:00
levlam
10402d9f5b Add get_dialog_filters_cache_time.
GitOrigin-RevId: a5779bb5d0a90c7a77f44df91300aedd6a562988
2020-05-28 12:05:40 +03:00
levlam
04e0f590e2 Add and use DialogFilter::are_equivalent.
GitOrigin-RevId: 6c9228b654f80f649ef107d6730e1fd966ce6792
2020-05-28 03:37:38 +03:00
levlam
f80bd321b0 Immediately return response to create/editChatFilter.
GitOrigin-RevId: 79e81c4baa497a2ebabb740a1efb33d044d5d65d
2020-05-28 03:11:34 +03:00
levlam
9a5f6c5dd5 Update dialog filter order after receiving them from server.
GitOrigin-RevId: 9ef943eb5faaf36cfe960e91a6daba6d5804a57d
2020-05-28 03:08:00 +03:00
levlam
09f8c68e04 Add set_dialog_filters_order method.
GitOrigin-RevId: 4c8517abc9e7a968244ec5790367b5299818c2cf
2020-05-28 02:43:23 +03:00
levlam
8bd1debf87 Add delete_dialog_filter_on_server.
GitOrigin-RevId: 4e08271a6eacb41cae9aea9e7d09cc5d47cae78e
2020-05-28 02:11:41 +03:00
levlam
77d9f547a3 Add update_dialog_filter_on_server.
GitOrigin-RevId: 699ae56d8c6d582f95c502fa75d0802c8385b8ef
2020-05-28 02:08:56 +03:00
levlam
0f93d0fd56 Add update_dialog_filter_on_server function.
GitOrigin-RevId: 35d57215c3cbae2f48a6398541a71583ffb9f33a
2020-05-28 02:07:00 +03:00
levlam
97a89986a1 Update DialogList in edit_dialog_filter.
GitOrigin-RevId: 93466cbb49e643ca0a0daabbd212fbed22d5e744
2020-05-28 01:57:36 +03:00
levlam
d2ff28f269 Add add_dialog_to_list/remove_dialog_from_list methods.
GitOrigin-RevId: 838e90a5143e310966ff2caf4343b236f97c0d25
2020-05-28 01:15:34 +03:00
levlam
dcaa9f3fba Allow to call update_list_last_dialog_date without sending updates.
GitOrigin-RevId: 82db046228cbfb5d1d78d20be8050896547eca77
2020-05-27 23:40:03 +03:00
levlam
22f158ac1f Make get_dialog_pinned_order static.
GitOrigin-RevId: 40e4b29573044b9d5f4fbdf75610eef4eab73421
2020-05-27 23:35:35 +03:00
levlam
4ace9f4c02 Disallow creation of an empty folder and a copy of the main chat list.
GitOrigin-RevId: 4a76401374821085fca0776ecabefd4fcc6f057f
2020-05-27 20:52:59 +03:00
levlam
7ae25bc255 Check that there is no duplicate chats in dialog filters.
GitOrigin-RevId: 5a12837a0d34a09a228efe62b6ed9593bb1c7124
2020-05-27 17:58:54 +03:00
levlam
d687f0b3fe Sort dialogs in DialogFilter.
GitOrigin-RevId: d12a0d5274592ec3ada5fe5da2c2c172a7402847
2020-05-27 17:44:13 +03:00
levlam
21e0ab428b Support dialog filters in toggle_dialog_is_pinned.
GitOrigin-RevId: c1fd8eb6c226dc61aefb82a360659d9abb2aeccc
2020-05-27 03:40:30 +03:00
levlam
a615d9e8ad Support folders in set_pinned_dialogs.
GitOrigin-RevId: 064ce6d983fa9eb9c2b5d0203d17af3b7c7ae444
2020-05-27 03:21:24 +03:00
levlam
f9a02d079c Better get_pinned_dialogs_limit behavior for filters.
GitOrigin-RevId: 06926e2b6e6a25e728d64e19a8f33ed9e961106b
2020-05-27 03:05:41 +03:00
levlam
155c933696 Add MessagesManager::check_dialog_filter_limits.
GitOrigin-RevId: 15b11ca0986b4250d02d28637702cb9baba46af4
2020-05-27 03:04:35 +03:00
levlam
2a1c95e63c Add MessagesManager::get_input_dialog_id.
GitOrigin-RevId: f1e4d607f05050c4ec81dc535869a074bdf10ada
2020-05-27 02:29:40 +03:00
levlam
720da27018 Remove secret chats from UpdateDialogFilterQuery before sending it to UpdateDialogFilterQuery.
GitOrigin-RevId: 53d6c31e9f9df932272be2d97448f0953c692123
2020-05-26 19:02:17 +03:00
levlam
bb590be64d Minor improvements.
GitOrigin-RevId: 65206b275680b4b2da5f52c6427643d35e91dec9
2020-05-26 18:14:43 +03:00
levlam
fe78d07130 Improve variable names.
GitOrigin-RevId: 3573d1f8143a75de8148cda0834d792bc1d68d3c
2020-05-26 17:41:35 +03:00
levlam
e3dc7198c5 Add need_dialog_in_filter.
GitOrigin-RevId: 1a9d7bd58e7d660ac148643ed0cd06df7d35b2a3
2020-05-26 16:21:26 +03:00
levlam
d053d46b26 Add get_dialog_filter_folder_ids.
GitOrigin-RevId: fac4106be470b24a273d75bd3564ae7d9740207a
2020-05-26 16:05:59 +03:00
levlam
5e834b4277 Separately limit included server and secret chats in filters.
GitOrigin-RevId: cafa4921181252f31ee2e9d7fd2395016b48c4ca
2020-05-26 15:26:11 +03:00
levlam
ae1db34f44 Minor improvements.
GitOrigin-RevId: 788f6c7cf686489fd54ba20b12a9f670e7b4d04f
2020-05-26 02:46:22 +03:00
levlam
2dba239367 Pass DialogList to send_update_unread_*_count.
GitOrigin-RevId: 92160cf544151a465b767088498bef694a927193
2020-05-26 01:58:06 +03:00
levlam
fa3c14a121 Minor improvements.
GitOrigin-RevId: b1edea4f5326e0cefe3966415c7451afa95255d8
2020-05-26 01:50:56 +03:00
levlam
f0aaa7e81a Init pinned dialog ids in MessagesManager::add_dialog_filter.
GitOrigin-RevId: bc93ef811a5674db23900a541b2a57ca17c855fa
2020-05-26 01:41:30 +03:00
levlam
7f1212daab Delete dialog list in MessagesManager::delete_dialog_filter.
GitOrigin-RevId: 03683ac4cc2d5f545a7b433607861bdae7221179
2020-05-26 01:34:15 +03:00
levlam
ff6cb65a74 Add dialog_list in add_dialog_filter.
GitOrigin-RevId: b5984c15e0577168e88198071300a803e5d1580e
2020-05-26 01:07:30 +03:00
levlam
055ab9dc1b Add update_list_last_pinned_dialog_date.
GitOrigin-RevId: a60f17f5cb192caeecbeb9525f0455381066aee6
2020-05-26 00:47:26 +03:00
levlam
76fd42ac12 Add separate save_dialog_filters.
GitOrigin-RevId: d624510ea25882c204a31088d85344f0e80f4d8c
2020-05-25 23:52:43 +03:00
levlam
d85dd48101 Store server dialog filters separately.
GitOrigin-RevId: 30c0da52c254008ab17e3be0b6707cd0678a87ec
2020-05-25 22:31:12 +03:00
levlam
8bb76ff0e9 Simplify MessagesManager::DialogFiltersLogEvent.
GitOrigin-RevId: c2d6c80012e6ff7c401f00c7c9b53c12b6765431
2020-05-25 12:34:41 +03:00
levlam
139a7da664 Use new store/parse for vector.
GitOrigin-RevId: 8ac8567515d1c994deb11be75d4a299679c46ac3
2020-05-25 02:48:57 +03:00
levlam
96db150b4b Do not try to save unread count just after loading.
GitOrigin-RevId: 63ac7ebd4f04f3705fec95a9c394eb70b238dc57
2020-05-22 19:20:50 +03:00
levlam
17c68176c5 Fix moving dialog between folders.
GitOrigin-RevId: 427e3cd0738420ce68f1ed30b54693bced5b9877
2020-05-22 19:11:03 +03:00
levlam
400959989b Fix first chat loading.
GitOrigin-RevId: 606bbb51a4ef9f49bc94ed869c7a901a3b238f58
2020-05-22 18:26:30 +03:00
levlam
a619ff4b87 Call update_dialog_lists when a dialog can move in or out filter list.
GitOrigin-RevId: 58af40a3a37797c1b9f84c7db4a1dba20fda513f
2020-05-22 03:09:37 +03:00
levlam
0edc0721ef Add td_api::chatListFilter.
GitOrigin-RevId: 4682d96fbaa160f1af9213d65c99c67de4d1764e
2020-05-22 01:19:28 +03:00
levlam
f96714b254 Use get_dialog_list_folder_ids.
GitOrigin-RevId: c2685f208b329c1fadb4c4fc467b432edff95a86
2020-05-21 20:07:37 +03:00
levlam
090ef866bd Add DialogListId.
GitOrigin-RevId: e3dd3fb5065e18d087d733e1f537e92119e6f234
2020-05-21 19:39:34 +03:00
levlam
563d6e893c Split DialogList to DialogList and DialogFolder.
GitOrigin-RevId: 2eeae3f758674ee36e6a5b98e5b2110e1ea98f73
2020-05-21 04:40:04 +03:00
levlam
e8e81923ac Merge dialogs from all dialog list folders.
GitOrigin-RevId: d0477a27aeb1d18b289c0979a1eb5f37c5f7f826
2020-05-21 04:15:27 +03:00
levlam
0ea6ebd1e4 Add MessagesManager::get_dialog_list_folder_ids.
GitOrigin-RevId: 9f32a65eebec47964f9222a4bb5fd0e1221c492f
2020-05-21 03:48:54 +03:00
levlam
b1a6bf42eb Load dialog list in all folders of the list.
GitOrigin-RevId: aa89d31dcae77b6e43a2b025471034a586fbf4e3
2020-05-21 03:39:45 +03:00
levlam
052f65d8ca Traverse all needed folders when recalculating unread count.
GitOrigin-RevId: e7ad1caa32359e36d509f7137ed964e6b69d415e
2020-05-21 02:18:13 +03:00
levlam
f093539db9 Add is_dialog_in_list.
GitOrigin-RevId: 502234e37450e97184811f05d0d86dcd5b7780be
2020-05-20 03:10:30 +03:00
levlam
4835bebc3c Separate last_dialog_date to list_last_dialog_date and folder_last_dialog_date.
GitOrigin-RevId: 46b3cd269a98aac677a4c4b6b504bac6cf435aef
2020-05-20 03:04:52 +03:00
levlam
4cafe567dc Remove checks unneeded after Main and Archive chat list are always created.
GitOrigin-RevId: b09c1806fea10ef31fb7d4d9e3baf818e896506f
2020-05-19 17:38:30 +03:00
levlam
1eb7663769 Add limit on chat filter length.
GitOrigin-RevId: 33e627f9792acc429500dd3bdecce6fb4c50e4c4
2020-05-19 14:30:25 +03:00
levlam
ffb9dd2c6c Add chat_list to toggleChatIsPinned.
GitOrigin-RevId: ffc8a124677f22f8367009e006a4f1ad17953f22
2020-05-19 04:21:50 +03:00
levlam
a8e570fd65 Add td_api::getRecommendedChatFilters.
GitOrigin-RevId: d5f56357448c9f13154b5dead09cbd73ecf01e90
2020-05-19 04:03:15 +03:00
levlam
0d520e25be Add private load_dialog_filter.
GitOrigin-RevId: 9bdee3788d0bbe1c8cce1624df4945b1fcec3b3a
2020-05-19 03:02:05 +03:00
levlam
7fccd7ba7c Add td_api::reorderChatFilters.
GitOrigin-RevId: 33fe529db5e96b6dfc15fc86b1b635fb412091b2
2020-05-19 02:41:07 +03:00
levlam
7970c9356a Never add duplicate dialogs to filter.
GitOrigin-RevId: d708e60b6712610e27eff66c58a0574aa2cf5442
2020-05-19 01:23:13 +03:00
levlam
d2b53fc023 Add td_api::deleteChatFilter.
GitOrigin-RevId: ceb3700d72271c6b570d258f6cf5e46f50d80b07
2020-05-19 01:06:24 +03:00
levlam
49ccb05176 Add td_api::editChatFilter.
GitOrigin-RevId: 51af78e8079dbb89421cdfbd81d4e37b10d95f03
2020-05-19 00:47:34 +03:00
levlam
d1bb70820a Add DialogFilter::get_dialog_filter.
GitOrigin-RevId: 0e8e6c5a8a4457c72a5e0c647288bdfef1d99d16
2020-05-18 22:31:22 +03:00
levlam
cc77e7e9ca Add td_api::createChatFilter.
GitOrigin-RevId: 4c3fa89cae21b1db3643cfe7640d8ef1043b99f9
2020-05-18 22:26:44 +03:00