Commit Graph

1291 Commits

Author SHA1 Message Date
jubb aa892ba8ca Merge remote-tracking branch 'upstream/master' into rtc_calls
# Conflicts:
#	app/build.gradle
2022-01-24 10:05:35 +11:00
Harris c70de069a4 fix: checking invalid profileKey lengths on message receive and retrieve profile avatars 2022-01-23 00:33:38 +11:00
Ian Macdonald 46aebb168c
Make the unread message count 4 digits instead of 2. (#827)
* 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.
2022-01-18 22:32:20 +11:00
Harris bd5a324ad8
Split image from replies (#779)
* 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
2022-01-18 14:33:04 +11:00
ceokot c2657bb785
feat: Add the option to mark a conversation as read (#816)
* feat: Add the option to mark a conversation as read

Fixes #789

* Extract and share logic to mark all as read

* Fix merge conflict issues
2022-01-16 19:02:39 +02:00
ceokot c113a447cf
refactor: Use view binding to replace Kotlin synthetics (#824)
* 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
2022-01-14 07:56:15 +02:00
ceokot 366b5abdc8
Enable media gallery fullscreen mode (#813)
* 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
2021-12-20 09:38:27 +02:00
jubb fa4f0809ac fix: bug fixes for self-send answer / hangup messages 2021-12-20 14:30:46 +11:00
jubb 49f2c5f6f0 fix: glide in update crash 2021-12-20 11:56:54 +11:00
jubb 045d1f5027 Merge remote-tracking branch 'upstream/dev' into rtc_calls
# Conflicts:
#	app/build.gradle
2021-12-20 09:38:13 +11:00
jubb 8ea0690e3a fix: remove sh-rHR strings due to localisation error 2021-12-17 15:07:53 +11:00
Harris 164937aaa3
Remove the read and typing indication on startup (#812)
* fix: remove the read and typing indication

* fix: set default value in preferences_app_protection.xml
2021-12-17 10:19:32 +11:00
Harris 28b97e45cc
Remove ID copy interactions (#811)
* 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
2021-12-16 06:47:26 +02:00
ceokot 44f5684b21
feat: Update open group avatars periodically (#807)
* feat: Update open group avatars periodically

* Updated timestamp

* Existing job check

* Refresh avatar on the conversation

* Remove println statement

* Update profile picture on recipient modified event
2021-12-15 08:11:55 +02:00
Harris 5601da0e22
fix: replace alpha update with isVisible to not intercept tap from message gestures (#809) 2021-12-15 08:01:35 +02:00
jubb b4769926ca refactor: remove whitespace 2021-12-15 15:32:13 +11:00
jubb 81ff600114 Merge remote-tracking branch 'upstream/dev' into rtc_calls 2021-12-15 11:54:41 +11:00
Harris 34569ff1da
build: update translations with latest values (#808) 2021-12-15 10:45:25 +11:00
jubb cfbe09d106 fix: remove wrap content for renderers and look more at recovering from network switches 2021-12-14 16:21:23 +11:00
jubb b0d1afdd72 fix: text color uses overridden style value 2021-12-14 11:12:32 +11:00
jubb 7eae1404c5 feat: add silenced notifications for call notification builder. check pre-offer and connecting state for pending connection 2021-12-13 16:53:42 +11:00
jubb 6a5f12959e Merge branch 'dev' into rtc_calls
# Conflicts:
#	app/src/main/res/values/strings.xml
2021-12-13 13:18:17 +11:00
ceokot 15f5ac10ec
feat: Add conversation pinning (#806)
* feat: Add conversation pinning

* Update pinned conversation icon

* Update pinned conversation column name
2021-12-10 10:18:56 +11:00
jubb f1783b3f80 refactor: use answerCall instead of manual intent building again 2021-12-08 17:44:23 +11:00
jubb 9c21cfa7b8 fix: remove end call from busy 2021-12-08 17:30:05 +11:00
jubb 38a8738674 fix: various bug fixes for calls 2021-12-08 17:29:10 +11:00
jubb 44b2a9d412 refactor: replace timeout schedule with a seconds count 2021-12-08 11:23:35 +11:00
jubb 681c195826 Merge remote-tracking branch 'upstream/dev' into rtc_calls 2021-12-08 10:16:33 +11:00
jubb 522c5cd520 refactor: prevent calls from non hasSent participants 2021-12-07 16:09:58 +11:00
ceokot c25795fa53 fix: Include empty open groups in the conversation list query 2021-12-07 06:39:31 +02:00
jubb 75efd7b21a refactor: add wantsToAnswer ability in pre-init for fullscreenintent 2021-12-07 15:17:28 +11:00
jubb ef79eb4bb2 refactor: aspect ratio fit preserved 2021-12-07 13:36:34 +11:00
jubb ba590909df fix: crash on view with a parent already attached 2021-12-07 11:32:58 +11:00
jubb 02feba25d2 refactor: wrapper use corrected session description, set title to recipient displayName, indicate session calls 2021-12-07 11:10:17 +11:00
jubb ca0f8c5d7d Merge remote-tracking branch 'upstream/dev' into rtc_calls
# Conflicts:
#	app/src/main/java/org/thoughtcrime/securesms/conversation/v2/messages/ControlMessageView.kt
2021-12-07 09:52:58 +11:00
jubb 2966dc00ab refactor: testing out the full screen intents 2021-12-06 18:11:26 +11:00
ceokot ba51102b6d Add message date break extension function to reduce duplication 2021-12-06 06:34:32 +02:00
ceokot a966623db2 Add conversation constants file 2021-12-06 06:07:46 +02:00
jubb acb4f1d466 refactor: change the call time to update every second 2021-12-06 09:35:33 +11:00
ceokot bfe91427ab fix: Add date breaks on control messages 2021-12-03 08:50:19 +02:00
jubb c4fe558673 feat: adding a call time display 2021-11-30 17:35:12 +11:00
jubb c31d8d0e74 refactor: replace call icons 2021-11-29 16:16:10 +11:00
jubb f9b560d3d5 refactor: move start ringer and init of audio manager to CallManager.kt and string fix up 2021-11-29 11:57:27 +11:00
jubb 644213ea32 refactor: more bluetooth improvements 2021-11-26 17:12:30 +11:00
jubb 787fefc237 refactor: change the call logos in control messages 2021-11-25 17:23:48 +11:00
jubb e8400c375b refactor: set the buttons to match iOS in terms of enable disable and colours 2021-11-25 16:58:01 +11:00
Harris a3dfd1dd0c feat: add first call notification 2021-11-24 17:10:20 +11:00
Harris e876dc3ebd feat: process microphone enabled events and remove debuggable from build.gradle 2021-11-24 16:04:50 +11:00
Harris 2ae2d1610f feat: add a hangup via data channel message 2021-11-24 14:18:15 +11:00
Harris d6823d88e6 refactor: handle in-thread call notifications better and replace deny button intent with denyCallIntent instead of hangup 2021-11-24 11:57:23 +11:00
jubb f05487f925 feat: adding call messages for incoming/outgoing/missed 2021-11-23 17:59:02 +11:00
jubb 5fbace70b5 feat: handle discarding pending calls from linked devices 2021-11-22 16:58:28 +11:00
Harris 6100111b3b refactor: discard offer messages from non-matching pre-offers we are already expecting 2021-11-19 16:09:11 +11:00
Harris 8e56f76fc1 feat: add pre-offer information and action handling in web rtc call service 2021-11-19 16:04:28 +11:00
Harris 276f808ca3 fix: bluetooth auto-connection and re-connection fixes, removing finished todos, allowing self-send call messages for deduping answers 2021-11-18 16:19:09 +11:00
Harris 23e644150a fix: incoming ringer fix on receiving call, call notification priorities and notification channel update 2021-11-17 15:46:45 +11:00
Harris ad9cd8b231 fix: don't display call option in conversation and don't show notification if option not enabled 2021-11-17 14:22:33 +11:00
Harris 98a50cbf69 feat: add call related permissions and more network handover tests 2021-11-17 12:51:15 +11:00
jubb bf74483b9f feat: add fixes to bluetooth and begin the network renegotiation 2021-11-15 18:02:55 +11:00
jubb b6c53b4964 feat: updating call layout 2021-11-12 17:07:39 +11:00
jubb 3d0e5541d0 feat: ringers and better state handling 2021-11-12 12:21:05 +11:00
jubb 3684457280 fix: fixing call connect flows 2021-11-10 17:44:23 +11:00
jubb 99b6a38b90 feat: call establishing and displaying 2021-11-10 11:57:03 +11:00
jubb 2e973146a3 feat: some connection and service launching / ring lifecycle 2021-11-09 17:15:22 +11:00
jubb 3e4bab678b fix: add timestamp to incoming call 2021-11-08 17:36:37 +11:00
jubb a0e604dbaf feat: hooking up calls and fixing broken dependencies and compile errors 2021-11-08 17:32:25 +11:00
jubb 3755315b4c feat: adding remainder of basic functionality to services and CallManager.kt 2021-11-05 16:35:40 +11:00
jubb f069d35b14 feat: more commands handled, adding lock manager and bluetooth permissions 2021-11-05 14:36:25 +11:00
jubb de4d8e9be4 feat: adding more command handlers in WebRtcCallService.kt 2021-11-04 17:14:07 +11:00
jubb 5cff5ffb45 feat: adding more lifecycle vm and callmanager / call service functionality 2021-11-04 12:07:06 +11:00
jubb 2e3f46ff9f feat: implementing more WebRtcCallService.kt functions and handlers for actions as well as lifecycle 2021-11-03 17:09:21 +11:00
jubb 1af9b8ba46 feat: plugging CallManager.kt into view model and service, fixing up dependencies 2021-10-29 16:41:01 +11:00
jubb 71bb04cb34 refactor: moving call code around to service and viewmodel interactions 2021-10-28 17:06:14 +11:00
jubb a3cfd7f03b feat: update kotlin and add in call view model and more management functions 2021-10-28 12:08:02 +11:00
jubb ea9b35f229 Merge branch 'dev' into rtc_calls
# Conflicts:
#	app/build.gradle
2021-10-28 10:14:26 +11:00
jubb f2f906fd3e refactor: closed groups delete for yourself and handle unsend request if it's from yourself or author now 2021-10-27 17:26:44 +11:00
jubb 7ed29cc7d8 feat: audio manager call service boilerplate 2021-10-27 15:50:00 +11:00
jubb 40d9386a81 feat: adding ringers and more audio boilerplate 2021-10-27 12:05:09 +11:00
Harris cbfabdd0a7 feat: add call manager and more static intent building functions for WebRtcCallService.kt 2021-10-26 17:12:25 +11:00
Harris 40cca532c2 feat: adding call service functionality and permissions for calls 2021-10-25 18:18:47 +11:00
Harris 0d62057de3 refactor: playing around with deps and transport types 2021-10-22 13:11:23 +11:00
Harris b089da82c5 feat: add stun and turn 2021-10-22 09:48:32 +11:00
Harris 97de286896 feat: update to utilise call ID 2021-10-22 08:52:57 +11:00
Harris 50c2ac60d7 Merge remote-tracking branch 'upstream/dev' into rtc_calls
# Conflicts:
#	app/build.gradle
#	app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java
#	app/src/main/java/org/thoughtcrime/securesms/home/HomeActivity.kt
#	app/src/main/java/org/thoughtcrime/securesms/jobs/AvatarDownloadJob.java
#	app/src/main/java/org/thoughtcrime/securesms/jobs/RetrieveProfileAvatarJob.java
2021-10-21 14:19:20 +11:00
Harris 00d6ce76b5 fix: contacts without stored profile information display similar to closed groups for unsend 2021-10-19 11:13:15 +11:00
Harris 0b062074b1 feat: switch unsend flag 2021-10-19 10:33:15 +11:00
Harris f87fb2b9bb
Merge pull request #767 from hjubb/incognito_keyboard
Use incognito keyboard based on privacy preference in app
2021-10-13 22:33:52 +00:00
Harris 0755f0b953 fix: conversationListNotificationHandler initialized in getter if null and removed from onCreate 2021-10-12 14:32:06 +11:00
Harris 13dc28231d fix: respect the incognito flag in the user's preferences 2021-10-11 14:38:10 +11:00
Harris e8a2bbe76d fix: saving log external instead of session blob 2021-10-08 16:43:45 +11:00
Harris a55c9a969b refactor: replace settings string for sharing logs, change extension to .txt to make things easier 2021-10-08 14:01:13 +11:00
Harris 37f9ef3b1a Merge branch 'dev' into restore_log_report
# Conflicts:
#	app/build.gradle
#	app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java
2021-10-06 14:57:51 +11:00
Harris 678d8094a1
Merge pull request #739 from ianmacd/pr1
Display the service node's IP address after its country.
2021-10-06 02:43:23 +00:00
Harris 91b876589a refactor: move db module init before injection and replace ApplicationContext db component access to static function to get the component 2021-10-05 10:58:02 +11:00
Harris d130ba5432 fix: oom from too many db instances, adding singletons to limit object creation 2021-10-04 19:02:20 +11:00
Harris 0516526923 refactor: use hilt to provide DB instead of our own factory, inject it in some places where possible 2021-10-04 18:51:19 +11:00
Harris e036344c76 refactor: performance improvements in batch message processing, synchronized cache access and audible message notifications.
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
2021-09-29 15:29:24 +10:00
Harris b853015a2c refactor: removing and replacing dagger 1 dep with android hilt 2021-09-28 11:00:54 +10:00
Harris c21a75c880 feat: finish share log dialog 2021-09-23 15:47:43 +10:00
Harris a295cc384c feat: add share logs dialogs into settings activity 2021-09-23 13:49:32 +10:00