Source on GitHub
Testing and Issues
You can test this app and submit issues during the testing period of the Android Contest 2021 contest.
Entries with serious issues will not be able to win the contest, but even minor issues might be important for overall results.
User story: it is hard to realize which messages are selected if they don't fit in one screen. So it would be helpful to have a possibility to check selected messages.
Proposal: roll selected messages one by one clicking the widget showing selected messages amount.
1. If you enter to a chat having unread messages and scroll to a pinned message, you don't have an opportunity going back.
2. If you flow through replies on messages you don't have an opportunity going back the same way.
3. You can combine #1 and #2 in different ways
1. Store all user message jumps and allow going back by clicking page down button.
2. Clear back stack for some reason (scroll to the message list bottom, unordinary jumps, etc).
3. Allow clean stack with scroll to the message list bottom by page down button long click.
Steps to reproduce:
1. Delete saved messages chat
2. Go to a chat and select a message or messages
3. Click the forward button. You should stay on the chat list with out any actions.
4. Wait before a new message in a chat
5. Select saved messages chat for forwarding
6. Sometimes the saved messages chat goes to the chat list bottom and has got incorrect rendering
Saved messages chat should be ordered by time
User story: using a new camera API instead of deprecated one
1. Move all calls to explicit types to interfaces
2. Use camera2 API if platform API version high enough (at least 21)
3. Leave all code outside the camera package as the same as possible with the same functionality
4. Easy way to add a new camera API (e.g. CameraX) - just implement 3 interfaces.
1. Time to time a shot takes much time. The reason is long AE/AF converging process (actually google camera app has the same behavior). There should be a timeout for capturing time.
Tested on devices: Pixel 3 (API 30), Samsung Galaxy 8 (API 26), Samsung G350E (API 19)
1. Sometimes instant video recording output is incorrectly cropped. This can reproduced when the phone is lying horizontally. Also stopping instant recording seem to block UI thread.
2. Usual video recording goes with some UI thread blocks