* feat: Menu redesign
* Add bottomsheet
* Handle default peek height
* Smooth out setting peek height
* Move contacts prep to util
* Dialog layout tweaks
* Contact grouping tweaks
* Add new message dialog
* Add public key input delegate
* Add create group dialog
* Add join community dialog
* Handle dialog back navigation
* Enter community url tab tweaks
* Scan QR code tab refactor
* Scan qr code refactor
* Direct and community tabs refactor
* Add session id copy context menu item
* Set dialog background colours
* Set full dialog background colour
* Minor tweaks
* Add closed group contact search
* Cleanup
* Add content descriptions
* Resize community chips
* Fix new conversation screen paddings
* Fix fade in/out of join community screen
* Prevent creating conversation with empty public key
* Resize and position create group loader
* Fix back nav after creating direct message conversation
* Fix inter-screen transitions
* Fix new conversation background colours
* Fix background colours
* Rename contact list header for clarity
* Bug fixes
* Enable scrolling of Enter Session ID tab of the new message dialog
* Minor refactor
* Switch to child fragment manager
* Fix member search on create group screen
Co-authored-by: charles <charles@oxen.io>
* refactor: Migrate home screen to data binding
* Add view binding
* Migrate ConversationView to view binding
* Migrate ConversationActivityV2 to view binding
* View model refactor
* Move more functionality to the view model
* Add ui state events flow
* Update conversation item bindings
* Update profile picture view bindings
* Replace Kotlin synthetics with view bindings
* Fix qr code fragment binding and optimize imports
* View binding refactors
* Make TextSecurePreferences an interface and add an implementation to improve testability
* Add conversation repository
* Migrate remaining TextSecurePreferences functions into the interface
* Add unit conversation unit tests
* Add unit test coverage for remaining view model functions