melod1n 47c1f623f0 Refactor: Introduce video message record mode
This commit refactors the `ActionMode` sealed class into an enum and adds a new `RECORD_VIDEO` state. This allows for distinct actions for recording audio and video messages.

Specifically, the following changes were made:
- Converted `ActionMode` from a sealed class to an enum.
- Added `RECORD_VIDEO` to `ActionMode`.
- Updated `MessagesHistoryInputBar` to:
    - Animate the action button icon change between record modes.
    - Remove the shake animation from emoji, attachment, and mic buttons.
- Updated `MessagesHistoryViewModel` to toggle between `RECORD_AUDIO` and `RECORD_VIDEO` when the action button is clicked in a record mode.
- Added support for displaying `VIDEO_MESSAGE` attachments in `Attachments.kt`, including an animated circular preview.
- Updated `MessageBubble` to render video messages without a background, similar to stickers.
- Added `image` property to `VkVideoMessageDomain` to hold the URL for the video message preview.
- Added a new drawable `rounded_photo_camera_24` for the video record button.
- Updated `VkVideoMessageData` to parse and provide the square preview image URL to the domain model.
2025-08-20 00:31:33 +03:00
2024-08-09 18:10:57 +03:00
2021-02-18 13:53:53 +03:00
2024-07-10 16:12:32 -07:00
2024-08-11 17:40:13 +03:00
2024-07-10 16:12:32 -07:00
2025-03-21 03:13:17 +03:00
2025-03-21 03:13:17 +03:00
2021-02-18 13:53:53 +03:00
2025-03-23 09:22:41 +03:00

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
  • 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
    • 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
  • Caching
    • TODO
S
Description
Unofficial messenger for russian social network VKontakte
Readme GPL-3.0 22 MiB
Languages
Kotlin 100%