Commit Graph

274 Commits

Author SHA1 Message Date
Harris
e1b6bb7e56
Add one on one calls over clearnet (#864)
* feat: adding basic webrtc deps and test activity

* more testing code

* feat: add protos and bump version

* feat: added basic call functionality

* feat: adding UI and flipping cameras

* feat: add stats and starting call bottom sheet

* feat: hanging up and bottom sheet behaviors should work now

* feat: add call stats report on frontend

* feat: add relay toggle for answer and offer

* fix: add keep screen on and more end call message on back pressed / on finish

* refactor: removing and replacing dagger 1 dep with android hilt

* feat: include latest proto

* feat: update to utilise call ID

* feat: add stun and turn

* refactor: playing around with deps and transport types

* feat: adding call service functionality and permissions for calls

* feat: add call manager and more static intent building functions for WebRtcCallService.kt

* feat: adding ringers and more audio boilerplate

* feat: audio manager call service boilerplate

* feat: update kotlin and add in call view model and more management functions

* refactor: moving call code around to service and viewmodel interactions

* feat: plugging CallManager.kt into view model and service, fixing up dependencies

* feat: implementing more WebRtcCallService.kt functions and handlers for actions as well as lifecycle

* feat: adding more lifecycle vm and callmanager / call service functionality

* feat: adding more command handlers in WebRtcCallService.kt

* feat: more commands handled, adding lock manager and bluetooth permissions

* feat: adding remainder of basic functionality to services and CallManager.kt

* feat: hooking up calls and fixing broken dependencies and compile errors

* fix: add timestamp to incoming call

* feat: some connection and service launching / ring lifecycle

* feat: call establishing and displaying

* fix: fixing call connect flows

* feat: ringers and better state handling

* feat: updating call layout

* feat: add fixes to bluetooth and begin the network renegotiation

* feat: add call related permissions and more network handover tests

* fix: don't display call option in conversation and don't show notification if option not enabled

* fix: incoming ringer fix on receiving call, call notification priorities and notification channel update

* build: update build number for testing

* fix: bluetooth auto-connection and re-connection fixes, removing finished todos, allowing self-send call messages for deduping answers

* feat: add pre-offer information and action handling in web rtc call service

* refactor: discard offer messages from non-matching pre-offers we are already expecting

* build: build numbers and version name update

* feat: handle discarding pending calls from linked devices

* feat: add signing props to release config build

* docs: fix comment on time being 300s (5m) instead of 30s

* feat: adding call messages for incoming/outgoing/missed

* refactor: handle in-thread call notifications better and replace deny button intent with denyCallIntent instead of hangup

* feat: add a hangup via data channel message

* feat: process microphone enabled events and remove debuggable from build.gradle

* feat: add first call notification

* refactor: set the buttons to match iOS in terms of enable disable and colours

* refactor: change the call logos in control messages

* refactor: more bluetooth improvements

* refactor: move start ringer and init of audio manager to CallManager.kt and string fix up

* build: remove debuggable for release build

* refactor: replace call icons

* feat: adding a call time display

* refactor: change the call time to update every second

* refactor: testing out the full screen intents

* refactor: wrapper use corrected session description, set title to recipient displayName, indicate session calls

* fix: crash on view with a parent already attached

* refactor: aspect ratio fit preserved

* refactor: add wantsToAnswer ability in pre-init for fullscreenintent

* refactor: prevent calls from non hasSent participants

* build: update gradle code

* refactor: replace timeout schedule with a seconds count

* fix: various bug fixes for calls

* fix: remove end call from busy

* refactor: use answerCall instead of manual intent building again

* build: new version

* feat: add silenced notifications for call notification builder. check pre-offer and connecting state for pending connection

* build: update build number

* fix: text color uses overridden style value

* fix: remove wrap content for renderers and look more at recovering from network switches

* build: update build number

* refactor: remove whitespace

* build: update build number

* refactor: used shared number for BatchMessageReceiveJob.kt parameter across pollers

* fix: glide in update crash

* fix: bug fixes for self-send answer / hangup messages

* build: update build number

* build: update build.gradle number

* refactor: compile errors and refactoring to view binding

* fix: set the content to binding.root view

* build: increase build number

* build: update build numbers

* feat: adding base for rotation and picking random subset of turn servers

* feat: starting the screen rotation processing

* feat: setting up rotation for the remote render view

* refactor: applying rotation and mirroring based on front / rear cameras that wraps nicely, only scale reworking needed

* refactor: calls video stretching but consistent

* refactor: state machine and tests for the transition events

* feat: new call state processing

* refactor: adding reconnecting logic and visuals

* feat: state machine reconnect logic wip

* feat: add reconnecting and merge fixes

* feat: check new session based off current state

* feat: reconnection logic works correctly now

* refactor: reduce TIMEOUT_SECONDS to 30 from 90

* feat: reset peer connection on DC to prevent ICE messages from old connection or stale state in reconnecting

* refactor: add null case

* fix: set approved on new outgoing threads, use approved more deeply and invalidate the options menu on recipient modified. Add approvedMe flag toggles for visible message receive

* fix: add name update in action bar on modified, change where approvedMe is set

* build: increment build number

* build: update build number

* fix: merge compile errors and increment build number

* refactor: remove negotiation based on which party dropped connection

* refactor: call reconnection improvement tested cross platform to re-establish

* refactor: failed and disconnect events only handled if either the reconnect or the timeout runnables are not set

* build: update version number

* fix: reduce timeout

* fix: fixes the incoming hangup logic for linked devices

* refactor: match iOS styling for call activity closer

* chore: upgrade build numbers

* feat: add in call settings dialog for if calls is disabled in conversation

* feat: add a first call missed control message and info popup with link to privacy settings

* fix: looking at crash for specific large transaction in NotificationManager

* refactor: removing the people in case transaction size reduces to fix notif crash

* fix: comment out the entire send multiple to see if it fixes the issue

* refactor: revert to including the full notification process in a try/catch to handle weird responses from NotificationManager

* fix: add in notification settings prompt for calls and try to fall back to dirty full screen intent / start activity if we're allowed

* build: upgrade build number
2022-04-19 14:25:40 +10:00
jubb
04dfe99517 build: update version code and name 2022-03-22 11:14:51 +11:00
Harris
2445418e3e build: update build number 2022-03-17 15:55:27 +11:00
jubb
1aabbecc9d build: update build number 2022-03-15 14:20:52 +11:00
Harris
55aa266769
Bug fixes and provide conversation tooltips (#851)
* refactor: removing unused strings and changing session header dimensions

* refactor: remove bodyTextView from LinkPreviewView.kt and changing header image colours

* fix: path layout is aligned, global search input should always prompt soft input on open

* fix: unread count and scroll to bottom button visibility properly taking into account adapter item count and RecyclerView.NO_POSITION

fixes #848

* fix: crash on error toast for failing to share logs

* feat: conversation tooltips in NewConversationButtonSetView.kt

* fix: UI issue for conversation action bar cutting off lower than baseline characters

fixes #839

* refactor (wip): replacing bindings with nullable types to try prevent mystery bug

* refactor: use the nullable bindings for ConversationActivityV2.kt and remove inputBarHeightChanged

* fix: remove recipient listener on destroy

* build: add latest strings and increase build
2022-02-28 17:23:58 +11:00
jubb
a002e3e1f7 build: update build numbers 2022-02-09 14:27:44 +11:00
jubb
07ccc2696b Merge remote-tracking branch 'upstream/dev'
# Conflicts:
#	app/build.gradle
2022-02-07 17:08:48 +11:00
Harris
dd1da6b1a4
Add a global search (#834)
* 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
2022-02-07 17:06:27 +11:00
Harris
d4424481b1
fix: documents render correctly now (#838) 2022-02-07 15:25:31 +11:00
Harris
c70de069a4 fix: checking invalid profileKey lengths on message receive and retrieve profile avatars 2022-01-23 00:33:38 +11: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
jubb
87045b1d55 build: update build number and versio nname 2021-12-17 11:03:16 +11:00
jubb
0ba9e4938d build: increase build number 2021-11-23 14:10:42 +11:00
jubb
19384eeb5b build: increase build number 2021-10-27 17:42:13 +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
3997fcebc2 refactor: output appropriate file names for the apks 2021-10-08 11:07:26 +11:00
Harris
8a2a80e9e1 build: increase build number 2021-10-08 10:49:09 +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
5a290ddf68 build: bump the version number 2021-09-21 14:51:58 +10:00
Harris
71d2c1d1df build: update build numbers 2021-09-01 14:33:37 +10:00
Harris
18c177971a bump version number 2021-08-09 11:24:23 +10:00
Harris
bf6c2d29f1 fix: Home activity crash handling from the seed view optimisations. added tests for that plus rendering URL crash 2021-08-09 10:06:58 +10:00
jubb
2d933e4f67 feat: bump build number 2021-08-05 09:42:31 +10:00
Niels Andriesse
2f0c2fed5b Update build number 2021-08-03 15:50:21 +10:00
jubb
9b48d5d203 refactor: use simpler way to generate closed group profile pictures, limit the getConversation call in MentionManagerUtilities.kt to 200 to improve link-through performance to v2 conversation activity. fix notify type not being preloaded into settings 2021-08-03 13:36:04 +10:00
jubb
dd01b2968f fix: startup performance fixes 2021-08-02 16:59:55 +10:00
Niels Andriesse
4d5296bb1c Update version number 2021-07-30 13:52:36 +10:00
jubb
0ed7b28b6b refactor: performance experiments 2021-07-29 17:02:58 +10:00
Harris
9d9f543c3b feat: trying upgrade DB for perf and reducing retry interval to congest threads 2021-07-29 08:56:34 +10:00
Niels Andriesse
0d25ad8561 Update build number 2021-07-27 10:38:12 +10:00
Niels Andriesse
2c1a473af4 Update build number 2021-07-26 15:51:01 +10:00
Niels Andriesse
118447799a Handle incorrect clock setting 2021-07-23 14:09:27 +10:00
Niels Andriesse
2b97959f45 Update build number 2021-07-19 09:53:53 +10:00
Niels Andriesse
76d87df504 Update build number 2021-07-15 14:35:14 +10:00
Niels Andriesse
aacd92fb12 Update version number 2021-07-14 14:57:52 +10:00
Niels Andriesse
be6a36cc57 Update build number 2021-07-14 09:40:54 +10:00
Niels Andriesse
b6134b42c4 Update build number 2021-07-13 16:42:34 +10:00
Niels Andriesse
04b012ea2c Update build number 2021-07-13 10:15:42 +10:00
Niels Andriesse
fda28fc6ba Update version number 2021-07-12 10:02:22 +10:00
Niels Andriesse
1932fdd7cc Update build number 2021-07-12 09:31:50 +10:00
Niels Andriesse
c4a5fa4594 Update build number 2021-07-09 15:23:17 +10:00
Niels Andriesse
ffc51f400f Update build number 2021-07-09 10:12:47 +10:00
Niels Andriesse
2f7002ac7a Update build number 2021-07-09 09:39:09 +10:00
Niels Andriesse
5be63cd297 Update build number 2021-07-08 13:38:14 +10:00
Niels Andriesse
a716b3dd40 Update version number 2021-07-08 10:55:08 +10:00
Niels Andriesse
176456c253 Update build number 2021-07-08 09:23:35 +10:00
Niels Andriesse
a49d7bb5d0 Update build number 2021-07-07 15:41:05 +10:00
Niels Andriesse
0b51b8f0b3 Update version number 2021-07-07 14:19:21 +10:00
Niels Andriesse
b854a5d936 Update build number 2021-07-07 09:41:56 +10:00
jubb
56a1c61f6b fix: increase above dev build number 2021-07-05 17:33:03 +10:00
jubb
95716cc23a Merge remote-tracking branch 'upstream/dev' into ui
# Conflicts:
#	app/build.gradle
2021-07-05 17:32:29 +10:00
jubb
a593ad6a54 feat: increase build number 2021-07-05 17:18:48 +10:00
jubb
b329402faf fix: audio waveforms decoded on the attachment download 2021-07-01 17:06:42 +10:00
Niels Andriesse
0a0f7e44f6 Update build number 2021-07-01 14:19:31 +10:00
Niels Andriesse
98e3754778 Update build number 2021-07-01 13:27:12 +10:00
Niels Andriesse
1c14755d9a Update build number 2021-06-30 14:07:03 +10:00
Niels Andriesse
bf60989a43 Update build number 2021-06-29 16:09:14 +10:00
Niels Andriesse
7e114fc2ac Update version number 2021-06-29 14:47:25 +10:00
Niels Andriesse
196fc25902 Make input edit text grow dynamically 2021-06-15 16:14:35 +10:00
nielsandriesse
411a0dee6f Update build number 2021-06-08 08:38:43 +10:00
nielsandriesse
d09d6aa0a7 Update version number 2021-06-04 08:38:55 +10:00
nielsandriesse
b8a85c35c4 Update version number 2021-05-31 14:31:36 +10:00
nielsandriesse
1e1e3bf0e8 Update version number 2021-05-31 13:13:50 +10:00
nielsandriesse
0ef576da73 Update version number 2021-05-28 11:02:55 +10:00
Niels Andriesse
193454beec Update build number 2021-05-27 16:19:20 +10:00
Niels Andriesse
e71760d08f Update build number 2021-05-27 16:08:13 +10:00
Niels Andriesse
5d262a4bba Update version number 2021-05-27 15:43:44 +10:00
Niels Andriesse
9fa3e37e68 Update build number 2021-05-25 09:17:28 +10:00
Niels Andriesse
dfce9d636a Update build number 2021-05-24 16:10:51 +10:00
Niels Andriesse
95657195e6 Update build number 2021-05-24 13:24:35 +10:00
Niels Andriesse
051dbbfef9 Update version number 2021-05-24 08:54:38 +10:00
Niels Andriesse
b0f564672b Update build number 2021-05-21 09:04:32 +10:00
Niels Andriesse
79e76ef46b Update build number 2021-05-20 15:56:01 +10:00
Niels Andriesse
826a11c4b0 Update build number 2021-05-20 15:23:22 +10:00
Niels Andriesse
aca758c9eb Update version number 2021-05-20 15:12:05 +10:00
Niels Andriesse
039b667f59
Merge pull request #546 from hjubb/fix_missing_deps
Use Maven Central Instead of Bintray
2021-05-20 11:53:08 +10:00
Niels Andriesse
6ac534482f Update version number 2021-05-20 09:04:55 +10:00
Harris
99e6382f2e refactor: use lazysodium version on maven central instead of bintray (no longer available) 2021-05-19 15:12:35 +10:00
Niels Andriesse
68225e00be Clean 2021-05-18 14:45:37 +10:00
Niels Andriesse
7c3bee036c Speed up Gradle sync 2021-05-18 14:18:16 +10:00
Niels Andriesse
8a20c46bd4 Fix missing compile target 2021-05-18 14:08:21 +10:00
Niels Andriesse
cd1171ba84 Clean up app Gradle file 2021-05-18 13:34:40 +10:00
Niels Andriesse
81b0530163 Clean up libsession Gradle file 2021-05-18 13:27:51 +10:00
Niels Andriesse
b0e54d7e9f Update build number 2021-05-18 10:28:30 +10:00
Niels Andriesse
77f0a54aec Update version number 2021-05-17 15:49:44 +10:00
Niels Andriesse
3cb2d6c9f4 Update version number 2021-05-14 15:54:07 +10:00
Niels Andriesse
54b93e56a0 Update version number 2021-05-14 08:58:11 +10:00
Niels Andriesse
115bc9b159 Speed up path building 2021-05-13 10:31:06 +10:00
Niels Andriesse
af84b1ef3a Update build number 2021-05-13 09:45:29 +10:00
nielsandriesse
21698fcba5 Update version number 2021-05-12 14:02:07 +10:00
Niels Andriesse
11a89c0a76 Update version number 2021-05-07 16:30:52 +10:00
Niels Andriesse
cc7e4701a3 Increment database version 2021-05-06 16:03:45 +10:00
Niels Andriesse
3c3f6c25f1 Fix various bugs 2021-05-06 15:46:22 +10:00
Niels Andriesse
54d64192fb Update version number 2021-05-06 13:20:50 +10:00
jubb
c601098065 feat: updating android deps 2021-04-20 17:23:02 +10:00
nielsandriesse
5bcac3b39c Update version number 2021-04-14 10:51:21 +10:00
nielsandriesse
5debd8f739 Update version number 2021-04-07 15:14:59 +10:00
Niels Andriesse
55eb963d10 Update build number 2021-03-16 13:24:40 +11:00
jubb
f307d7bb17 fix: add org.session and remove minify to release build 2021-03-16 11:45:02 +11:00
Niels Andriesse
2e65077b3a Update build number 2021-03-16 08:58:59 +11:00
Niels Andriesse
293b01e857 Update version number 2021-03-15 09:28:12 +11:00
nielsandriesse
394f64a214 Update version number 2021-03-10 10:34:01 +11:00
Niels Andriesse
f5d483d7b9 Update version number 2021-03-09 13:44:24 +11:00
jubb
3a09d23337 feat: add contact syncing, UI improvements for profile syncing and conversation threads in the home screen 2021-03-01 17:16:15 +11:00
Niels Andriesse
242eb90d21 Update version number 2021-02-26 10:15:24 +11:00
Niels Andriesse
2a741049cc Update version number 2021-02-25 14:46:28 +11:00
Niels Andriesse
f45a285141 Update version number 2021-02-18 10:30:21 +11:00
nielsandriesse
32902d5bc8 Update build number 2021-02-17 11:39:36 +11:00
nielsandriesse
d6379c4d58 Update build number 2021-02-17 11:31:20 +11:00
nielsandriesse
f725d903a4 Update version number 2021-02-17 11:09:41 +11:00
nielsandriesse
add7150d83 Update version number 2021-02-16 11:34:43 +11:00
jubb
77eb460ba7 feat: add image handling across device self-send. close an unclosed resource. remove unnecessary checks and SmsDatabase way of checking for existing message from ourselves 2021-02-09 13:45:38 +11:00
Ryan ZHAO
190badd9c0 sync with dev 2021-02-01 09:39:14 +11:00
Ryan ZHAO
17f401c356 make things compile 2021-01-21 15:42:43 +11:00
Ryan ZHAO
2d239541b9 WIP make things compile 2021-01-18 14:58:11 +11:00
Anton Chekulaev
bb74cdf2a0 ABI split configuration restored. 2020-12-08 18:17:49 +11:00
Anton Chekulaev
12804a30c0 Unused code cleanup. 2020-12-01 21:36:41 +11:00
Anton Chekulaev
20b6763408 Unused code cleanup.
Do not minify and obfuscate debug builds.
2020-12-01 16:38:41 +11:00
Anton Chekulaev
4fb4709ec2 Unused code cleanup. 2020-11-30 17:43:06 +11:00
Anton Chekulaev
30fe6ee3ac App's gradle config cleanup. 2020-11-26 12:41:59 +11:00
Ryan ZHAO
255dc9c26b ditch :service, :service:android, :service:java 2020-11-26 10:07:45 +11:00
Ryan ZHAO
7a66a47520 restructure and unite service android/java to libsignal 2020-11-26 09:46:52 +11:00