5310596cf6c9a09988222fca8dfdb07ab8f7c856
This commit refactors the swipe-to-dismiss gesture and the image sharing logic in the photo viewer. The swipe-to-dismiss animation is now smoother and more reliable, using `Animatable` instead of `animateFloatAsState`. The background dimming effect has also been improved to be more responsive to the drag gesture. Additionally, the responsibility for creating the share `Intent` has been moved from the composable screen into the `PhotoViewViewModel`, improving the separation of concerns. Key changes: - Replaced `animateFloatAsState` with `Animatable` for smoother swipe-to-dismiss animations. - Improved the alpha calculation for the background during the drag gesture. - Moved the creation of the share `Intent` into the `PhotoViewViewModel`. - Simplified the drag-handling logic by removing local state management from the composable.
fast-messenger
Unofficial messenger for russian social network VKontakte
Functionality
- Authorization
- 2FA support
- Resend otp
- Captcha support
- Support for new authorization with service and refresh tokens
- Handle token expiration
- Ability to export/import tokens
- 2FA support
- Conversations list
- Pagination
- Manual refresh
- Pin & unpin conversations
- Delete conversations
- Archive
- View archived conversations
- Archive & unarchive conversations
- Friends list
- Sort alphabetically, by priority or random
- Separate tab with only friends who are online
- Settings screen
- TODO
- Chat screen
- Pagination
- Manual refresh
- Message bubbles
- Text
- Date
- Read status
- Edit status
- Sending status
- Message's attachments
- Photo
- Video
- Audio
- File
- Link
- Sticker
- Reply
- Forwarded messages
- Wall post
- Comment in wall post
- Poll
- TODO
- Send messages
- Pinned message
- Pin & unpin messages
- Reply to message
- Swipe to reply to message
- Delete message
- Select multiple messages
- Delete
- Forward
- Forward in current chat
- Send attachments to chat
- TODO
- Chat materials (attachments)
- Separate tabs for each attachment type
- Pagination
- Manual refresh
- View attachments
- Open photo
- Internal viewer
- External viewer
- Open video in external player
- TODO
- Open photo
- Separate tabs for each attachment type
- Caching
- TODO
Languages
Kotlin
100%