New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
🏆 Telegram X Android Competition: Round 1. Reactions #154
Comments
Developers wishing to discuss the task and potential implementations are welcome to join https://t.me/tgx_dev chat. P.S. Whoever else wishing to contribute Telegram X is welcome too. |
Why isn't this client written in Kotlin? Makes code a bit nicer to read, gets rid of most NPEs und has somesyntactic sugar :) |
Telegram X was created around 2014-2015, several years before Google announced first-class support for Kotlin. Telegram X uses Kotlin for some recent code though, e.g.: https://github.com/TGX-Android/Telegram-X/tree/main/vkryl |
Whoever participating in the contest, make sure to not miss implementation suggestions in https://t.me/tgx_dev that will be posted with They will not be the requirement in any kind – just suggestions that might help getting the idea and plan on completing some parts of the contest task. |
Icons required by the mockups are baseline_favorite and baseline_visibility in To create an icon in the missing dimension just create a copy, edit Circular checkbox is SimplestCheckBox — used in most parts of the app and you may find a lot of samples by checking out its usages. For rectangular checkbox you would need a CheckBoxView. You most likely do not need to create it directly, but to use TYPE_CHECKBOX_OPTION item (check out its usages in the app for examples). Such item should be passed to SettingsAdapter instance (most commonly used by RecyclerViewController). However, patching |
Some clarification on a grid reactions selector screen. Behavior of the reactions settings from manage chat screen:
Behavior of quick reactions screen:
Below some additional animations examples for better understanding of the screens and intended animations. Copy from https://t.me/tgx_dev/807 |
Submissions are closed and judges are now evaluating the results. Here's the list of 11 participants: #188, #187, #180, #177, #182, #184, #179, #186, #183, #189, #185. All APKs can be found in this channel: https://t.me/tgx_prs/148. Everyone is welcome to leave feedback and bug reports to developers inside of corresponding PR. |
There will be no contest.com pages for this particular contest, right? |
Soon they will be available there too. |
There is: https://contest.com/android-x-r1 |
I think is nice so we should keep calm and carry on |
Check out the results for the first round: 🏆 Telegram X Android Competition, Round 1 Results Keeping this issue open until the 1st place will be determined. |
can't see from discussion - can reactions be fully disabled on client on winner's PR? it's the most annoying feature ever existed in telegram and i'm chosing alt clients where it can be disabled. upd. inability to disable reactions client-wise - the second most annoying feature ever existed. |
* Telegram X Android Competition: Round 1 - main commit * Smallest Fix) * add vkryl changes * Update submodule * Adding modified vkryl files to the repository * Rejecting changes in vkryl android submodule * fix color in reaction badge * Revert gitmodules file * Quick reactions update + Premium features * Reactions preloading on starting app * Haptic feedbacks * Disable Reactions to a Sponsored Post * Fixes - Animate reaction button bubble * Support TextSize settings + flat mode reactions mockup * Fix GifThread crashes? * Fix design + fix crashes * Quick reaction fixes * Reactions bottom sheet Improvements * Reactions bottom sheet Improvements * Disable message list animator * Quick gesture improvements * Fix bottom sheet jumping * Reaction Bubble Improvements * Reaction button improvements * Improving mockup compliance * Change toast to tooltip * some fixes * Improving the fidelity of animations * Bottom sheet improvements + bugfixes * Round video reaction fix? * - * fix quick buttons * - * Round video fix * Unread reactions fixes * Update app/src/main/java/org/thunderdog/challegram/unsorted/Settings.java Co-authored-by: Vyacheslav <6242627+vkryl@users.noreply.github.com> * 1 * Fix phantom buttons * Fixes * Bottom sheet fix? + overlay translation fix * fix for fix * Remove log output * Color fixes * improving the accuracy of full-screen animation * canGetAddedReactions fix * Update app/src/main/java/org/thunderdog/challegram/navigation/ViewPagerTopView.java Co-authored-by: Vyacheslav <6242627+vkryl@users.noreply.github.com> * Update app/src/main/java/org/thunderdog/challegram/unsorted/Settings.java Co-authored-by: Vyacheslav <6242627+vkryl@users.noreply.github.com> * Update app/src/main/java/org/thunderdog/challegram/unsorted/Settings.java Co-authored-by: Vyacheslav <6242627+vkryl@users.noreply.github.com> * Thread safety fix * Update Paints.java * archive fix * Theme fix * Update TGReactions.java * Update MessageOptionsPagerController.java * Update MessageOptionsPagerController.java * bugfixes * Bottom shit fix * Bottom sheet fixes 2 * Bottom sheet fixes 3 * Bottomsheet fixes 3 * Update PopupLayout.java * scroll fix? * Add visibleIfZero option to Counter class * Layout accuracy improvement * Fix width if bubble is stretched * Update TGMessage.java * Update ReactionsSelectorRecyclerView.java * Update TGMessage.java * Scroll fix 2 * Start animation position fix * Fixes * Scroll fixes * - * Update MessageView.java * Update MessagesManager.java * Update MessageView.java * Scroll fix? * Update ComplexReceiver.java * Update MessagesManager.java * Update MessagesManager.java * Fixes * Fixes * Update MessagesManager.java * Update TGMessage.java * fixes * Optimizations * Add timeExpandAnimation * Update TGMessage.java * Update TGMessage.java Co-authored-by: Vyacheslav <6242627+vkryl@users.noreply.github.com>
Thanks everyone who participated in this contest. PR #185 was chosen to be rolled out to users and merged in 9224e8b commit. Wanted to also note #183 who did a great job implementing 60fps reactions playback and better reaction animation curve ("fly out" and "land" animation), which can be tested in this APK: https://t.me/tgx_prs/297. The main reasons #185 was chosen over #183 is that it implemented animations fully (such as animating all bubble width and height changes when reaction is set or unset, better buttons sorting, etc), had less frame drops and freezes on low-end devices (especially in channels with extensive amount of reactions set) and didn't override much of app's basic components only for the code style preferences (which is just an addition to the previous points, but not the key reason why it was chosen). Follow https://t.me/contest for the final result announcement and any new upcoming contests. |
* Telegram X Android Competition: Round 1 - main commit * Smallest Fix) * add vkryl changes * Update submodule * Adding modified vkryl files to the repository * Rejecting changes in vkryl android submodule * fix color in reaction badge * Revert gitmodules file * Quick reactions update + Premium features * Reactions preloading on starting app * Haptic feedbacks * Disable Reactions to a Sponsored Post * Fixes - Animate reaction button bubble * Support TextSize settings + flat mode reactions mockup * Fix GifThread crashes? * Fix design + fix crashes * Quick reaction fixes * Reactions bottom sheet Improvements * Reactions bottom sheet Improvements * Disable message list animator * Quick gesture improvements * Fix bottom sheet jumping * Reaction Bubble Improvements * Reaction button improvements * Improving mockup compliance * Change toast to tooltip * some fixes * Improving the fidelity of animations * Bottom sheet improvements + bugfixes * Round video reaction fix? * - * fix quick buttons * - * Round video fix * Unread reactions fixes * Update app/src/main/java/org/thunderdog/challegram/unsorted/Settings.java Co-authored-by: Vyacheslav <6242627+vkryl@users.noreply.github.com> * 1 * Fix phantom buttons * Fixes * Bottom sheet fix? + overlay translation fix * fix for fix * Remove log output * Color fixes * improving the accuracy of full-screen animation * canGetAddedReactions fix * Update app/src/main/java/org/thunderdog/challegram/navigation/ViewPagerTopView.java Co-authored-by: Vyacheslav <6242627+vkryl@users.noreply.github.com> * Update app/src/main/java/org/thunderdog/challegram/unsorted/Settings.java Co-authored-by: Vyacheslav <6242627+vkryl@users.noreply.github.com> * Update app/src/main/java/org/thunderdog/challegram/unsorted/Settings.java Co-authored-by: Vyacheslav <6242627+vkryl@users.noreply.github.com> * Thread safety fix * Update Paints.java * archive fix * Theme fix * Update TGReactions.java * Update MessageOptionsPagerController.java * Update MessageOptionsPagerController.java * bugfixes * Bottom shit fix * Bottom sheet fixes 2 * Bottom sheet fixes 3 * Bottomsheet fixes 3 * Update PopupLayout.java * scroll fix? * Add visibleIfZero option to Counter class * Layout accuracy improvement * Fix width if bubble is stretched * Update TGMessage.java * Update ReactionsSelectorRecyclerView.java * Update TGMessage.java * Scroll fix 2 * Start animation position fix * Fixes * Scroll fixes * - * Update MessageView.java * Update MessagesManager.java * Update MessageView.java * Scroll fix? * Update ComplexReceiver.java * Update MessagesManager.java * Update MessagesManager.java * Fixes * Fixes * Update MessagesManager.java * Update TGMessage.java * fixes * Optimizations * Add timeExpandAnimation * Update TGMessage.java * Update TGMessage.java Co-authored-by: Vyacheslav <6242627+vkryl@users.noreply.github.com>
🏆 Telegram X Android Competition: Round 1. Reactions
Prize fund for Round 1: $25,000.
Deadline: 23:59 on July 2nd (Dubai time).
Who can participate: Everyone.
Results announcement: July 12th, 2022.
The Task is to implement message reactions identical to the demo materials of
TGX Reactions.zip
attached below, including all the animations, layouts, and other visual effects:Your pull request should support:
• Press and hold the specific reaction button for a quick view.
• Open the 'Reacted' list to show a multi-tab interface, with individual sections for each reaction emoji. Users should be able to switch tabs via a swipe gesture.
Evaluation Criteria:
Submissions:
Contestants will be able to submit their entries to @ContestBot at the end of this round. We will further clarify the submission instructions closer to the deadline.
P.S. For the next stage, we expect to only invite contestants who achieved 🥉 3rd place or higher in this round.
Contents of
TGX Reactions.zip
:Designs (41 images)
Videos (5 files)
Bottom.Sheet.with.Reactions.mp4
Quick.Reaction.Swapping.mov
Quick.Reaction.mp4
Reacting.from.Bottom.Sheet.mp4
Reaction.Long.Press.mp4
The text was updated successfully, but these errors were encountered: