Commit Graph

103 Commits

Author SHA1 Message Date
Marcel Hibbe
2408d639e4
Offline support for conversations and chats
Authors: Julius Linus and Marcel Hibbe

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:03 +02:00
Julius Linus
6a01ebf630
Message Input Refactoring
- Added io folder for Abstracting away background work
- AudioFocusRequestManager
- MediaPlayerManager
- MediaRecorderManager
- AudioRecorderManager

Included new View Models + Fragments to separate concerns

- MessageInputFragment
- MessageInputVoiceRecordingFragment

Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-06-05 17:45:01 +02:00
Andy Scherzinger
3eabf9bb83
Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-03-29 12:55:12 +01:00
Marcel Hibbe
dd6991e39e
remove hardcoded devices for webrtc audio setup
android-talk-webrtc in version 121.6167.0 doesn't allow access to
WebRtcAudioManager
WebRtcAudioUtils
anymore.

These classes were used for
HARDWARE_AEC_EXCLUDE_SET
and
OPEN_SL_ES_INCLUDE_SET
lists, which were not updated for years.

For these reasons the checks for HARDWARE_AEC_EXCLUDE_SET and OPEN_SL_ES_INCLUDE_SET are removed.
If people are complaining about different behaviour of audio performance/echoes, it's worth to have a closer look at the changes again.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-02-27 15:23:11 +01:00
Marcel Hibbe
a190fb6cf7 Use own okHttpClient for coil ImageLoader
This change will use the own okHttpClient which also contains the trusted key.

It will avoid the SSLHandshakeException:

E/RealImageLoader: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
        at com.google.android.gms.org.conscrypt.ConscryptFileDescriptorSocket.startHandshake(:com.google.android.gms@224915028@22.49.15 (100400-499306216):25)
        at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.kt:379)
        at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.kt:337)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-03-14 16:28:27 +00:00
Marcel Hibbe
f05b218743
Extract worker initialization
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-03-10 16:24:15 +01:00
Marcel Hibbe
609e5a2c71
Use WorkManager queue to chain workers.
This is necessary as many of the workers store user data. When running in parallel, there are race conditions and user data that was stored by one worker gets directly overwritten by the next worker. E.g. this happened with the "externalSignalingServer" attribute of user:
SignalingSettingsWorker saved the user with the externalSignalingServer value, but then
CapabilitiesWorker kicked in and saved the user without this value.

Because of this, in WebsocketConnectionsWorker getExternalSignalingServer() of the user was null.
Because of this, webSocketConnectionHelper.getExternalSignalingInstanceForServer(..) was not called.
So the webSocketInstanceMap in WebSocketConnectionHelper was never filled.
This is why WebSocketConnectionHelper.getMagicWebSocketInstanceForUserId(..) in ChatController failed to get a webSocketInstance.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-03-10 14:44:20 +01:00
Marcel Hibbe
39441ae075
Move setupWebsocket() to onAttach() in ChatController
Add toast warning for debug mode

Rename "magic" stuff

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-03-10 14:25:49 +01:00
Andy Scherzinger
825354881e
Reformat code
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-02-16 11:41:32 +01:00
Andy Scherzinger
4c614c06ac
Migrate to emoji2
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-12-07 15:59:01 +01:00
Tim Krüger
4b46270362
Set minSdkVersion to 23 (Android 6)
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-12-07 13:45:57 +01:00
Tim Krüger
49da463971
Replace Fresco with Coil
Fresco is replaced with Coil everywhere to make it possible to set 'minSdkVersion'
to 23. But Coil is not used directly to avoid splintering the dependency
everywhere in the code. Coil is wrapped by extension functions for 'ImageView'.

Some shared functionality is moved from 'DisplayUtils' into the
'ImageViewExtensions'.

The exisiting initialization of Coil has also be changed. The usage of the self
initialized OKHttp client is removed. If this one is added the
caching of the http client is used by Coil additionally to memory and
disk cache.

Resolves: #2227, #2376

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-12-07 13:45:42 +01:00
Álvaro Brey
9bbeb9b420
Base framework for server theming
Includes PoC with ConversationListController's FAB

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-08-10 19:17:30 +02:00
Andy Scherzinger
66b2d44739
finish migration to room: remove requery
Resolves #2244

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-26 21:16:38 +02:00
Álvaro Brey
cb2ee730fa
WIP: upload profile picture from camera
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-07-07 13:51:55 +02:00
Andy Scherzinger
49792ecf1e
rename blacklist/whitelist variables to include/exclude sets to reflect their collection type
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-18 16:29:57 +02:00
Andy Scherzinger
cd44de757c
code reformatting
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-18 15:17:08 +02:00
Andy Scherzinger
08f5274af9
add cipher migration for version 4 of sqlcipher
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-18 14:44:45 +02:00
Álvaro Brey
eddb90d31b
Message search: avoid passing user entity to repository, inject userProvider instead
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-06-01 16:49:20 +02:00
Álvaro Brey
716dcfe01d
DI: Setup viewmodel injection
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-05-23 17:35:04 +02:00
Andy Scherzinger
602c197dae
Update to coil 2.x API
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-20 13:38:58 +02:00
Andy Scherzinger
ac703a6ac7
extract magic numbers
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-03-15 17:46:40 +01:00
Tim Krüger
a94f0f1bf1
Adopt more parts from files app [WIP]
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-25 12:11:36 +01:00
Marcel Hibbe
9b55467af3
moved execution of setUpPushTokenRegistration
so token is registered everytime the conversation list is opened.

In NextcloudTalkApplication it was not  executed when app was still in background when opening

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 15:00:32 +01:00
Marcel Hibbe
c8274fe740
add string for origin to PushRegistrationWorker for debugging
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 15:00:31 +01:00
Marcel Hibbe
4629d02dc4
add copyright + minor refactoring
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 15:00:31 +01:00
Marcel Hibbe
06afd7bec6
set up periodic fetch of firebase token in ClosedInterface for gplay
move OneTimeWorkRequest for PushRegistrationWorker from NextcloudTalkApplication to ClosedInterface for gplay

add check in PushRegistrationWorker if google services are available

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 15:00:31 +01:00
Dariusz Olszewski
2f4aa35c53
Register notification channels on app start-up (Oreo or later)
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2021-12-14 22:05:48 +01:00
Andy Scherzinger
f8a8b81ef7
line length 1220 characters
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-08 17:36:43 +02:00
Andy Scherzinger
e82808080d
reformat kotlin code to comply with ktlint
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-04-27 18:16:51 +02:00
dependabot[bot]
ac9c0cc8ea
Bump coil-gif from 0.9.1 to 1.2.0 and update code to changed coil 1.2.0 API
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-04-27 10:13:39 +02:00
Marcel Hibbe
b50501a38f
bump google-webrtc to 1.0.32006
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-02-10 10:59:16 +01:00
Mario Danic
d21d5f51b4
Implemented most of message replies
# Conflicts:
#	app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt
#	app/src/main/res/layout/view_message_input.xml
#	app/src/main/res/values/strings.xml
2020-01-13 12:07:32 +01:00
Mario Danic
f9ecf17504 Fix #601
Signed-off-by: Mario Danic <mario@lovelyhq.com>
2019-08-30 13:45:35 +02:00
Mario Danic
6a5aaac224 Lobby & Various bugfixes and improvements
Includes conversion to Kotlin of some files

Signed-off-by: Mario Danic <mario@lovelyhq.com>
2019-08-30 12:13:33 +02:00
Mario Danic
14efe5992a Clean up MerlinTheWizard
Signed-off-by: Mario Danic <mario@lovelyhq.com>
2019-08-30 12:13:33 +02:00
Mario Danic
925ac6724e Various updates to theming settings & fixes
Signed-off-by: Mario Danic <mario@lovelyhq.com>
2019-08-09 17:56:37 +02:00
Daniel Bailey
8a013cb837 Base commit for dark theme v1.5
Signed-off-by: Daniel Bailey <daniel.bailey@grappleIT.co.uk>
2019-08-09 17:56:37 +02:00
Dominik Schürmann
ee44394268 add FIDO U2F support using WebViewFidoBridge
Signed-off-by: Dominik Schürmann <dominik@schuermann.eu>
2019-08-08 18:31:29 +02:00
Mario Danic
9a441d8c4a Remove automatic scroll
Signed-off-by: Mario Danic <mario@lovelyhq.com>
2019-08-01 11:01:13 +02:00
Mario Danic
aca1f9a13d Fix various issues with emojis
Signed-off-by: Mario Danic <mario@lovelyhq.com>
2019-07-22 12:41:54 +02:00
Mario Danic
ef2d1b8c92 Initial file logging
Signed-off-by: Mario Danic <mario@lovelyhq.com>
2019-05-31 12:46:49 +02:00
Mario Danic
27d69e73d1 Fix up internet reconnections
Signed-off-by: Mario Danic <mario@lovelyhq.com>
2019-05-29 15:16:44 +02:00
Mario Đanić
4143bd841e
Fresco and sharing (#531)
* Various improvements

This is literally the worst commit I ever did, but due to rebasing issues this is how it is.

* Fixes after rebase

Signed-off-by: Mario Danic <mario@lovelyhq.com>

* Updates post-rebase

Signed-off-by: Mario Danic <mario@lovelyhq.com>

* Updates #2 post rebase

Signed-off-by: Mario Danic <mario@lovelyhq.com>

* Update deps

Signed-off-by: Mario Danic <mario@lovelyhq.com>
2019-04-24 08:32:19 +02:00
Mario Danic
76a435cb84 Update deps & fix periodic capability job
Signed-off-by: Mario Danic <mario@lovelyhq.com>
2019-03-06 13:55:26 +01:00
Mario Danic
183c7afd5d Implement leave & delete in conversation info
Signed-off-by: Mario Danic <mario@lovelyhq.com>
2019-03-04 08:50:39 +01:00
Mario Danic
455601b5a6 Reformat
Signed-off-by: Mario Danic <mario@lovelyhq.com>
2019-02-15 01:49:57 +01:00
Mario Danic
bf1f2df344 Fix #410
Signed-off-by: Mario Danic <mario@lovelyhq.com>
2019-01-12 14:45:28 +01:00
Mario Danic
2223b0549a Revert the Nunito font
Signed-off-by: Mario Danic <mario@lovelyhq.com>
2019-01-09 01:03:06 +01:00
Mario Danic
a472fbe7ce Clean up imports
Signed-off-by: Mario Danic <mario@lovelyhq.com>
2018-12-30 15:38:46 +01:00