Commit Graph

526 Commits

Author SHA1 Message Date
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
Marcel Hibbe
6b97197c80
react to given reactions inside message
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-12-02 14:53:45 +01:00
Marcel Hibbe
12cb7e423b fix to move controllers to top
add logging

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-11-30 12:08:23 +00:00
Marcel Hibbe
3729f1130a
suppress some detekt warnings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-11-10 15:40:04 +01:00
Marcel Hibbe
ca145d170c
revert calculation of delayed delivery time
this didn't make sense because time between firebase and devices is not synchronized, so the results were useless.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-11-10 13:38:49 +01:00
Marcel Hibbe
3a517f5760
add missed call notification, show delivery delay in debug mode
- add missed call notifications in NotificationWorker and CallNotificationActivity

- introduce refactoring of Notification handling (isolate firebase stuff from other logic). All "UI-notification" logic from ChatAndCallMessagingService was moved to NotificationWorker. ChatAndCallMessagingService was renamed to NCFirebaseMessagingService because it is now only responsible for firebase stuff. This separation should make it easier for alternative push services to dock with the app (if they are incorporated in the future).

- for DEBUG mode: show delivery delay time in notifications (time between sending from firebase to receive on device).

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-11-10 12:17:23 +01:00
Marcel Hibbe
436770d844
simplify logic for server selection screen
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-10-24 13:03:53 +02:00
Andy Scherzinger
08fb0030ec codacy: unnecessary use of fully qualified name
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-10-12 19:29:03 +00:00
Andy Scherzinger
8fb11bf713
remove any use of org.jetbrains.annotations.NotNull
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-10-11 12:47:45 +02:00
Andy Scherzinger
9bd51ce21b
PMD: An empty statement (semicolon) not part of a loop
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-10-06 16:55:38 +02:00
Marcel Hibbe
9bc42334d4
add openGraph link previews
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-10-05 14:17:07 +02:00
Tim Krüger
2d8492ae1e
Revert "Set minSdkVersion to 23 (Android 6)"
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-30 11:21:32 +02:00
Tim Krüger
863052b53e
[WIP] Replace Fresco with Coil
Fresco is replaced with Coil verywhere. 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'.

Resolves: #2227, #2376

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-29 14:07:05 +02:00
Tim Krüger
8a0e60f68a
Set minSdkVersion to 23 (Android 6)
Because of updating the minSdkVersion to 23 it comes to some obscure UI
freezes when using frescos 'RoundPostprocessor#process' to round avatar
bitmaps.
So the function 'DisplayUtils#roundBitmap' is adopted from Nextcloud
Files for Android.

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-28 09:24:41 +02:00
Tim Krüger
c554535bae
Respect can publish audio & video permission
With this implementation the can publish audio & video permission are
set during the creation of the 'CallActivity'. This permissions are
fixed for the complete call. If the permissions are changed by a
moderator the call must be left and joined again.

Resolves: #1783

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-26 12:39:15 +02:00
Tim Krüger
dda5a9e3da
Define 'BundleKeys' as 'const'
During the migration from Java to Kotlin this was not done and resulted
in

    BundleKeys.INSTANCE.getKEY_CALL_VOICE_ONLY()

instead of

    BundleKeys.KEY_CALL_VOICE_ONLY

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-26 11:41:10 +02:00
Tim Krüger
d0c86ec619
Respect 'can ignore lobby' permission
Now the 'can ignore lobby' permission is respected.

The 'ChatController' has now a property of the type
'ParticipantPermissions' because it's needed multiple times. The
property will be updated in 'ChatController#getRoomInfo' if the
conversation is protected by a lobby.

The function 'Conversation#shouldShowLobby' is removed in this commit.
'Conversation' is a pure model class to hold the plain JSON response.
The logic is moved into the already existing function 'ChatController#shouldShowLobby'.

Resolves: #1783

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-26 11:41:10 +02:00
Tim Krüger
1bbc7caeee
Rename AttendeePermissionsUtil to ParticipantPermissions
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-26 11:07:31 +02:00
Tim Krüger
c031e7063e
Use 'val' instead of 'var'
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-09-26 11:07:31 +02:00
Marcel Hibbe
93da361bf1
fix to keep notification channels
new notification channels must not be deleted. for this an enum was created, so that in removeOldNotificationChannels there is no manual work to do

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-09-16 15:10:15 +02:00
Marcel Hibbe
d230d0faf2
add chunked upload for files
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-09-15 16:22:59 +02:00
Álvaro Brey
704df25a6d
Refactor and extract ViewThemeUtils to common library
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-08-31 19:54:05 +02:00
Álvaro Brey
009634da53
Extract MaterialSchemesImpl and ColorUtil to commons lib
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-08-31 19:54:05 +02:00
Tim Krüger
84116e4cb2
Add guests access preferences to conversation info
Currently a conversation can be made public via the bottom sheet menu in
the conversation list.

With this commit this is added to the conversation info to align with Talk web
and iOS. The functionality is removed from the bottom sheet menu in the
conversation list.

Resolves: #2134

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-08-29 18:42:56 +02:00
Marcel Hibbe
4bdb78372e
add expiring messages option in conversation info screen
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-08-24 12:01:20 +02:00
Álvaro Brey
d86622588a
Fix a bunch of easy detekt issues
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-08-12 14:46:15 +02:00
Andy Scherzinger
89a7c5e400
move disabled color calculation to ColorUtil class
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-08-11 15:36:11 +02:00
Andy Scherzinger
2332c3568c
theme progress bars and remainign alert dialogs
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-08-11 09:51:01 +02:00
Andy Scherzinger
5dc248e425
organize imports and remove blank lines
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-08-11 09:50:59 +02:00
Andy Scherzinger
9eb3cbc280
proper chip theming for you-mentions
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-08-11 09:50:52 +02:00
Andy Scherzinger
a6ba545aef
material 3 theming for search bar, toolbar and fab
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-08-11 09:50:47 +02:00
Andy Scherzinger
11463ea55f
shorten number of return statements
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-08-10 19:22:04 +02:00
Álvaro Brey
4abc3839e5
ViewThemeUtils: move things that do not belong in this class
Color calculations go to ColorUtil, checking if dark theme goes to PlatformThemeUtil

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-08-10 19:22:02 +02:00
Álvaro Brey
a1a91c5c0f
Move current user listening logic out of UserModule and into a new CurrentUserProvider
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-08-10 19:22:02 +02:00
Álvaro Brey
a8e99862f1
Automatically update current user with room observable
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-08-10 19:17:34 +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
Andy Scherzinger
520dbdbdec
organize imports
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-25 10:59:08 +02:00
Andy Scherzinger
9ab4c58b41
remove all legacy code except basic requery implementation still needed for the cypher upgrade
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-24 14:19:20 +02:00
Andy Scherzinger
99049e01d7
remove all methods of legacy arbitrary storage persistence
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-24 13:41:35 +02:00
Andy Scherzinger
b5040f2d55
Migrate ArbitraryStorageUtils to ArbitraryStorageManager use
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-24 13:41:34 +02:00
Andy Scherzinger
5c6fe628f1
Migrate ArbitraryStorageUtils to room
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-23 18:40:32 +02:00
Andy Scherzinger
516b9190ad
fix codacy issues
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-23 18:27:14 +02:00
Andy Scherzinger
8f6bb87761
remove legacy current user provider and make all methods of legacy user utils private
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-23 16:43:17 +02:00
Andy Scherzinger
f3d31bf8c1
add license header and empty line at file end
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-23 16:29:13 +02:00
Andy Scherzinger
93dacd25c4
Deprecate CurrentUserProvider
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-23 16:27:34 +02:00
Andy Scherzinger
3e08781872
Add removal todo for upcoming major version(s)
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-23 16:27:18 +02:00
Andy Scherzinger
bcb728a0d1
Migrate PushUtils from requery to room
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-23 16:21:40 +02:00
Andy Scherzinger
c4c183ac39
Add UserIdUtils for generic no primary key situation handling
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-23 16:02:56 +02:00
Andy Scherzinger
4513866c1d
migrate key manager from requery to room
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-23 14:09:08 +02:00