* feat: modifying search functionalities to include contacts
* feat: add global search UI input layouts and color attributes
* feat: add global search repository and model content
* feat: adding diff callbacks and wiring up global search vm to views
* feat: adding scroll to message, figuring out new query for recipient thread search
* feat: messing with the search and highlighting functionality after wiring up bindings
* fix: compile error from merge
* fix: gradlew build errors
* feat: filtering contacts by existing un-archived threads
* refactor: prevent note to self breaking, update queries and logic in search repo to include member->group reverse searches
* feat: adding home screen new redesigns for search
* feat: replacing designs and adding new group subtitle text
* feat: small design improvements and incrementing gradle build number to install on device
* feat: add scrollbars for search
* feat: replace isVisible for cancel button now that GlobalSearchInputLayout.kt replaces header
* refactor: all queries are debounced not just all but 2 char
* refactor: remove visibility modifiers for cancel icon
* refactor: use simplified non-db and context related models in display, remove db get group members call from binding data
* fix: use threadId instead of group's address
* refactor: better close on cancel, removing only yourself from group member list in open groups
* refactor: seed view back to inflated on create and visibility for empty placeholder and seed view text
* refactor: fixing build issues and new designs for message list
* refactor: use dynamic limit
* refactor: include raw session ID string search for non-empty threads
* fix: build lint errors
* fix: build issues
* feat: add in path to the settings activity
* refactor: remove wildcard imports
* refactor: use constraints in quote view
* refactor: layouts for quotes fixed
* fix: use the current text, which may be the type of attachment instead of the quote body
* Make the unread message count 4 digits instead of 2.
99+ unread messages can be reached within an hour in some busy open
groups. 4 digits allow for much more accurate reporting.
* Improve appearance of unread counter by using rounded rectangle.
* refactor: VisibleMessageContentView.kt re-using layouts instead of instantiating every bind to fix alignment and constraint issues for splitting thumbnails and body
* refactor: constraint works for sms only records, adjust other components of the visible message content accordingly
* feat: link previews and quotes now wrap content or align according to media type
* refactor: move back to emojitextview for body
* fix: add some padding at the bottom of the quote
* fix: voice message view not rendering properly
* fix: set visibility to false for each message content view on recycle event
* fix: untrusted attachments
* fix: compile issues and small UI improvement
* 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
* feat: Enable fullscreen mode on the media gallery screen
* Move `fitsSystemWindows` attribute to root view
* Rename for clarity
* Update fullscreen flag
* Set system bars behaviour for api >= 30
* fix: remove selected session ID interactions
* fix: include thread ID in home activity's creation of user details bottom sheet
* refactor: use bundleOf builder instead of old bundle put value methods
Increase audible timeout on DefaultMessageNotifier.java, don't send in-thread notification based on last audible notification.
Create a batch message receive job to handle up to 20 chunked messages at a time per job instead of singular or open group poll amount
Remove synchronized access to recipient cache and replace with a concurrent cache that's lock free from perf tracing monitor contention