Daniel Gultsch
582aee4718
do not use empty display name for /me command
2021-01-22 12:51:01 +01:00
Daniel Gultsch
3b43cb0bda
do not offer share button when file hasnt been downloaded. fixes #3971
2021-01-22 08:24:19 +01:00
Daniel Gultsch
e711b3d294
remember last rtp capability
2021-01-22 08:24:19 +01:00
Molly Miller
ebbf1ff6b1
Use the account's display name (if set) when rendering /me messages in one-to-one chats.
2021-01-22 07:23:58 +00:00
Daniel Gultsch
9db0808306
show self contact with display name
2021-01-20 08:15:06 +01:00
Daniel Gultsch
eea484af01
move SMS receiver into its own BroadcastReceiver
2021-01-20 08:14:36 +01:00
Daniel Gultsch
26a4598f3c
automatically receive Quicksy SMS. fixes #3962
...
requires new version of QuicksyServer
2021-01-19 15:45:43 +01:00
Daniel Gultsch
49d0558da1
fix tab height in StartConversation screen
2021-01-19 12:58:05 +01:00
Daniel Gultsch
260b203ea3
Revert "just xmpp things"
...
This reverts commit d0a2f1f45f
.
2021-01-19 08:55:22 +01:00
Daniel Gultsch
91cc8f5011
bump various libraries that have been waiting for androidx
2021-01-18 21:49:31 +01:00
Ferdinand Pöll
453ca7c0ed
Migrate from Android Support Library to AndroidX
...
Unignored gradle.properties since androidX requires additions there
See also https://developer.android.com/jetpack/androidx/migrate
2021-01-18 20:49:35 +01:00
Daniel Gultsch
bfccfba00e
fix in call notification being shown twice
2021-01-15 13:03:54 +01:00
Daniel Gultsch
5b48b4027e
code clean up
2021-01-15 10:45:03 +01:00
Daniel Gultsch
d0a2f1f45f
just xmpp things
2021-01-06 11:46:09 +01:00
Daniel Gultsch
372ddbfb49
Revert "offline presences aborts session proposals. fixes #3943 "
...
This reverts commit f23016c967
.
2021-01-06 09:03:42 +01:00
Emmanuel Gil Peyrot
17c697eed9
add 'id' attribute to outgoing ICE-UDP candidates
...
this attribute is mandatory as per the XEP.
2021-01-03 16:32:28 +00:00
Daniel Gultsch
2bec5459c5
properly null check ufrag and pwd before whitespace checking. fixes #3956
2021-01-03 16:05:17 +01:00
Daniel Gultsch
0569febf67
minor code clean up in XmppConnection class
2020-12-31 10:27:06 +01:00
Daniel Gultsch
0e54d8a2cf
implement SCRAM-SHA512
2020-12-31 09:32:05 +01:00
Daniel Gultsch
2a57c92f63
rewrote scram cache implementation
2020-12-30 22:01:08 +01:00
Daniel Gultsch
692ee6c9fb
SCRAM remove cache. made digest and hmac non static
...
DIGEST and HMAC were static variables. Those are initialized by
what ever concrete implementation gets executed first.
(Perform SCRAM-SHA1 first and those variables got initialized with
SHA1 variants)
For subsequent SHA256 executions those variables contained wrong
values.
2020-12-30 15:57:44 +01:00
Daniel Gultsch
f23016c967
offline presences aborts session proposals. fixes #3943
2020-12-22 17:50:26 +01:00
Daniel Gultsch
b4db2e5284
make ongoing call check null safe. fixes #3951
2020-12-22 14:30:54 +01:00
Daniel Gultsch
39229c34f6
cancel touch event after opening context menu in search view
2020-12-18 21:18:09 +01:00
Daniel Gultsch
090b3b18d0
don’t check for inRoster when doing jingle with oneself. fixes #3947
2020-12-11 14:25:56 +01:00
Daniel Gultsch
d1490673bb
work around race condition after opening easy invite dialog
2020-12-11 11:29:23 +01:00
Daniel Gultsch
e38aa30a84
minor code clean up
2020-12-11 11:05:08 +01:00
Daniel Gultsch
f584179f2f
store avatars in cache folder
2020-12-10 19:05:04 +01:00
Daniel Gultsch
9c67e8fec2
fix long pressing on a textview with link
2020-12-08 07:10:54 +01:00
Daniel Gultsch
849968107e
remove unused CopyTextView
...
after removing the ability to select and copy text the transformation methods
provided by CopyTextView are no longer necessary.
2020-12-08 07:08:59 +01:00
Daniel Gultsch
261207a4c0
ignore whitespace when trying to detect provisioning json
...
fixes #3940
2020-12-07 09:03:05 +01:00
Daniel Gultsch
303e205276
if file extension doesn’t exist. try to guess from content type. fixes #3939
2020-12-06 19:22:36 +01:00
Daniel Gultsch
99cb23fe14
share xmpp uri if landing url is not available
2020-12-06 17:57:55 +01:00
Daniel Gultsch
528f192f76
stop parsing random strings as xmpp addresses when scanning uris
2020-12-02 08:19:06 +01:00
Daniel Gultsch
00e1a93014
fixed typo in easy invites request code
2020-12-01 22:39:56 +01:00
Daniel Gultsch
1f392a688d
initial (untested) support for easy onboarding invites
2020-12-01 20:31:30 +01:00
Daniel Gultsch
36f5f77c30
disable autofill for password field when not in init mode
...
maybe fixes #3924
2020-11-16 12:08:10 +01:00
Daniel Gultsch
c7ec6a9dae
let media scanner scan backup file. fixes #3913
...
note that the ROMs I tested this on don’t require scanning for it
to appear on MTP. However it certainly don’t hurt either.
2020-11-15 10:43:21 +01:00
Daniel Gultsch
1fafe4287d
don’t send origin-ids to rooms that support stable-ids. fixes #3905
2020-11-14 11:59:35 +01:00
Daniel Gultsch
16c4e3eec7
keep conversation bold (unread) after responding to a call. fixes #3926
2020-11-14 09:55:43 +01:00
Daniel Gultsch
afb2fb1326
use CoW data structure for read markers. fixes #3904
2020-11-13 20:37:32 +01:00
Christoph Scholz
386b224123
fix escapeing in local channel discovery
2020-11-13 13:35:46 +00:00
Alexei Sorokin
501cdd5edf
do not prepend asterisks before words in search
...
An asterisk is a special FTS4 operator when appended to a word but has no
special meaning when prepended.
2020-11-13 12:43:18 +00:00
Daniel Gultsch
b327548c85
show toast if no application found to attach
2020-11-13 12:50:05 +01:00
Daniel Gultsch
5ad054617b
use instead of message id for receipt processing
2020-11-12 13:33:27 +01:00
Daniel Gultsch
ff13cc2766
extracting chat state for chat with self should not cause markRead event. fixes #3906
2020-10-20 10:20:58 +02:00
Daniel Gultsch
dc72bc5bc3
extend logging for not finding query
2020-10-08 20:21:53 +02:00
eta
364502d1a3
Fix various memory leaks reported by LeakCanary
...
- In some places, we weren't nulling out references to destroyed objects. This
fixes that.
- (These were all discovered via LeakCanary instrumentation, and the fixes are
hopefully rather straightforward-looking.)
2020-10-05 11:33:29 +00:00
eta
b4805ac2c5
Remove the ListSelectionManager / message body selection (fixes memory leak!)
...
- When the `viewHolder.messageBody` `TextView` created by a `MessageAdapter` is
set to selectable, it leaks an `android.widget.Editor` (because that editor
registers a view observer that never gets unregistered).
- This memory leak is really quite problematic, as the message adapter is used
a lot!
- Having the text be selectable is useless anyway, though; there isn't any way
to select it (because long pressing just opens the context menu anyway).
- It looks like the ListSelectionManager was meant to track selections across
multiple messages. However, I'm not sure this feature ever gets used.
- Accordingly, this commit removes the entire feature, thus fixing the memory
leak (since no `Editor` objects are ever created).
- It should also reduce memory usage in general, since we aren't attaching an
`Editor` to every single textview we create.
- A `TextView` only allocates an `Editor` if you ask it to do certain things,
like make the text selectable or register custom selection callbacks.
2020-10-05 11:33:12 +00:00
Daniel Gultsch
7fb617e39a
disable 'leave before join'
...
leaving a MUC before joining it was a work around for servers that did not treat a
<x/> join as a full join and didn’t send the full user list if they thought the user was
still in the room.
this happens if Conversations restarts after an inproper disconnect. The MUC will think
the user is still in the room.
however nowadays most modern servers will treat <x/> joins as full joins. on the user hand
leave before join would trigger flood prevention on ejabberds and race the first message
with the actual join (making the message arrive before the user is considered in the room)
2020-09-02 10:14:02 +02:00
Daniel Gultsch
27c89e487a
restructure conversation menu
...
we don’t want 'manage accounts' and 'settings' to show up when within a conversation.
we also move out disable notifications and add to favorites into an overflow overflow
to make the menu shorter (after adding 'Search messages' it became very crowded)
2020-09-01 16:50:28 +02:00
Daniel Gultsch
73dac680e5
show notification if message failed to deliver. closes #3540
2020-09-01 14:04:38 +02:00
Daniel Gultsch
3281a93dc3
use content description for play/pause button in audio player
2020-08-31 17:42:03 +02:00
Daniel Gultsch
f76ef17494
provide content descriptions for call screen
2020-08-31 17:30:54 +02:00
Daniel Gultsch
ce81123112
use content description in search fields
2020-08-31 17:12:31 +02:00
Daniel Gultsch
2de8f3d35b
change title of lock icon when changing encryption
2020-08-31 16:56:23 +02:00
Daniel Gultsch
97fe9fa01f
parse error messages from MAM results
2020-08-31 14:38:48 +02:00
Daniel Gultsch
c48499253b
set content description for all avatars
2020-08-31 13:05:10 +02:00
Daniel Gultsch
3c0773c6e7
use darker accent color in light theme
2020-08-31 11:19:27 +02:00
Daniel Gultsch
064264c20b
parse 'received' carbon-copied error messages. fixes #3803
2020-08-31 11:06:26 +02:00
Daniel Gultsch
3dcb36a417
persist presence name (pep, nick in subscribe) to DB. fixes #3856
2020-08-31 09:03:54 +02:00
Daniel Gultsch
35af8894d2
search individual conversations. fixes #3243
2020-08-29 08:16:08 +02:00
Daniel Gultsch
d158eeaf72
terminate jingle call when regular call starts
2020-08-24 12:47:54 +02:00
Daniel Gultsch
91e94db747
extend isBusyState to check phone state as well
2020-08-24 09:51:26 +02:00
Daniel Gultsch
15b323ee69
fix crash after session-accept failed and session-accept contained candidates
...
Conversations would attempt to feed any candidates found in the session-accept into
WebRTC; even if the session wasn’t setup correctly.
this commit processes the candidates only if the session was setup correctly
fixes #3867
2020-08-22 08:12:28 +02:00
Daniel Gultsch
f3362ebde5
add start/install orbot to error notification if applicable. fixes #3846
2020-08-19 15:29:25 +02:00
Daniel Gultsch
70c10fd0de
listen to orbot events instead of using intent result to reconnect account
2020-08-19 13:57:33 +02:00
Daniel Gultsch
7d2a7d536d
fix attachments getting lost when switching to chat during call
...
fixes #3854
2020-08-05 21:31:56 +02:00
Daniel Gultsch
129f43a349
verify hostname is valid before letting user save it
2020-08-01 15:03:20 +02:00
Daniel Gultsch
637c0cb15a
fixed rare race condition when receiving transport info right after WebRTCWrapper closes
...
fixes #3849
2020-08-01 14:18:03 +02:00
Daniel Gultsch
1ae7d6be16
recover from pre-jingle connection states (discover etc) into full fledged jingle connection
...
fixes #3847
2020-08-01 09:50:54 +02:00
Daniel Gultsch
f22e33e3ea
fixed race condition of WebRTCWrapper being closed before transitioning into terminal state
...
JingleRTPConnection shuts down the WebRTCWrapper before transitioning into a terminal state.
(This allows us to make sure it is actually closed when reaching that state);
However that means that, when we get a UI redrawn inbetween closing and transitioning we might
still be in SESSION_ACCEPTED but with no PeerConnection. This traditionally has triggered
an IllegalStateException on getting the EndUserState.
This commit catches the ISE and returns 'ENDING' instead.
Chances are that this is only visibiliy for a very brief time in the UI before the transition
triggers the UI to redraw with the proper state.
fixes #3848
2020-08-01 08:20:10 +02:00
Daniel Gultsch
f5f9075da2
FileObserver: start monitoring new directories when they are created
2020-07-30 12:55:19 +02:00
Daniel Gultsch
9cd4e1d581
show toast when correction fails
2020-07-26 17:03:51 +02:00
Daniel Gultsch
6941d5edd1
ignore IQ result when MAM query had been killed
2020-07-26 16:39:48 +02:00
Daniel Gultsch
9bec186292
ignore RTP session logs when looking for LMC. fixes #3843
2020-07-26 13:46:01 +02:00
Daniel Gultsch
16300727d1
try to guess mime type via extension in display name
2020-07-21 10:19:21 +02:00
Daniel Gultsch
28856aaf9f
add icons for gpx files
2020-07-19 21:27:43 +02:00
Daniel Gultsch
32d55346cc
ensure server triggered jingle iq-errors get routed properly
2020-07-18 16:14:39 +02:00
Daniel Gultsch
9e6f7237af
use smaller image previews on narrow screens
2020-07-12 12:31:13 +02:00
Daniel Gultsch
7aeb2b2740
pulled translations from transifex. re-enabled some linter warnings
2020-07-12 10:15:51 +02:00
Daniel Gultsch
590deef8e9
use ctrl+arrow up to correct last message. fixes #3806
2020-07-12 09:45:27 +02:00
Daniel Gultsch
c9e6653e33
fixups and code clean up for 'Ctrl+Enter'
2020-07-12 08:28:09 +02:00
Marcin Mielniczuk
e7e04837b6
Support sending messages with ctrl+enter
...
Currently Conversations lacks any keyboard shortcut to send a message if enter_is_send is disabled.
KeyboardListener has been extended to include the original KeyEvent as an argument.
fixes #3829
2020-07-12 05:18:40 +00:00
Daniel Gultsch
c3fa1d5d30
show switch to chat button during audio call. fixes #3825
2020-07-10 19:30:16 +02:00
Daniel Gultsch
bab9dd4893
make sure intent is only set to retracted if something was retracted. fixes #3826
2020-07-10 16:10:40 +02:00
Daniel Gultsch
bf85a55930
catch NPE when detecting camera facing. fixes #3820
2020-07-09 20:11:09 +02:00
Daniel Gultsch
1107529f56
ask for contact permission before adding to contact to phone book. fixes #3808
2020-07-09 20:03:02 +02:00
Daniel Gultsch
6a6c9fb3bf
ignore race condition when toggling fixes #3822
2020-07-09 19:14:28 +02:00
Daniel Gultsch
71a56002fe
fix emojis not rendering correctly with trailing variant selector. fixes #3819
2020-07-09 17:43:30 +02:00
Daniel Gultsch
13d8eb1c7e
dismiss notification only if displayed id matches last remote id
2020-06-24 12:12:35 +02:00
Daniel Gultsch
fada3a63c9
store entire transport info for after session was accepted. fixes #3790
2020-06-22 18:07:27 +02:00
Daniel Gultsch
a5430d5ce1
retract call when user presses home button or back; not on stop. fixes #3802
2020-06-22 15:37:22 +02:00
Daniel Gultsch
57135e1a59
do not update recent quick action when recording voice mail. fixes #3799
2020-06-21 16:28:57 +02:00
Daniel Gultsch
15489547b7
add account provisioning via QR code to welcome screen
2020-06-21 15:40:51 +02:00
Andrey Tikhomirov
203e248a14
Fix screen blinking during the call for some Samsung phones ( #3800 )
2020-06-21 06:56:51 +00:00
Daniel Gultsch
dddb7ece25
show app failure instead of crashing when egl fails to init. fixes #3795
2020-06-18 20:37:56 +02:00
Daniel Gultsch
169ee99afa
do not attempt to reject call if session had already ended. fixes #3798
2020-06-18 20:32:58 +02:00
Daniel Gultsch
7bcb29c482
be more liberal in 0167 payload-type parameter parsing
...
some implementations will transform the following SDP coming from Firefox
m=audio 12346 RTP/AVP 101
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
to
<payload-type channels="1" name="telephone-event" clockrate="8000" id="101">
<parameter value="0-15" xmlns="urn:xmpp:jingle:apps:rtp:1"/>
</payload-type>
While a missing name attribute is not legal according to the XEP; and 0-15 are
technically not just one value the following commit will accept it if there is
just one paramater.
2020-06-17 21:15:12 +02:00
Daniel Gultsch
47804205b6
clear pending photo uri only when also clearing activity result
...
on some phones the onBackendConnected finishes prior to the onActivityResult()
leading to the pending photo uri being cleared before processing the result.
this leads to 'Take photo' not working.
but we probably don’t need to clear the photo uri if there is to activiyResult
to clear as well
2020-06-17 17:58:25 +02:00
Dmitry Markin
4493f6cc13
Leave the incoming call notification category as CATEGORY_CALL ( #3792 )
2020-06-16 19:07:01 +00:00
Daniel Gultsch
c8f23aef4e
error response to sending the jingle ft hash should not file the transfer
2020-06-15 21:33:32 +02:00
Daniel Gultsch
98e1044bdd
use Jid.ofLocalAndDomainEscaped when transforming account with locked domain
2020-06-15 19:17:21 +02:00
Daniel Gultsch
20286ea8d2
fixed concurrent modification when displaying read markers
2020-06-14 19:09:55 +02:00
Daniel Gultsch
1f77d5e115
pass selected audio device to proximity sensor toggle
2020-06-14 16:22:53 +02:00
Daniel Gultsch
16bc210211
fix regression for fixed domain
2020-06-14 11:28:25 +02:00
Daniel Gultsch
c3b9a4dabc
parse jmi proposals from MAM reloads. fixes #3778
2020-06-14 10:34:40 +02:00
Daniel Gultsch
ccdc91a497
remove check that would ensure you use jingle only with full jids
2020-06-14 09:01:47 +02:00
Daniel Gultsch
400c8461fc
fix feature discovery in jingle file transfer for empty resources
2020-06-13 22:53:24 +02:00
Daniel Gultsch
fda9e7b51c
make presence selector work with empty resources (bare jid)
2020-06-13 09:59:39 +02:00
Daniel Gultsch
0dba9f560c
rework quicksy domain checks
2020-06-13 08:26:32 +02:00
Daniel Gultsch
56ea9647cd
null check quicksy domain
2020-06-13 08:10:04 +02:00
Daniel Gultsch
971bb60f42
add more logging to caps fetching
2020-06-12 20:06:49 +02:00
Daniel Gultsch
0ba4892d3e
RTP: write log message on background thread
2020-06-12 09:08:09 +02:00
Daniel Gultsch
b7f3b4333e
show help button on certain error conditions in RTP session. fixes #3770
2020-06-12 08:26:33 +02:00
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