Commit graph

4342 commits

Author SHA1 Message Date
Daniel Gultsch cb37321ecb
rtp session propsoal: fix race condition with very fast 'busy' or 'error' 2024-03-30 11:15:41 +01:00
Daniel Gultsch c527e76337
parse invalid jingle actions 2024-03-30 08:48:09 +01:00
Daniel Gultsch 14fb903522
use fake 'tel:0' address on Android 8 2024-03-29 21:22:53 +01:00
Daniel Gultsch 283f363088
use voice call stream to play connect sound 2024-03-29 06:55:24 +01:00
Daniel Gultsch 26dde5370a
use distinct notification id for video transcoder 2024-03-28 13:53:29 +01:00
Daniel Gultsch 378efe1a8a
do not crash when error notification comes after service has shut down 2024-03-27 14:44:17 +01:00
Daniel Gultsch fbfb6c803f
catch early exception in video transcoder 2024-03-27 14:43:34 +01:00
Daniel Gultsch 6b37b6377b
remember mds display state until after mam catchup 2024-03-27 14:11:20 +01:00
Daniel Gultsch dd73b01ab1
rudimentary XEP-0490 implementation 2024-03-27 10:30:14 +01:00
Daniel Gultsch f18ec53233
minor safeguard to ensure call integration ends 2024-03-25 10:58:20 +01:00
Daniel Gultsch 6b5fb6fee6
deliver session-initiate before integrating call
otherwise there could potentially be race conditions with
showIncomingCallUi being called before we have media information
2024-03-25 10:39:31 +01:00
Daniel Gultsch 21732237d4
add safeguards to ringtone playing twice 2024-03-25 08:50:44 +01:00
Daniel Gultsch 400cbd8eee
channel discovery screen code clean up 2024-03-20 07:26:20 +01:00
Daniel Gultsch 3e333eb972
catch exception when checking phone lock state 2024-03-19 18:00:12 +01:00
Daniel Gultsch 3d5d257707
fix system feature detection for call integration 2024-03-16 16:31:32 +01:00
Daniel Gultsch 72d194d8ff
treat delayed destruction call integration as busy 2024-03-16 16:31:32 +01:00
Daniel Gultsch a2c67a6e38
ensure that jingle ft transport is terminated 2024-03-12 19:01:39 +01:00
Daniel Gultsch 0f50f71176
prevent deletion of bookmark w/o also closing conversation 2024-03-12 09:22:26 +01:00
Daniel Gultsch 53029906bc
Merge branch '2.13.x' 2024-03-10 17:41:17 +01:00
Daniel Gultsch 9ad5b68d57
do not attempt unique/exporter channel binding on non conscrypt sockets 2024-03-10 17:40:41 +01:00
Daniel Gultsch e5cffa11be
fix stanza counting error after inline SM enable 2024-03-10 17:38:56 +01:00
Daniel Gultsch 5cca842e66
fix return to call 2024-03-07 13:37:40 +01:00
Daniel Gultsch 71763902f8
do not use call integration on devices w/o telephony support 2024-03-07 11:38:21 +01:00
Daniel Gultsch 20e1f54277
play ringback sound on android 6/7 2024-03-05 13:08:43 +01:00
kosyak cf889b3450 fix npe 2024-03-04 18:34:51 +01:00
Daniel Gultsch 29978a0f2a
null check SurfaceTextureHelper 2024-03-04 09:49:34 +01:00
Daniel Gultsch b9a19dc6c7
do not terminate jingle ft session twice (after iq timeout) 2024-03-04 09:49:34 +01:00
Daniel Gultsch 00f52226d8
execute all account state managments on ping thread 2024-03-04 09:49:33 +01:00
Daniel Gultsch 86b733e159
prevent receiving (as share with target) file URIs
as Element (Matrix client) demonstrated again file URIs are unnecessarily dangerous. On Android 7+ there is no good reason to process them anymore
2024-03-04 09:49:33 +01:00
p42ity e1a2d81294 Added Oukitel WP12 Pro and Volla Phone X to the list of AAC sensitive devices (truncated voice messages workaround) 2024-03-02 12:39:22 +01:00
kosyak c427596107 get rid of command blicks 2024-02-28 22:45:02 +01:00
kosyak 79c7a3748c improve swipe gesture 2024-02-28 22:44:24 +01:00
kosyak 7b239d5412 fix timeout 2024-02-28 22:43:48 +01:00
kosyak dd7a1c1bdb fix npe 2024-02-28 19:29:20 +01:00
kosyak 1726fc86e3 fix notifications fallback color 2024-02-28 19:24:30 +01:00
Daniel Gultsch 6f8d8b9330
log reason for SM resume failure 2024-02-28 12:01:18 +01:00
Daniel Gultsch bd2b9b414e
do not enforce main thread for getting audio devices
fixes #206
2024-02-23 18:02:16 +01:00
Daniel Gultsch f1abfbdf35
work around dead system exception when querying active network 2024-02-23 09:54:13 +01:00
Daniel Gultsch 7eaad9842c
remove mic availability check 2024-02-23 09:54:13 +01:00
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
kosyak 16a834e0eb fix commands related bugs 2024-02-19 03:58:26 +01:00
kosyak 94d9b69c6c fix memory leak 2024-02-19 00:46:18 +01:00
kosyak abcdd96cc9 proper swipe to reply handling 2024-02-18 23:32:44 +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
kosyak 6c8d9c30ab fix multiline reply quote 2024-02-14 18:18:16 +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
kosyak 7db4435e7c throw invalid viewType exception 2024-02-01 20:20:48 +01:00
kosyak 366e5aa389 show real reply text instead of fallback 2024-01-20 00:56:22 +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
kosyak 869f92169d blue led color 2024-01-10 15:00:30 +01:00
kosyak f50bb56ad7 support conversations grouping on ShareWith screen 2024-01-10 00:27:08 +01:00
kosyak 9b748a7b4f change notifications led color 2024-01-10 00:17:46 +01:00
kosyak 6872b36f74 save expanded items in persistent storage 2024-01-09 23:20:11 +01:00
kosyak 5f16051cf7 group conversation by tags 2024-01-01 23:36:07 +01:00
kosyak c4c5aaa6d6 Revert "debug led color"
This reverts commit 60805b28b6.
2024-01-01 18:57:55 +01:00
kosyak a6fbcd62c5 Revert "debug custom led color"
This reverts commit 2b129a1738.
2024-01-01 18:57:50 +01:00
kosyak 2b129a1738 debug custom led color 2024-01-01 12:25:15 +01:00
kosyak 60805b28b6 debug led color 2024-01-01 12:23:35 +01:00
kosyak 510f93ce78 split roster by different accounts 2023-12-27 04:09:18 +01:00
kosyak 54ac152019 fix reply icon tint 2023-12-27 01:11:16 +01:00
kosyak c862959e3f fix crash 2023-12-27 01:11:08 +01:00
kosyak 78410291b7 better self contact handling 2023-12-27 01:11:01 +01:00
kosyak 6284ee12af new ui category in expert settings 2023-12-27 01:10:23 +01:00
kosyak bef39f7e0c led color follows current app primary colort 2023-12-27 01:08:35 +01:00
kosyak 305ae7a288 reactions 2023-12-27 01:07:08 +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
kosyak 9467fc1789 support 'Save to downloads' action for attachments 2023-12-18 04:32:23 +01:00
kosyak db27258c18 fix crop lib compatibility issues 2023-12-18 04:24:49 +01:00
kosyak 73bc3c2617 temporary disable domian jid sanity check 2023-12-17 23:54:58 +01:00
kosyak 7f7e4b10a4 info about pm on muc details screen 2023-12-17 23:46:06 +01:00
kosyak 3ddf8d33f0 fix compilation 2023-12-17 22:16:12 +01:00
kosyak b9f5286898 Merge branch 'master' of https://codeberg.org/iNPUTmice/Conversations
# Conflicts:
#	build.gradle
#	src/main/AndroidManifest.xml
#	src/main/java/eu/siacs/conversations/Config.java
#	src/main/java/eu/siacs/conversations/entities/Bookmark.java
#	src/main/java/eu/siacs/conversations/parser/MessageParser.java
#	src/main/java/eu/siacs/conversations/ui/ConversationFragment.java
#	src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java
#	src/main/java/eu/siacs/conversations/ui/RtpSessionActivity.java
#	src/main/java/eu/siacs/conversations/ui/XmppActivity.java
#	src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java
#	src/main/java/eu/siacs/conversations/xmpp/jingle/ToneManager.java
#	src/main/java/eu/siacs/conversations/xmpp/pep/PublishOptions.java
#	src/main/res/values/strings.xml
2023-12-17 22:14:36 +01:00
kosyak e0231493d0 Merge branch 'master' of https://dev.narayana.im/narayana/Conversations 2023-12-17 20:57:16 +01:00
kosyak 9ebb719d71 allow to merge private messages 2023-12-17 18:44:35 +01:00
Bohdan Horbeshko 69dac97f88 show replies not starting with > 2023-12-16 19:06:40 +02: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
kosyak c09551b4c0 fix sorting 2023-11-13 22:27:18 +01:00
kosyak b2556daacd fix npe 2023-11-13 22:27:11 +01:00
kosyak abc42647ae fix primary color usages 2023-11-13 22:27:05 +01:00