Daniel Gultsch
644ad99520
create rtp end user state for connection lost. fixes #3769
2020-06-12 07:57:11 +02:00
Daniel Gultsch
552e17e39a
remember terminal RTP session state
...
if the activity is not connected during finish it won’t receive the last end user state.
this code remembers it even if the actual session is already gone. so when activity reconnects and
we can’t find the real rtp session we can look up the last state instead.
2020-06-11 21:17:15 +02:00
Daniel Gultsch
7e2d87f39c
recover if attachImage can’t generate scalled down version of image. fixes #3773
2020-06-09 21:08:27 +02:00
Daniel Gultsch
1853242c66
do not throw when finishing jingle ft twice. fixes #3765
...
the state machine in jingle file transfer does not prevent that the connection
is being finished twice
2020-06-07 15:00:00 +02:00
Daniel Gultsch
b78d45c7cc
fix Jingle FT candidate selection for equal priority. fixes #3771
2020-06-07 12:47:03 +02:00
Daniel Gultsch
4bc43af690
improve logging in export backup service. closes #3672
2020-06-02 07:59:46 +02:00
Daniel Gultsch
637c208f55
ask for resource and use jingle direct init when JMI is not available. fixes #3751
2020-05-30 14:56:12 +02:00
Daniel Gultsch
8edfc61346
fixed concurrent modification when iterating over presences
2020-05-30 10:57:22 +02:00
Daniel Gultsch
8603d24bcb
add record voice mail button to busy screen. fixes #3754
2020-05-30 10:30:57 +02:00
Daniel Gultsch
59d1a2982e
RtpSessionActivity: throw instead of finish when session wasn’t found
2020-05-28 09:22:58 +02:00
Daniel Gultsch
63ba21a512
catch ISE cause by race when displaying video track. fixes #3752
2020-05-27 15:53:05 +02:00
Daniel Gultsch
5e3aab3abe
ensure that finishConnection succeeds
2020-05-27 13:54:35 +02:00
Daniel Gultsch
575ada3b27
fix scram crash for broken metronome servers
2020-05-27 13:53:28 +02:00
Daniel Gultsch
1c625e55a0
set candidate gathering to continually. fixes #3719
...
This should be good enough to survive some network switches where both networks are online at the same time to allow for some handover
(for example when enabling wifi the 3G connection will usually (probably depends on OS) live on for a moment
2020-05-25 11:11:29 +02:00
Daniel Gultsch
8475a28dc5
control voice call volume when playing audio through earpiece. fixes #3705
2020-05-25 10:43:56 +02:00
Daniel Gultsch
7ca543e42f
replace /me when quoting messages. fixes #3669
2020-05-24 10:52:34 +02:00
Daniel Gultsch
88cc097732
fail pending messages on policy violation. fixes #3735
2020-05-22 18:23:53 +02:00
Daniel Gultsch
ed4d7bff92
reset tone manager after reaching NULL status
2020-05-22 16:25:29 +02:00
Daniel Gultsch
550fbc6d2c
make sure automatic jmi responses are sent before ack
2020-05-22 13:22:22 +02:00
Daniel Gultsch
685e01e83f
give TonManager control over audio mode to play dial tones on earpiece. fixes #3738
2020-05-21 15:39:59 +02:00
Daniel Gultsch
a2a7256682
disable hardware AEC on some devices. fixes #3734
2020-05-21 11:13:46 +02:00
Daniel Gultsch
de941f6036
use escaped jid for invites
2020-05-21 08:41:04 +02:00
Daniel Gultsch
574bccfc59
avoid unnecessary call to Jid.ofDomain()
2020-05-21 07:57:57 +02:00
Daniel Gultsch
aa1e69d277
use escaped jid for EXTRA_ACCOUNT
2020-05-20 20:14:13 +02:00
Daniel Gultsch
304411fc09
return audio mode to normal (instead of previous mode) after call ended
2020-05-20 19:40:26 +02:00
Daniel Gultsch
bfeebc141f
invalide options menu after pinning/unpinning. fixes #3745
2020-05-19 19:39:05 +02:00
Daniel Gultsch
dd0f354b62
publish pep bookmarks 1.0 to an item called 'current'
2020-05-19 19:39:05 +02:00
Daniel Gultsch
f8fedf0059
sasl prep password before hashing. fixes #1893
2020-05-19 15:28:12 +02:00
Daniel Gultsch
22f3aac465
fix media browser for escapbed jids
2020-05-18 11:48:24 +02:00
Daniel Gultsch
3ca10b8fa9
show escaped jids when it comes to account selection
2020-05-18 09:35:35 +02:00
Daniel Gultsch
df3273a6fc
fix jid.withResource() for domain jids
2020-05-18 09:14:57 +02:00
Daniel Gultsch
a0920b83e2
use Account.getDomain() for direct access to domain jid
2020-05-17 10:24:46 +02:00
Daniel Gultsch
b347d57848
don’t escape jids when parsing from uri
2020-05-17 08:53:44 +02:00
Daniel Gultsch
1da490f77a
do not request storage permission for attaching location
2020-05-16 17:51:14 +02:00
Daniel Gultsch
4dd3b0c2aa
allow to pin conversations on top. fixes #3480
2020-05-16 12:10:26 +02:00
Daniel Gultsch
7a21b2c5ed
fixed parsing of unescaped jids with @ in local part
2020-05-16 10:40:26 +02:00
Daniel Gultsch
2195bce303
don’t allow escaped usernames in magic create
2020-05-16 08:55:13 +02:00
Daniel Gultsch
78a82a74bc
use unescaped jid in ManageAccount
2020-05-15 20:20:22 +02:00
Daniel Gultsch
dc29cf27a3
validate conference jid on input
2020-05-15 19:22:15 +02:00
Daniel Gultsch
198a7db954
use escaped jid in more places
2020-05-15 18:44:55 +02:00
Daniel Gultsch
ef7d4fca86
show escaped jid in most of the UI
...
for historical reasons we store unescaped variants in DB and use them in intents.
2020-05-15 18:22:04 +02:00
Daniel Gultsch
b6703dbe38
switch xmpp-addr to jxmpp-jid
2020-05-15 17:06:16 +02:00
Daniel Gultsch
1b4f9cc8ab
allow 'login with certificate' from welcome screen. fixes #3724
2020-05-13 13:52:05 +02:00
Daniel Gultsch
36d2ecfcfa
always use private key for TLS connection when one is configured
2020-05-13 09:38:30 +02:00
Daniel Gultsch
2c4788b7c7
send retract when unable to setup webrtc as initiator. fixes #3717
2020-05-11 12:20:32 +02:00
Daniel Gultsch
b845c601d0
include senders in jingle file offer
2020-05-11 11:09:18 +02:00
Daniel Gultsch
90526efbd4
fixed destination calculation for direct socks candidates. fixes #3715
2020-05-11 11:08:45 +02:00
Daniel Gultsch
46579550e4
fixed weird ToneGenerator crash. fixes #3712
...
obviously tones won’t work then anymore
2020-05-10 17:54:16 +02:00
Daniel Gultsch
4d3d3a7038
tie breaking racing jingle message proposals. fixes #3698
2020-05-10 14:09:16 +02:00
Daniel Gultsch
2c5bed61a1
introduce extra RTP state to handle going from sending proceed to receiving retract
2020-05-09 21:35:21 +02:00
Daniel Gultsch
f4247379bd
catch UnsatisfiedLinkError when trying to init libwebrtc. fixes #3707
2020-05-09 19:48:54 +02:00
Daniel Gultsch
92fc22b313
show call duration in audio calls. fixes #3708
2020-05-09 11:14:39 +02:00
Daniel Gultsch
6daaca496b
externalize time passed utils
2020-05-09 09:42:33 +02:00
Daniel Gultsch
072edc5a62
hide microphone button in video-only calls. fixes #3700
2020-05-08 21:15:54 +02:00
Daniel Gultsch
bd0234ba4d
dismiss incoming call notification on crash. fixes #3701
2020-05-08 19:34:20 +02:00
Daniel Gultsch
abfa4eae08
remove white space before parsing omemo bundle base64
2020-05-08 19:33:49 +02:00
Daniel Gultsch
285c750e69
throw IllegalStateException when trying to finish from a non terminal state
2020-05-08 18:36:52 +02:00
Daniel Gultsch
350fc57d87
properly wrap IPv6 addresses
2020-05-08 17:52:41 +02:00
Daniel Gultsch
5af4c865a7
make sure we finsh() the connection after transitioning into terminal state
2020-05-08 17:22:27 +02:00
Daniel Gultsch
1b237e4ea0
pulled translations from transifex
2020-05-06 21:46:11 +02:00
Daniel Gultsch
fb57ef47bc
catch IllegalStateException around acceptCall()
...
this can happen when the UI races a call retrection
2020-05-05 09:37:27 +02:00
Daniel Gultsch
c159bbfc81
play dial sounds on wrong track to make them play in silent mode. fixes #3697
2020-05-03 23:15:21 +02:00
Daniel Gultsch
476fb23656
show timestamp for missed incoming calls. fixes #3692
2020-05-03 18:36:15 +02:00
Daniel Gultsch
3c3f5d8e6f
mark missed calls as unread (bold) in overview. fixes #3687
2020-05-03 18:07:00 +02:00
Daniel Gultsch
3577afea4e
fixed crash caused by race when dedecting if mic is on
2020-05-03 11:54:58 +02:00
Daniel Gultsch
e70b6eec98
do not mirror back camera. fixes #3693
2020-05-03 11:54:58 +02:00
Daniel Gultsch
5a5f887229
code cleanup in bundle parsing
...
also switch to guavas base64 parser to avoid potential ROM bugs
2020-05-03 11:54:58 +02:00
Daniel Gultsch
abb33b048a
fixed crash after accepting voice calls on devices that don’t have an earpiece (tablets)
...
fixes #3682
2020-05-02 18:06:56 +02:00
Daniel Gultsch
63ddd97b6b
add button to switch cameras during video call
...
RIP symmetry :-(
fixes #3683
2020-05-02 17:15:50 +02:00
Daniel Gultsch
e4b906ebeb
fix crash on unknown sasl mechanims
2020-05-02 10:20:18 +02:00
Daniel Gultsch
48163a5604
show proposal as ongoing call
2020-05-02 09:50:17 +02:00
Daniel Gultsch
f7a0d2031a
disable TLS cert validation for stun/turn server
...
turns out libwebrtc doesn’t use the system root CA store but comes with only a few default CAs.
in anyway we will probably only use tcp/443 to bypass firewalls and not to actually secure anything.
2020-05-01 20:17:23 +02:00
Daniel Gultsch
58429c42ee
lower case protocol; we have seen upper case in the wild for some reason
2020-05-01 20:15:09 +02:00
Daniel Gultsch
7ac5e8e828
properly close WebRTCWrapper even when init failed
2020-05-01 13:56:24 +02:00
Daniel Gultsch
eab4ac017f
minor code clean up
2020-05-01 07:58:58 +02:00
Daniel Gultsch
86b2631449
revert commit that attempted to do bare jid matching for LMC
...
That commit never worked because there were other checks in place later down the stream.
Allowing other clients (resources) to correct messages introduces the potential for nasty race conditions.
Furthermore we also have a check in place that would check that the OMEMO fingerprint is the same for security reasons. Removing that check is currently undesirable. Therefor correcting a message from another client would only work for plain text messages (and maybe PGP); this only adds confusion for users for very little benefit.
2020-05-01 07:45:00 +02:00
Daniel Gultsch
8374df84aa
do not change intent to retracted if end card had already been reached
2020-04-30 09:06:43 +02:00
Daniel Gultsch
deae2b109f
do not crash UI after ignoring improperly formatted jingle init
2020-04-29 15:54:02 +02:00
Daniel Gultsch
8a586527c4
check if setting local description was succesful
2020-04-29 15:32:27 +02:00
Daniel Gultsch
a49d69c878
parse candidates from session-init and session-accept
2020-04-29 10:36:54 +02:00
Daniel Gultsch
54ca3fb020
release video after end card reached. fixes video call retry
2020-04-29 09:22:49 +02:00
Daniel Gultsch
333f509e53
synchronize public WebRTCWrapper methods so closes don’t race
2020-04-29 09:10:15 +02:00
Daniel Gultsch
0d4b175760
better failure behaviour after direct init from jitsi
2020-04-29 08:51:38 +02:00
Daniel Gultsch
f93bac6d73
catch ISE around peerconnection.dispose()
2020-04-28 20:15:23 +02:00
Daniel Gultsch
faf1ff365d
modify call connected tone
2020-04-28 11:22:42 +02:00
Daniel Gultsch
8183c54ba0
use stanza-id for display markers in group chats
2020-04-28 08:25:21 +02:00
Daniel Gultsch
27bf871472
play beep when voice call connects
2020-04-28 07:30:27 +02:00
Daniel Gultsch
418cecad11
remove XEP-0357 support for group chats
2020-04-28 06:50:04 +02:00
Daniel Gultsch
fc4397e5b9
play busy and dial tones
2020-04-27 17:51:38 +02:00
Daniel Gultsch
07911b2094
indicate ongoing call. fixes #3675
2020-04-27 11:53:31 +02:00
Daniel Gultsch
9fbf73d1ea
do not log failed calls that never rang
2020-04-26 10:38:19 +02:00
Daniel Gultsch
006d7447a3
put version code into crash report
2020-04-25 20:13:20 +02:00
Daniel Gultsch
c41033e83c
only take udp candidates from transport-info
2020-04-25 20:13:08 +02:00
Daniel Gultsch
a5beaaed9d
null reference to rtpconnection when end card is reached
...
this will make re-init work if for example retry end card had been reached and we get another call
2020-04-24 21:27:03 +02:00
Daniel Gultsch
cacd85b4f1
catch ISE when entering PIP
2020-04-24 10:37:46 +02:00
Daniel Gultsch
4f5415ecba
terminated rtp connection do not count as busy
2020-04-24 09:41:54 +02:00
Daniel Gultsch
c0036b4ca6
increase busy timeout to 30s
2020-04-24 09:16:59 +02:00
Daniel Gultsch
96f6ae2b49
additional null check in case to is null
2020-04-23 20:11:45 +02:00
Daniel Gultsch
80cac3bd69
disable tcp candidates
2020-04-23 19:51:58 +02:00
Daniel Gultsch
d7a8519ad6
do not continue to accept call if reinit() caused activity to finish
2020-04-23 12:52:02 +02:00
Daniel Gultsch
cfb9368edb
check if pip feature is available on top of doing version check
2020-04-23 12:14:45 +02:00
Daniel Gultsch
60cea03dce
do not attempt retract if onStop was faster than backend connect
2020-04-23 10:13:10 +02:00
Daniel Gultsch
a008993d06
add 20s busy timeout to incoming calls
2020-04-22 21:59:20 +02:00
Daniel Gultsch
892d913e2c
parsing iq erros also need to finish the connection
2020-04-22 18:42:07 +02:00
Daniel Gultsch
9fa9ca9cbc
catch securityException when parsing rtp description
2020-04-22 16:35:08 +02:00
Daniel Gultsch
9afac21b0b
don’t throw when user double taps accept button
2020-04-22 14:49:48 +02:00
Daniel Gultsch
876b1149d5
avoid double termination after failed connection
2020-04-21 22:59:54 +02:00
Daniel Gultsch
e0cb127005
retract call when pressing home or power button during ringing
2020-04-21 22:46:46 +02:00
Daniel Gultsch
3c0b3f4b94
allow dnd overwrite for incoming calls
2020-04-21 18:13:09 +02:00
Daniel Gultsch
442b952700
add jingle message init namespace to features
2020-04-21 14:59:03 +02:00
Daniel Gultsch
5b12e23382
improve logging for throws from native callbacks
2020-04-21 12:00:13 +02:00
Daniel Gultsch
eb911b8196
show 215 status in server info
2020-04-21 11:40:05 +02:00
Daniel Gultsch
d5e3d13158
do not just assume rtcp-mux
2020-04-21 09:11:17 +02:00
Daniel Gultsch
7898ba65cd
extend extended webrtcwrapper logging
2020-04-20 17:05:27 +02:00
Daniel Gultsch
23d1ee5e41
render contact’s avatar during incoming call
2020-04-20 15:57:31 +02:00
Daniel Gultsch
187dff3df9
put contact picture in incoming call notification
2020-04-20 15:57:31 +02:00
Daniel Gultsch
df2ef0eeb0
automatically reject/ignore calls from strangers if the setting is set
2020-04-20 15:57:31 +02:00
Daniel Gultsch
e661d5b7ad
provide deep link from settings into call notification settings
2020-04-20 15:57:31 +02:00
Daniel Gultsch
1cc0dfad84
move sdp logging to different tag
2020-04-20 15:57:31 +02:00
Daniel Gultsch
5a0979b41e
store 'ended call' when ended from proceed
2020-04-20 15:57:31 +02:00
Daniel Gultsch
f7f0dc99a7
launch calls in new task
2020-04-20 15:57:31 +02:00
Daniel Gultsch
c7269bc0aa
check microphone availability on background thread
2020-04-20 15:57:31 +02:00
Daniel Gultsch
31dfb0c704
cache useTor information in activity
2020-04-20 15:57:31 +02:00
Daniel Gultsch
a12760300c
ensure that rtp connection is registered with connection manager
2020-04-20 15:57:30 +02:00
Daniel Gultsch
c20c40a807
ensure webrtc connection gets closed after connection failure
2020-04-20 15:57:30 +02:00
Daniel Gultsch
7dfd47a5c4
better crash than leave WebRTCWrapper unclosed
2020-04-20 15:57:30 +02:00
Daniel Gultsch
934b98d199
add microphone availability check
2020-04-20 15:57:30 +02:00
Daniel Gultsch
48f752366b
paint local mic off button in pip
2020-04-20 15:57:30 +02:00
Daniel Gultsch
644e5aa856
remove video sinks when calling onStop. otherwise going in and out foreground will give us endless sinks
2020-04-20 15:57:30 +02:00
Daniel Gultsch
16d34c2ba0
parse turns and stuns (regression from earlier commit)
2020-04-20 15:57:30 +02:00
Daniel Gultsch
ab2681640a
allow pip during connecting
2020-04-20 15:57:30 +02:00
Daniel Gultsch
2f437ea845
ignore iq errors if session has already been terminated
2020-04-20 15:57:30 +02:00
Daniel Gultsch
fa3ef07580
be more strict with ice candidate parsing
2020-04-20 15:57:30 +02:00
Daniel Gultsch
0a18ab35c0
fixed 215 credential detection
2020-04-20 15:57:30 +02:00
Daniel Gultsch
8472712b3e
play notification sound pre notification categories
2020-04-20 15:57:30 +02:00
Daniel Gultsch
e545e95d39
getMedia() would throw null pointer when called after going from proposed to some error state
2020-04-20 15:57:30 +02:00
Daniel Gultsch
ea2ed85ed7
support picture in picture for video calls
2020-04-20 15:57:30 +02:00
Daniel Gultsch
21e412ef6f
only show remote video when connected
2020-04-20 15:57:30 +02:00
Daniel Gultsch
0c4f0c074d
improve busy behaviour with multiple devices
2020-04-20 15:57:30 +02:00
Daniel Gultsch
4558b9a7b0
select proper media for retry
2020-04-20 15:57:30 +02:00
Daniel Gultsch
45d5d1f635
capture in ~1920 resolution when available
2020-04-20 15:57:30 +02:00
Daniel Gultsch
b95d406e61
use more approriate reason when failing because of parse errors
2020-04-20 15:57:30 +02:00
Daniel Gultsch
ec6bcec849
use different aspect ratio for landscape
2020-04-20 15:57:30 +02:00
Daniel Gultsch
36e117979a
put 'video' in ongoing video call notification
2020-04-20 15:57:30 +02:00
Daniel Gultsch
d7e93e18e5
add a couple of todos to RtpSessionActivity
2020-04-20 15:57:30 +02:00
Daniel Gultsch
f995965dea
parse 0339 source groups from sdp
2020-04-20 15:57:30 +02:00
Daniel Gultsch
01a9a52990
show enable/disable video in video calls
2020-04-20 15:57:30 +02:00
Daniel Gultsch
445009c558
request camera permissions
2020-04-20 15:57:30 +02:00
Daniel Gultsch
5a20faaf0f
show 'incoming video cal' notification
2020-04-20 15:57:30 +02:00
Daniel Gultsch
d4788fc1f4
display video call based on availability
2020-04-20 15:57:30 +02:00