* Re-scroll to bottom after click on OG msg of reply fixed & message highlighting added to match iOS
* Fixing UI issues
Making sure the glow isn't clipped
Scrolling past the quoted view so that it isn't right at the top
* Consolitate recycler view scroll & highlight functionality into a single scrollListener
* Fix comment typo
* Scroll past targeted messages by a given offset in pixels rather than in messages
* Made the linearSmoothScroller lazy and tidied up
* Removed unused property
* Precalculate scroll offset for scroll-target messages
---------
Signed-off-by: alansley <aclansley@gmail.com>
Co-authored-by: alansley <aclansley@gmail.com>
Co-authored-by: ThomasSession <thomas.r@getsession.org>
* Centralising username access
* Centralising username logic
* Removing ContactUtil
* Cleaning up shortString
* Removed address.serialize as toString is the same thing, couple of methods converted to expression-bodied format & added a mock for username-utils to the ConversationViewModelTest class
---------
Co-authored-by: ThomasSession <thomas.r@getsession.org>
Co-authored-by: alansley <aclansley@gmail.com>
* Centralising username access
* Centralising username logic
* Removing ContactUtil
* Cleaning up shortString
* Making sure the name doesn't overflow in a message view
* Using Lazy to avoid dependency cycle
* SES-3303 - proper URL for groups banner
* SES-3301 - fixing display of legacy group control mesasges
* SES-3304 - No admin state dialogs while DEPRECATED
Updated debug menu with confirm dialog when changing deprecation state
* SES-3307 fixing legacy user view
* SES-3308 - not overwritting the last character in group banners
* Using the new API for the photo picker
* Using the modern version of the photo picker
* Proper way to get images
* Sorting folders by recency
* We shouldn't reuse the savedstate but instead rely on our custom caching
* Clean up
* PR clean up
* Filtered any control characters or double-spaces from copied recovery password mnemonic
* Fix typo in comment
* Single char comment alignment adjustment
---------
Co-authored-by: alansley <aclansley@gmail.com>
* Re-did fixing voice message upload duration ONLY - no caching changes at all
* Removed setting interim audio durations in bind and instead store the duration in the unused-for-AudioSlides caption field
* Addressed PR feedback and anti-button-spam measures to prevent the voice recording mechanism getting into a broken state if the user rapidly spams the record voice message button
* Use MediaUtil for duration formatting, prevent double-checking if we can record a voice message, correctly handle durations for lock then send voice messages, and re-adjust text autocompletion
* Removed unused imports
* Cleanup for interim push before large scale refactor
* Minor tidy
* PR comment feedback
* Added TODO comment regarding refactoring voice message logic into the ConversationActivity ViewModel
---------
Co-authored-by: alansley <aclansley@gmail.com>