Commit graph

4181 commits

Author SHA1 Message Date
Daniel Gultsch ca1d8b4d1b
fix race condition accessing rtpSender 2024-02-23 09:54:13 +01:00
Daniel Gultsch e416a6c4eb
maintain phone accounts only for enabled accounts 2024-02-23 09:54:12 +01:00
Daniel Gultsch a04dc6e4ad
show warning when call integration accounts exceed 10 2024-02-23 09:54:12 +01:00
Daniel Gultsch d2d76322b9
show speaker configuration during ACCEPTING 2024-02-23 09:54:12 +01:00
Daniel Gultsch 18dea352b0
send jmi finish alongside session terminate 2024-02-23 09:54:12 +01:00
Daniel Gultsch 21b8bf424a
skip automatic audio device selection when BT is available 2024-02-23 09:54:12 +01:00
Daniel Gultsch a78747eaa2
react to onSilence() and stop ringtone 2024-02-23 09:54:12 +01:00
Daniel Gultsch bfe2aff7a1
show speaker selection during 'ringing' 2024-02-23 09:54:11 +01:00
Daniel Gultsch bff1ac5ebc
do not nofiy UI if UI triggered retract 2024-02-23 09:54:11 +01:00
Daniel Gultsch 5158fc4530
do not process JMI from offline queue as live messages 2024-02-23 09:54:11 +01:00
Daniel Gultsch 32da5853d7
track offline message queue 2024-02-23 09:54:11 +01:00
Daniel Gultsch ef5508e5b1
trigger incoming call integration only for rtp connections 2024-02-23 09:54:11 +01:00
Daniel Gultsch b7da7f3367
add generator for JMI finish message 2024-02-23 09:54:11 +01:00
Daniel Gultsch bcc0c32af3
fix crash when using direct jingle init on offline contacts 2024-02-23 09:54:11 +01:00
Daniel Gultsch 1090b2edd3
add optional strict offline checking for calls 2024-02-23 09:54:11 +01:00
Daniel Gultsch d4225fcf32
fix regression with screen not being put in right state 2024-02-23 09:54:10 +01:00
Daniel Gultsch 7f9d836f1a
play connected sound from sound file 2024-02-23 09:54:10 +01:00
Daniel Gultsch d31b24d05a
get rid of ToneManager and play sounds in CallIntegration instead
CallIntegration takes care of audio routing so it makes sense to play
and sounds here too
2024-02-23 09:54:10 +01:00
Daniel Gultsch 66cd50e163
add permission check to placeCall method 2024-02-23 09:54:10 +01:00
Daniel Gultsch 0ffc295888
provide alternative method to create calls for Android <8 2024-02-23 09:54:10 +01:00
Daniel Gultsch d79fc1bb79
run some AppRTCAudioManager actions on main thread 2024-02-23 09:54:10 +01:00
Daniel Gultsch 6ba9208eea
switch audio device when switching to video 2024-02-23 09:54:09 +01:00
Daniel Gultsch ebb48e9320
set correct video state for calls 2024-02-23 09:54:09 +01:00
Daniel Gultsch 6975299a28
hook into onAnswer/onReject of CallIntegration
the Operating System shows a notification on our behalf if there is currently
a call going on that can not be put on hold (For example a Quicksy call is going
on while a Conversations call is coming on)
2024-02-23 09:54:09 +01:00
Daniel Gultsch f119c36bff
(un)register phone account on xmpp account creation/deletion 2024-02-23 09:54:09 +01:00
Daniel Gultsch b9e4296321
reformat debug info 2024-02-23 09:54:09 +01:00
Daniel Gultsch dfa389f61f
update UI in case proposal gets retracted by system 2024-02-23 09:54:09 +01:00
Daniel Gultsch a44ad6015d
update UI with correct state after UI gets invoked with ACTION_VIEW 2024-02-23 09:54:08 +01:00
Daniel Gultsch d20cc87bda
retract proposal when accepting other call 2024-02-23 09:54:08 +01:00
Daniel Gultsch 4378f8931b
add Config flag to debug direct call init 2024-02-23 09:54:08 +01:00
Daniel Gultsch 19c634f3d2
use call integration via MANAGE_OWN_CALLS
better integrate calls into the system via 'Build a calling app'¹

a few hooks like onAnswer/onReject and automatic PhoneAccount creation are still missing

¹: https://developer.android.com/develop/connectivity/telecom/selfManaged
2024-02-23 09:54:08 +01:00
Daniel Gultsch 8e73b7f477
make contact integration depend on manifest, not flavor 2024-02-19 10:12:52 +01:00
Daniel Gultsch 9b832e1285
null check PushTargetMessenger 2024-02-18 17:38:32 +01:00
Daniel Gultsch a62a7a4a84
resolver results need to be editable if we inject see-other-host 2024-02-18 10:20:54 +01:00
Daniel Gultsch d175843cbd
ignore 'subscribe' presence for blocked contacts 2024-02-16 16:59:52 +01:00
Daniel Gultsch 8598462737
remove address book integration from Conversations on PlayStore 2024-02-14 13:53:46 +01:00
Daniel Gultsch 33c63fb562
fixup: access Android_id only on push 2024-02-14 12:09:08 +01:00
Daniel Gultsch 59c23f5558
add ability to display privacy policy link in menu 2024-02-14 09:11:49 +01:00
Daniel Gultsch 617dd76d2f
add shortcut info only for 'messages' channel 2024-02-13 18:29:08 +01:00
Daniel Gultsch 1cfc5d426e
access Android_id only on push 2024-02-13 11:04:38 +01:00
Daniel Gultsch 2833fc833c
fix JET spec compliance 2024-02-11 10:40:50 +01:00
Daniel Gultsch 93b5a099b0
add json mime type according to RFC4627 2024-02-11 08:45:46 +01:00
Daniel Gultsch 9f1c4a42f8
default to microphone foreground service type during call 2024-02-10 13:46:07 +01:00
Daniel Gultsch 6ce052a337
check sasl success message no response 2024-02-10 10:20:40 +01:00
Daniel Gultsch 75f42d680d
lower bitrate for voice recordings 2024-02-09 17:54:25 +01:00
p42ity cd1821f2b6 Avoid truncated voice messages for affected devices
There were some devices which are known to produce truncated voice messages from time to time. I investigated this issue on a Fairphone 4 and found a configuration which did not show this behaviour in my experiments.

These devices are very sensitive on AAC settings. That's why I added an extra section for them. The list of devices can be adjusted.

Reviewed-on: https://codeberg.org/iNPUTmice/Conversations/pulls/192
Co-authored-by: p42ity <shopping@fpgas.de>
Co-committed-by: p42ity <shopping@fpgas.de>
2024-02-09 16:50:19 +00:00
Daniel Gultsch b93c5622df
modify quicksy user consent wording once more 2024-02-09 11:25:00 +01:00
Daniel Gultsch 03dc15158b
use modern Java in XmppConnection 2024-02-09 11:23:05 +01:00
Daniel Gultsch 5aff7d023c
slight modifications in quicksy onboard flow 2024-02-08 11:06:07 +01:00
Daniel Gultsch 3882ea669d
check server from on stream open 2024-02-07 10:55:33 +01:00
Daniel Gultsch 01ac2912f5
catch exception when hardware renderer can not be set up 2024-02-07 10:55:01 +01:00
Daniel Gultsch 7fe8be1adc
better work around for not processing race condition stanza 2024-02-07 10:07:53 +01:00
Daniel Gultsch 7455e99761
remove unnecessary resume call 2024-02-07 09:15:36 +01:00
Stephen Paul Weber 961a024aa2 XEP says thread means not the topic
Note: A message with a <subject/> and a <body/> or a <subject/> and a
<thread/> is a legitimate message, but it SHALL NOT be interpreted as a
subject change.
2024-02-07 07:22:57 +00:00
Daniel Gultsch ff082ab607
code clean up in IQ callback handling 2024-02-06 14:27:32 +01:00
Daniel Gultsch c2592d1417
fixup: simplify loginInfo null check 2024-02-05 15:59:06 +01:00
Daniel Gultsch 5ab8912cb4
simplify loginInfo null check 2024-02-04 19:49:55 +01:00
Daniel Gultsch 4168bc4666
less noisy logcat. catch illegal state exception as result of race condition 2024-01-19 15:20:47 +01:00
Daniel Gultsch b2e1f9b3d8
call current transport when receiving transport-replace 2024-01-19 11:43:23 +01:00
Daniel Gultsch 15a3c163eb
respond OK to JFT session terminate 2024-01-19 10:40:32 +01:00
Daniel Gultsch 88851ea12a
bundle letsencrypt root certificates
as per https://letsencrypt.org/2023/07/10/cross-sign-expiration.html
Letsencrypt is dropping support for Android <= 7 by removing cross signing.

to keep supporting older Android versions we need to bundle the root cert
ourselves. (Firefox for example does this too)

The KeyStore file is in BKS-V1 format. A good tools to edit the file is

https://keystore-explorer.org/

To keep the attack and bug surface as low as possible we only run the check
against the bundled keystore on Android <= 7
2024-01-15 10:57:07 +01:00
Daniel Gultsch aeb805a3ca
abort socks candidate search if peer selected something with higher priority 2023-12-20 11:23:04 +01:00
Daniel Gultsch eec01c9e7b
disable quick log 2023-12-20 09:23:09 +01:00
Daniel Gultsch d3b38a5273
refactor Jingle File Transfer. add WebRTCDatachannel transport 2023-12-19 17:26:11 +01:00
Daniel Gultsch 1a83c290a2
UnifiedPush: send unregistered to apps when 'none' account is selected 2023-12-05 10:59:50 +01:00
Daniel Gultsch 20c179c1a1
ensure will tell 'messenger' when UP registration fails or is delayed 2023-12-02 12:20:19 +01:00
Daniel Gultsch f7b5124fd3
support location attribute on enable 2023-12-01 18:29:52 +01:00
Daniel Gultsch eb5994f80f
add quick log functionality to debug UP 2023-12-01 13:22:10 +01:00
Daniel Gultsch 747f58c35b
JingleConnectionManager: code clean up 2023-11-22 08:37:17 +01:00
Daniel Gultsch b183f49977
update call UI after RTP connection has ended 2023-11-22 08:36:44 +01:00
Daniel Gultsch 402882389f
fixup: properly detect fast 2023-11-21 19:40:10 +01:00
Daniel Gultsch 59ff27062b
treat carbons as enabled when requested through bind 2 2023-11-21 16:50:46 +01:00
Daniel Gultsch 3dac9ef3f4
use stricter namespace matching in stream parser 2023-11-21 15:25:21 +01:00
Daniel Gultsch 5bb8f3f9aa
stricter bind 2 inline feature parsing 2023-11-21 15:24:31 +01:00
Daniel Gultsch acef5dbd3b
code clean up 2023-11-20 19:29:19 +01:00
Daniel Gultsch 25dd775613
catch illegal argument exception when reading DNS 2023-11-14 15:13:45 +01:00
Daniel Gultsch c72a86a0a4
add timeout to ICE gathering 2023-11-14 08:57:22 +01:00
Daniel Gultsch 5728cf13ea
RtpSessionActivity code clean up 2023-11-13 17:12:18 +01:00
Daniel Gultsch 622b569bbc
fix accepting senders both content adds 2023-11-13 13:46:30 +01:00
Daniel Gultsch 80c49955f0
JingleRtpConnection code clean up 2023-11-13 13:46:30 +01:00
Daniel Gultsch 96dcc75ac3
add SDP Offer / Answer support 2023-11-13 12:36:20 +01:00
Daniel Gultsch 38ca53fcac
bump reporting xep and add ability to report messages 2023-11-12 19:29:15 +01:00
Daniel Gultsch e73fbac56f
enable 'PEP Native Bookmarks' 2023-11-10 15:29:26 +01:00
Stephen Paul Weber f798102978
Fix and updates Bookmarks2 support
Support the stable version namespace and the new elements, including preserving
any extension content.
2023-11-10 11:41:02 +01:00
Daniel Gultsch 0898ea77ff
jingle: do not send session-terminate after failed regneg when session already was 2023-10-31 13:16:17 +01:00
Daniel Gultsch 438a228fc3
minor code clean up 2023-10-31 12:34:55 +01:00
Daniel Gultsch f6482c5a87
fix caps hash calculation for empty form fields 2023-10-31 11:03:59 +01:00
Daniel Gultsch fba7721cd5
fix rare concurrent modification in muc user search 2023-10-31 10:43:53 +01:00
Daniel Gultsch dfd7410b1a
make copy omemo fp button a show qr code button 2023-10-30 14:26:28 +01:00
Daniel Gultsch 71b6492d61
show unverified devices warning in contact and account details 2023-10-30 13:06:04 +01:00
Daniel Gultsch 0bbc1193e3
allow background activity start for OpenKeyChain intents 2023-10-29 08:54:19 +01:00
Daniel Gultsch ea5ffe92ea
improve logging when PGP decryption fails 2023-10-29 08:54:19 +01:00
Daniel Gultsch 48ffde9656
toggle foreground service to set correct type when gaining permissions 2023-10-29 08:54:18 +01:00
Daniel Gultsch e83a0af277
ignore false positive warning wrt foreground service 2023-10-29 08:54:17 +01:00
Daniel Gultsch 35c8d31d42
update gradle and gradle plugin 2023-10-29 08:54:17 +01:00
Daniel Gultsch e422b89df5
use aggressive reconnects for see-other-host 2023-10-29 08:54:17 +01:00
Daniel Gultsch 1732ab5cc7
add internal ping timer in case alarm manager fails 2023-10-29 08:54:17 +01:00
Daniel Gultsch a162d72c2a
code clean up in processAccountState() 2023-10-29 08:54:17 +01:00
Daniel Gultsch 928db01ae8
do not init connection for disabled accounts 2023-10-29 08:54:16 +01:00
Daniel Gultsch 2dd8896dc2
stop service on log out when UI is not active 2023-10-29 08:54:16 +01:00