Commit graph

1642 commits

Author SHA1 Message Date
Daniel Gultsch aa1e69d277 use escaped jid for EXTRA_ACCOUNT 2020-05-20 20:14:13 +02:00
Daniel Gultsch bfeebc141f invalide options menu after pinning/unpinning. fixes #3745 2020-05-19 19:39:05 +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 a0920b83e2 use Account.getDomain() for direct access to domain jid 2020-05-17 10:24:46 +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 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 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 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 476fb23656 show timestamp for missed incoming calls. fixes #3692 2020-05-03 18:36:15 +02:00
Daniel Gultsch e70b6eec98 do not mirror back camera. fixes #3693 2020-05-03 11:54:58 +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 48163a5604 show proposal as ongoing call 2020-05-02 09:50:17 +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 54ca3fb020 release video after end card reached. fixes video call retry 2020-04-29 09:22:49 +02:00
Daniel Gultsch 0d4b175760 better failure behaviour after direct init from jitsi 2020-04-29 08:51:38 +02:00
Daniel Gultsch 07911b2094 indicate ongoing call. fixes #3675 2020-04-27 11:53:31 +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 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 e0cb127005 retract call when pressing home or power button during ringing 2020-04-21 22:46:46 +02:00
Daniel Gultsch eb911b8196 show 215 status in server info 2020-04-21 11:40:05 +02:00
Daniel Gultsch 23d1ee5e41 render contact’s avatar during incoming call 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 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 ab2681640a allow pip during connecting 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 4558b9a7b0 select proper media for retry 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 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
Daniel Gultsch b4df19177f make seperate menu items for audio and video calls 2020-04-20 15:57:30 +02:00
Daniel Gultsch 17d9b02f41 properly paint local video over remote 2020-04-20 15:57:30 +02:00
Daniel Gultsch 8c273e7eee parse media from session proposal 2020-04-20 15:57:30 +02:00
Daniel Gultsch 1489dba44f release resource. stop caputuring when webrtc ends 2020-04-20 15:57:30 +02:00
Daniel Gultsch b20b00e77f use toolbar to display status text in RtpSessionActivity 2020-04-20 15:57:30 +02:00
Daniel Gultsch 339bdaea06 rudimentary video caputuring 2020-04-20 15:57:30 +02:00
Daniel Gultsch 493ca68464 add <rtcp-mux/> in description 2020-04-20 15:57:30 +02:00
Daniel Gultsch ef22071bd1 turn proximity wake lock and/off depending on speaker configuration 2020-04-20 15:57:30 +02:00
Daniel Gultsch 9bc264bd73 do not use proximity wake lock on speaker phone 2020-04-20 15:57:30 +02:00
Daniel Gultsch 981aeaf264 make mute and speaker button work 2020-04-20 15:57:30 +02:00
Daniel Gultsch b924a63d01 copy audio manager from AppRTCDemo 2020-04-20 15:57:30 +02:00
Daniel Gultsch 9a41d11aed do not show context menu for call logs 2020-04-20 15:57:30 +02:00
Daniel Gultsch 3439f40411 show call log messages in conversation stream 2020-04-20 15:57:30 +02:00
Daniel Gultsch deaa76b5ca when using onNewIntent make sure to store intent otherwise onBackground might just overwrite it again 2020-04-20 15:57:30 +02:00
Daniel Gultsch 609120c0d8 only ever create one wake lock in rtpsessionactivity 2020-04-20 15:57:30 +02:00
Daniel Gultsch 07e671d7c3 do not offer jingle calls when using Tor 2020-04-20 15:57:30 +02:00
Daniel Gultsch 9d83981f2c respond with busy if there is anthor rtp session 2020-04-20 15:57:30 +02:00
Daniel Gultsch d19b5e0634 show notification during ongoing call 2020-04-20 15:57:30 +02:00
Daniel Gultsch 2e8b91665b improvements to RtpSessionActivity 2020-04-20 15:57:30 +02:00
Daniel Gultsch 14d008d89d turn screen off during call 2020-04-20 15:57:30 +02:00
Daniel Gultsch 0302eacac1 back button rejects or ends call 2020-04-20 15:57:30 +02:00
Daniel Gultsch f5c4de8770 make retry work 2020-04-20 15:57:30 +02:00
Daniel Gultsch 6a1df0538e request recording permission when making or accepting audio calls 2020-04-20 15:57:30 +02:00
Daniel Gultsch 7749a7ce22 fixed rotation issues in RtpSessionActivity 2020-04-20 15:57:30 +02:00
Daniel Gultsch 268eedad89 proper iq tracing (handling of errors); responding to all iqs 2020-04-20 15:57:30 +02:00
Daniel Gultsch 15a2491d7b correctly parse turn server 2020-04-20 15:57:30 +02:00
Daniel Gultsch 859bc0bef3 send and receive session terminates 2020-04-20 15:57:30 +02:00
Daniel Gultsch 00f273b0c0 show retry button after failed call 2020-04-20 15:57:30 +02:00
Daniel Gultsch 9edadc9835 process retract jingle messages 2020-04-20 15:57:30 +02:00
Daniel Gultsch a11d506bf0 support reject 2020-04-20 15:57:30 +02:00
Daniel Gultsch 7909a72d43 make retract jingle messages work 2020-04-20 15:57:30 +02:00
Daniel Gultsch e2f1cec2e5 prepare more state transitions 2020-04-20 15:57:30 +02:00
Daniel Gultsch ccfc55e9b6 show proper notification on incoming call 2020-04-20 15:57:30 +02:00
Daniel Gultsch 4c6ee9693a use appbarlayout in RtpSessionActivity 2020-04-20 15:57:30 +02:00
Daniel Gultsch 0e88b56eb4 display status information in ui 2020-04-20 15:57:30 +02:00
Daniel Gultsch a9a35fb74b show status in RtpSessionActivity 2020-04-20 15:57:30 +02:00
Daniel Gultsch f8c0328416 dummy Jingle activity 2020-04-20 15:57:30 +02:00
Daniel Gultsch 3b857e6894 create temporary RtpSessionPropsoal as placeholder before we can create actual session 2020-04-20 15:57:30 +02:00
Daniel Gultsch 766d1d603e show preliminary call button if contact supports it 2020-04-20 15:57:30 +02:00
Daniel Gultsch 23ebb6ae80 rename JingleConnection to JingleFileTransferConnection; use ID tuple to identify sessions 2020-04-20 15:57:29 +02:00
Daniel Gultsch 62934e6487 change wording of previous commit 2020-03-31 19:49:08 +02:00
Daniel Gultsch ff18ea452d display toast when trying to join channel with no enabled accounts 2020-03-31 19:46:05 +02:00
Daniel Gultsch 3d0138506d fixed typo. closes #3667 2020-03-31 11:18:16 +02:00
Daniel Gultsch b2e9a954ab avoid bundled source selection that comes with ImageCropper on Android 10 2020-03-05 13:17:18 +01:00
Daniel Gultsch e4685ad47a hide local part of group chat xmpp address 2020-02-17 11:10:41 +01:00
Daniel Gultsch d37aeef182 prevent sharing of xmpp uri for group chat bookmarks 2020-02-16 17:30:54 +01:00
Daniel Gultsch 9b55d90705 do not warn user if bookmark already exists
fixes #3631
2020-02-16 16:04:45 +01:00
Daniel Gultsch d64bc1776b show pdf previews in media browser
fixes #3639
2020-02-14 16:02:15 +01:00
Daniel Gultsch c34d40ebff fix user adapter view recycling bug 2020-02-14 12:04:11 +01:00
Daniel Gultsch 2aee26c49a display PDF previews 2020-02-11 17:41:54 +01:00
Daniel Gultsch 843d7fe12d evict cached previews when file gets deleted 2020-01-20 10:54:55 +01:00
Daniel Gultsch e38a9cd729 omemo changes: use 12 byte IV, no longer accept auth tag appended to payload 2020-01-18 12:08:03 +01:00
Daniel Gultsch c8b5b96af9 support xmpp uris with single 'omemo' parameter for fingerprint (w/o sid) 2020-01-16 18:54:56 +01:00
ChaosKid42 f1d4127ace simplify osm attribution (#3613) 2020-01-11 15:25:58 +01:00
Daniel Gultsch f57a28ca32 add scan qr button to welcome screen
closes #2920
2020-01-11 14:06:35 +01:00
Daniel Gultsch 9653d68bdd parse install referrer from gplay 2020-01-10 12:51:04 +01:00
Daniel Gultsch 6025e5de28 make registration uris work with fixed usernames 2020-01-09 20:10:19 +01:00
Daniel Gultsch e57bd477a9 preselect proper account in create contact dialog after following invite 2020-01-09 17:42:02 +01:00
Daniel Gultsch 6205574bcb support ?roster;ibr=y xmpp uris 2020-01-09 17:42:02 +01:00
Daniel Gultsch d039c4870f support registration via pars tokens 2020-01-09 17:42:02 +01:00
Daniel Gultsch 9ccb5fdb46 show edit display name in all flavors 2020-01-05 15:59:54 +01:00
Daniel Gultsch 83e1d0d0a5 make checkmark icon more material 2020-01-05 13:30:26 +01:00
Anjan Momi 0ddfc51d6c show number of participants in a MUC
fixes #3447
2020-01-05 11:22:39 +01:00
Anjan Momi 0315b3b5c2 added openstreetmap copyright notice to maps
fixes #3588
2020-01-04 20:44:05 +01:00
Daniel Gultsch ed4a73e1c7 persist file size across aborts
fixes #3601
2019-12-26 19:01:01 +01:00
Daniel Gultsch 00361e1e3d make + in e164 pattern not optional 2019-12-06 11:16:33 +01:00
Daniel Gultsch eb943619af do not crash when audio file reports zero length 2019-11-10 11:30:58 +01:00
Daniel Gultsch 8d6fdfbde7 disable local server disco on Quicksy flavor 2019-11-09 10:20:58 +01:00
Daniel Gultsch 7cc2478f5c remove 'send indicate' setting and default to true 2019-11-08 12:23:06 +01:00
Daniel Gultsch b320dea4d9 fixed spinning wheel when switching between local and jabber.network discovery 2019-11-08 12:18:39 +01:00
Daniel Gultsch abc1cb5a89 remove 'indicate received' setting and default to true 2019-11-08 12:06:38 +01:00
Daniel Gultsch 7f25d91d33 do not validate port if hostname is empty. closes #3578 2019-11-03 22:03:46 +01:00
Daniel Gultsch f7b7464a65 fixed links in privacy warning in channel discovery. fixes #3577 2019-11-02 17:00:23 +01:00
Daniel Gultsch 07786d4576 optionally search local muc rooms instead of jabber.network 2019-11-02 09:43:37 +01:00
Daniel Gultsch ecad9cbe3c catch security exception when passing on share intent that didn’t give us permission 2019-11-01 10:40:17 +01:00
Daniel Gultsch 9bea8074ab fixed loading channel results from cache 2019-10-11 19:39:45 +02:00
Daniel Gultsch ddffe198c6 change background if no results found in channel search. fixes #3559 2019-10-10 12:54:43 +02:00
Daniel Gultsch 2ab65609e4 always show 'contact details' on avatar long press in non-anon 2019-10-09 20:40:56 +02:00
Daniel Gultsch 4df8343b05 set autojoin=true after following invite 2019-10-07 09:51:03 +02:00
Daniel Gultsch 95bf66ca7d Bookmarks2: support retraction 2019-10-07 09:37:12 +02:00
Daniel Gultsch 6923b2898c WIP Bookmarks 2 support 2019-10-07 09:37:12 +02:00
Daniel Gultsch 01fc78d2a5 disable context menu on failed jingle files. fixes #3556 2019-10-05 22:05:03 +02:00
Daniel Gultsch d6835101b9 fixes for previous commit 2019-10-05 21:58:21 +02:00
Daniel Gultsch 37b87e18ee fix NPE when using channel search and DOMAIN_LOCK closes #3458 2019-10-01 12:24:57 +02:00
Daniel Gultsch aef394c9f0 ability to open files from media preview. fixes #3521 2019-09-29 02:00:06 +02:00
Daniel Gultsch 7b160a358e do not add 'quote' when sharing own msgs 2019-09-28 23:56:29 +02:00
Daniel Gultsch 11736ce48c make list selection manager work with app compat 2019-09-26 23:47:55 +02:00
Daniel Gultsch 6c5b71440f channel search result long press to show join dialog 2019-09-24 17:29:34 +02:00
Daniel Gultsch 75d35c357e print emoji only status messages larger 2019-09-22 11:39:34 +02:00
Daniel Gultsch 3820950408 show context menu in channel search to share uri 2019-09-21 10:51:05 +02:00
Daniel Gultsch 02351dc0fb fixed direct invites after adhoc 2019-09-18 09:55:18 +02:00
Daniel Gultsch d963d95e30 fixed some minor NPE 2019-09-16 14:20:15 +02:00
Daniel Gultsch 9bf5fb98ac show language in message bubble if multiple language variants were received
XML and by inheritence XMPP has the feature of transmitting multiple language
variants for the same content. This can be really useful if, for example, you
are talking to an automated system. A chat bot could greet you in your own
language.

On the wire this will usually look like this:

```xml
<message to="you">
  <body>Good morning</body>
  <body xml:lang="de">Guten Morgen</body>
</message>
```

However receiving such a message in a group chat can be very confusing and
potentially dangerous if the sender puts conflicting information in there and
different people get shown different strings.

Disabeling support for localization entirely isn’t an ideal solution as on
principle it is still a good feature; and other clients might still show a
localization even if Conversations would always show the default language.

So instead Conversations now shows the displayed language in a corner of the
message bubble if more than one translation has been received.

If multiple languages are received Conversations will attempt to find one in
the language the operating system is set to. If no such translation can be
found it will attempt to display the English string.

If English can not be found either (for example a message that only has ru and
fr on a phone that is set to de) it will display what ever language came first.

Furthermore Conversations will discard (not show at all) messages with with
multiple bodies of the same language. (This is considered an invalid message)

The lanuage tag will not be shown if Conversations received a single body in
a language not understood by the user. (For example operating system set to
'de' and message received with one body in 'ru' will just display that body as
usual.)

As a guide line to the user: If you are reading a message where it is important
that this message is not interpreted differently by different people (like a
vote (+1 / -1) in a chat room) make sure it has *no* language tag.
2019-09-12 10:12:51 +02:00
Daniel Gultsch a39fff5c8e fixed 2 issues reported by new linter 2019-09-11 15:42:43 +02:00
Daniel Gultsch 7d6bd540d9 version bump to 2.5.7 + changelog 2019-08-29 12:14:01 +02:00
Daniel Gultsch 29d0bed38b when sharing text from Conversations to Conversations use quotes 2019-08-26 13:40:47 +02:00
Daniel Gultsch f11adf4c02 do not put default nick into bookmark if none has been set before 2019-08-19 13:55:52 +02:00