Commit graph

2627 commits

Author SHA1 Message Date
Marcel Hibbe
782d74bfb9 restrict multiselection to maxVotes
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Marcel Hibbe
a4c48b11d6 fix radiobuttons
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Marcel Hibbe
2da4c37a52 remove liveData for selectedOptions
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Marcel Hibbe
acda3d283b add multiselect for poll options
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Marcel Hibbe
8541ebbfc0 add ability to close poll in PollVoteFragment
this adds duplicate button logic atm. might need to be improved..

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Marcel Hibbe
8c898404d1 move details text to PollMainViewModel
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Marcel Hibbe
fbd5e5f5ed show voting screen for open private polls
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Marcel Hibbe
b504af1cd9 add UI logic + close poll system message
add close poll button (wip/temporarily?)
add "close poll" system message
add UI related logic to PollMainViewModel
add placeholder for pollDetails in UI

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Marcel Hibbe
ea0b7d07cc poll creation: add logic to enable/disable buttons
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Marcel Hibbe
8148bfaa65 add poll system message, klint fixes
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Marcel Hibbe
9f90e9c4c6 wip: create poll using multiple livedata fields
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Marcel Hibbe
b140cc8751 wip: create poll using livedata
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Marcel Hibbe
af427f8300 wip: create poll. show outgoing polls
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Marcel Hibbe
0388f3e3f6 fix to show vote results if only "poll.votes" are available
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Marcel Hibbe
d31a9b1ade fix to send votes
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Marcel Hibbe
5a070f5e1b wip: view poll results
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Marcel Hibbe
7d8aebe234 wip: vote on poll
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Marcel Hibbe
81666829b5 fetch poll to set subtitle in message
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Marcel Hibbe
ae80a4e2ad pass roomToken to MessageViewHolders
wrap roomToken and ProfileBottomSheet in data class MessagePayload

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Marcel Hibbe
c7e9721809 wip: get poll from API
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Álvaro Brey
42324419cd wip: Poll view model work
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-07-22 17:54:56 +00:00
Marcel Hibbe
01f18d7eca add API poll details
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Marcel Hibbe
e605546925 fix klint warnings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Marcel Hibbe
bf05445561 open poll dialog
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Marcel Hibbe
f2025332ab add data classes for polls (WIP)
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Andy Scherzinger
00f55f1949
use correct primary key to search for any other users in the DB and use current value from user attributes object
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-22 19:50:29 +02:00
Andy Scherzinger
6a8cafec22
migrate location picker from requery to room
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-22 13:52:34 +02:00
Andy Scherzinger
dac99a5db8
Remove unused (legacy) UserUtils
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-22 13:52:34 +02:00
Andy Scherzinger
e7756003d7
remove variable shadowing
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-22 13:52:33 +02:00
Álvaro Brey
a3b99e9010
UserManager: fix rx logic for scheduleUserForDeletionWithId
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-07-22 13:52:33 +02:00
Andy Scherzinger
e7c258e2f8
fix detekt issues
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-22 13:52:33 +02:00
Andy Scherzinger
9bdd0c7a4e
Fix user manager db result processing
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-22 13:52:32 +02:00
Andy Scherzinger
6e05056b2e
Migrate AccountVerificationController from requery to room
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-22 13:52:32 +02:00
Andy Scherzinger
8d87d5486b
update to latest API changes for storing users
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-22 13:52:32 +02:00
Andy Scherzinger
036e67027c
Migrate web view login from requery to room
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-22 13:52:31 +02:00
Andy Scherzinger
fe8c7d468a
Migrate server selection from requery to room
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-22 13:52:31 +02:00
Álvaro Brey
da6ca10cb8
PushRegistrationWorker: fix missing injection causing NPE during login
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-07-22 10:16:37 +02:00
Andy Scherzinger
5eab5f86f7 push token recover is should not use the standard httpClient object and its cookieStore
Resolves #2218

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-22 06:48:40 +00:00
Andy Scherzinger
7ce5746969
rename updateUser to updateOrCreateUser
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-18 18:52:51 +02:00
Andy Scherzinger
96910c02a1
simplify call logic
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-18 18:52:51 +02:00
Andy Scherzinger
480122d648
rename entity to user
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-18 18:52:51 +02:00
Andy Scherzinger
7568ccdbb1
split account matcher code for better readability
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-18 18:52:50 +02:00
Andy Scherzinger
8efbd14fe0
Migrate switching accounts from requery to room
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-18 18:52:50 +02:00
Andy Scherzinger
ac7652b5de
Migrate Settings and Profile controller from requery to room
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-18 18:52:49 +02:00
Andy Scherzinger
80570e59b4
rename user var to better reflect its type
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-16 16:01:15 +02:00
Andy Scherzinger
f4cde24f8e
Migrate contacts and creation of talk rooms from requery to room
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-16 15:52:01 +02:00
Andy Scherzinger
4bdc2c1081
Migrate recieving calls from requery to room
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-16 14:51:07 +02:00
Andy Scherzinger
cbe4658632
add method to update external signaling information
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-16 14:39:18 +02:00
Andy Scherzinger
75aa5c9379
reformat code
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-16 14:33:55 +02:00
drone
5e2bd3c12d Merge commit 'fde2667fe79a09e6b267a26bb61c06730d43d7d5' 2022-07-14 16:40:05 +00:00
Andy Scherzinger
fde2667fe7
Migrate Call Activity and used classes/methods from requery to room
Resolves #2216

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-14 18:19:43 +02:00
Marcel Hibbe
95f3d776db
fix switching conversation titles
This reverts a change from a24f49c7

Before a24f49c7 in onDestroy() the disposables were not disposed. Instead this was "only" done in onComplete() of leaveRoom().
See a24f49c#diff-6b47d0e9875a7f7d5c1e6b80feab998e92d29b0cda8ac9bbf427aab99e56d209R1827
Because with a24f49c7 was now executed in onDestroy() , the leaveRoom() method is not executed successfully because it's destroyed too early. This results in multiple calls of getRoomInfo() with different roomTokens.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-14 10:21:13 +02:00
Andy Scherzinger
f2fe776603
Deprecate legacy method
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-13 00:22:24 +02:00
Andy Scherzinger
835cac8189
organize imports
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-13 00:22:24 +02:00
Andy Scherzinger
7230f81cf5
Migrate conversations list and next hop controllers to use the room user entity
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-13 00:22:03 +02:00
Andy Scherzinger
110e8a76b7
make getImageRequestForUrl accept user or userEntity and have a variant without a user
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-13 00:22:02 +02:00
Andy Scherzinger
9b28a8cfe3
make hasChatPermission accept user and userEntity
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-13 00:22:02 +02:00
Andy Scherzinger
9fb176dc88
make helper methods easy to access from java code
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-13 00:21:59 +02:00
Andy Scherzinger
0fe26b6d08
Merge pull request #2199 from nextcloud/feature/noid/markAsRead
Mark as read via notification
2022-07-13 00:20:43 +02:00
Andy Scherzinger
ea849281e5
Merge pull request #2210 from nextcloud/chore/noid/with-nullable-binding
Add method in NewBaseController to handle NPE catches for viewbinding
2022-07-12 16:31:55 +02:00
Dariusz Olszewski
dafa1bfb2e Mark as read - reduce scope of try/catch
NumberFormatException is expected only inside parseMessageId. To avoid masking other errors accidentally, seems better to have try/catch only around parseMessageId call.

Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-07-12 12:51:03 +00:00
Dariusz Olszewski
97ea95c30f Mark as read - SpotBugs
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-07-12 12:51:03 +00:00
Andy Scherzinger
f91d45e2db Improve message id parsing
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-12 12:51:03 +00:00
Dariusz Olszewski
9a247b48ac Mark as read - correct error message
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-07-12 12:51:03 +00:00
Dariusz Olszewski
c3a31da6a9 Mark as read - extract buildIntentForAction function
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-07-12 12:51:03 +00:00
Dariusz Olszewski
7243142676 Mark as read - use message ID retrieved from server
Minimal set of changes, to be cleaned-up.

Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-07-12 12:51:03 +00:00
Andy Scherzinger
f977b566a5 Implement mark as read via notification
Resolves #2164

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-12 12:51:03 +00:00
Álvaro Brey
e7222529c1
Make private broadcast permission depend on applicationId
Otherwise we can't install QA and normal app side by side

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-07-12 13:16:35 +02:00
Álvaro Brey
8e3dc066b2
Add method in NewBaseController to handle NPE catches for viewbinding
This is really a symptom of unreliable design around the async logic in Controllers. The data async calls should have been separate from the controller,
so that the only asynchronicity the Controller has to deal with is UI-related, and can be cancelled safely on destroyView.

In the future as those controllers are converted to something that has a separate ViewModel, this kind of catch should be completely unneeded.

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-07-12 12:46:10 +02:00
Marcel Hibbe
1f5807b8de fix NPE for binding in onEmojiClickListener
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-11 17:24:56 +00:00
Marcel Hibbe
d983c62589 fix crash when changing status during call
"call" is not contained in predefinedStatusesList so it crashed when searching for it with predefinedStatusesList.first()

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-11 17:09:06 +00:00
Andy Scherzinger
82dbadc028
Merge pull request #2201 from nextcloud/bugfix/2198/fixNpeViewBindingTogglePublicConversation
catch NPE for binding in toggleCallHeader
2022-07-11 18:26:39 +02:00
Marcel Hibbe
0dbe8c0f2c
catch NPE for binding (loadCurrentStatus#onError)
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-11 13:44:24 +02:00
Marcel Hibbe
04c96dd400
catch NPE for binding
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-11 13:32:54 +02:00
Álvaro Brey
a24f49c737
Introduce DisposableSet to handle multiple disposables at once
This should be used in places where multiple Disposables are handled simultaneously as a simple way of
ensuring that all disposables are cleared on exit. For example on ViewModels and Controllers should likely use one
of these and clear it on their respective lifecycle end.

I've included an example use in ChatController, where it replaces an existing `ArrayList<Disposable>`, but the benefit
should be more visible in places where Disposables are currently handled separately.

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-07-07 16:47:17 +02:00
Andy Scherzinger
30cbe0f43c
set/read matching user context
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-07 14:29:33 +02:00
Andy Scherzinger
7b4b1b7e84
Revert "read matching user context"
This reverts commit 07c57bcfd1.

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-07 14:03:25 +02:00
Andy Scherzinger
07c57bcfd1
read matching user context
Resolves #2180

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-07 13:58:15 +02:00
Álvaro Brey
95119ba9d6
ProfileController: code cleanup
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-07-07 13:51:56 +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
c151da3080
safeguard mapper for null values on fields that need to be json-parsed
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:23 +02:00
Álvaro Brey
886a3d0df2
UsersDao: make setUserAsActiveWithId blocking
Room won't accept non-blocking @Transactions, which makes sense

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-07-01 08:59:22 +02:00
Álvaro Brey
0ac26f557b
UsersDao/Repository: get rid of suspend functions
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-07-01 08:59:22 +02:00
Álvaro Brey
f339648875
UsersDao: fix race condition in setUserAsActiveWithId
Make the method return a Single instead, and don't make it a suspend function

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-07-01 08:59:22 +02:00
Andy Scherzinger
205292f9b0
fix review comments
Co-authored-by: Álvaro Brey <alvaro.brey@nextcloud.com>
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:21 +02:00
Andy Scherzinger
12f793567e
add arbitrary storage business layer
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:21 +02:00
Andy Scherzinger
ad223155d7
Deprecate UserUtils
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:21 +02:00
Andy Scherzinger
a99a173612
fix getUsersScheduledForDeletion query
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:21 +02:00
Andy Scherzinger
3ccf41d1a6
fix getUsers query
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:20 +02:00
Andy Scherzinger
f1dff03188
fix upsert logic for users
Co-authored-by: Álvaro Brey <alvaro.brey@nextcloud.com>
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:20 +02:00
Andy Scherzinger
dc83403606
Move from Single to Maybe
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:20 +02:00
Andy Scherzinger
6497c2d9b1
fix crash when navigating back from chat to conversation list
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:19 +02:00
Andy Scherzinger
85012e1acb
remove unused variable
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:18 +02:00
Andy Scherzinger
5742927ae8
remove unused method
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:18 +02:00
Andy Scherzinger
1e753e0250
Deprecate old interfaces and util classes and reference new one
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:17 +02:00
Andy Scherzinger
9f43eb5278
Rename CapabilitiesNgNew to CapabilitiesUtilNew and mark old one as deprecated
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:17 +02:00
Andy Scherzinger
9b55241881
remove unneeded @Serializable
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:17 +02:00
Andy Scherzinger
3b1d4b86a9
Add model to ArbitraryStorage db layer
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:16 +02:00
Andy Scherzinger
a207ad7b97
Rename ArbitraryStorageNgEntity to ArbitraryStorageEntity
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:16 +02:00
Andy Scherzinger
84c1874284
simplify call chain
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:16 +02:00
Andy Scherzinger
443110557c
further renames for UserEntity
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:16 +02:00
Andy Scherzinger
9d4b6b4392
remove serializable annotation on room entities
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:15 +02:00
Andy Scherzinger
4233e1bbc1
Rename UserNgEntity to UserEntity
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:15 +02:00
Andy Scherzinger
25a5346435
unify room converter's json handling to always use LoganSquare
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:15 +02:00
Andy Scherzinger
2a0ee1c90d
move extension functions to methods
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:14 +02:00
Andy Scherzinger
c9ba0fe870
annotate JvmStatic for more idiomatic access from Java
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:14 +02:00
Andy Scherzinger
74fc56fa7e
Replace Observable with Single, let Repositories serve Models
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:14 +02:00
Andy Scherzinger
359104d6ba
rename to isDbRoomMigrated and setDbRoomMigrated for proper kotlin interoperability
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:13 +02:00
Álvaro Brey
afbec06ad3
WIP improvements during pair programming call
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-07-01 08:59:13 +02:00
Andy Scherzinger
5881e5021c
make disposal of searchViewDisposable null-safe
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:13 +02:00
Andy Scherzinger
d3286bf6bc
update test cases
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:12 +02:00
Andy Scherzinger
925691299a
ignore spotbugs correctness for an android api array access with fixed index
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:12 +02:00
Andy Scherzinger
565903b956
remove flow and use rx
...to stay in line with currently used concepts

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:11 +02:00
Álvaro Brey
f7786e1b93
Fix flow listening in SettingsController
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-07-01 08:59:11 +02:00
Andy Scherzinger
27d5059e92
trying to extract flow value
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:10 +02:00
Andy Scherzinger
f7ca1ec804
DB version switcher for requery
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:10 +02:00
Andy Scherzinger
d55c3fa68e
Log db migrations
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:10 +02:00
Andy Scherzinger
8c27b54377
move everything to flows
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:09 +02:00
Andy Scherzinger
730aeb2944
fix detekt and ktlint issues
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:09 +02:00
Andy Scherzinger
5ffa3c44fd
create new capabilities util add license header and format kotlin code
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:08 +02:00
Andy Scherzinger
75c8625aee
run user repo call in coroutine
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:08 +02:00
Andy Scherzinger
349d5fe19b
dual-mode of DB fpr requery and room
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:08 +02:00
Andy Scherzinger
05db482d06
adding arbitrary storage implementation, initial steps towards new util classes
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:59:07 +02:00
Andy Scherzinger
db1dd66204
port room database layer from master-broken to up-to-date master
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-01 08:58:56 +02:00
Álvaro Brey
e176b38d8b
NewBaseController: Inject kotlin fields without @JvmField and nullable type
These do not need to be nullable as they will be injected immediately.
This will make child controllers code much cleaner.

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-06-28 17:00:01 +02:00
Tim Krüger
834d310eb8
Use simple class name for logging
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-06-23 15:35:42 +02:00
Tim Krüger
f87e0a2d85
Set PendingIntent flag immutable
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-06-23 15:34:11 +02:00
Tim Krüger
174a7e53d8
Remove unneeded '@SuppressLint("InlinedApi")'
The annotation '@RequiresApi' was already set correctly.

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-06-23 15:24:28 +02:00
Tim Krüger
10a4521af9
Rename 'WebRtcAudioManger' to 'WebRtcAudioManager'
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-06-23 15:20:32 +02:00
drone
272f2e839c Merge commit '58c40e6ee244e6b78cc8754e8cc621e8400507d7' 2022-06-23 08:59:34 +00:00
Andy Scherzinger
331309405d
Set intent flag required by Android 12 (SDK 31)
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-23 10:21:03 +02:00
Álvaro Brey
c4d9105613
Merge pull request #2148 from nextcloud/fix/callactivity-receiver
Use custom permission for unfiltered broadcast receiver in CallActivity
2022-06-23 09:36:00 +02:00
Tim Krüger
f366c75f68
Add mandetory intent flags
Since SDK 31 for an 'PendingIntent' the intent flags 'FLAG_IMMUTABLE' or
'FLAG_IMMUTABLE' are mandetory.

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-06-22 15:33:26 +02:00
Andy Scherzinger
3096d90bc6
only set intent flag for sdk>=31
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-22 11:21:46 +02:00
drone
4b67a71ff4 Merge commit '1f936cb677ed17f93fba461ae59ac84bda5e99db' 2022-06-22 09:00:28 +00:00
Andy Scherzinger
1f936cb677
migrate to sdk=31
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-22 10:59:38 +02:00
Tim Krüger
6e4841ae3a
Rename 'MagicAudioManager' and 'MagicBluetoothManager'
It's not magic but WebRtc related.

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-06-21 15:13:47 +02:00
Tim Krüger
e14f00fae7
Request 'BLUETOOTH_CONNECT' permissions
Request the 'BLUETOOTH_CONNECT' permissions if not already granted.

If the permission is be granted in this request, the
'MagicBluetoothManger' will be started.

See: #2132

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-06-21 15:13:40 +02:00
Andy Scherzinger
205d00d443
harmonize license header in java/kt files
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-18 16:42:53 +02:00
Andy Scherzinger
0b2b0cca51
Use proper Android logger
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-18 16:36:02 +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
61ec38dd5e
replace deprecated listener due to update to exoplayer 2.18.0
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-18 16:25:27 +02:00
Andy Scherzinger
993e50dbdb
rename variable to reflect its collection type
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-18 15:37:42 +02:00
Andy Scherzinger
34f8bb5ab7
use fixed strings where possible to limit lint score bump
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-18 15:25:11 +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
Tim Krüger
dedbe40cc0
Launch 'MagicBluetoothManager' independently
This change is needed to make the 'MagicBluetoothManager' startable
after the from Android SDK 31 introduced BLUETOOTH_CONNECT is granted by
the user.

Before this change the 'MagicBluetoothManager' was only started in
'MagicAudioManager#start'. Now the new method
'MagicAudioManager#startBluetoothManager' can be used to start the
'MagicBluetoothManager'.

This change is also a preperation to fix #1309 and #2114.

See: #2132, #1309, #2124

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-06-17 15:51:44 +02:00
Tim Krüger
4821b02729
Add Android build switch for checking bluetooth permissions
Refactored method 'hasPermission' to 'hasNoBluetoothPermission'. The new method
respect the in SKD 31 introduced permission BLUETOOTH_CONNECT. For older SDK
versions the permission BLUETOOTH will be used.

Additionaly make methods private which need bluetooth permissions and only
called locally. For public methods which need bluetooth permissions the method
'hasNoBluetoothPermission' is called to check them.
Also add suppress lint annotation for 'MissingPermission'.

From SDK 30 to SDK 31 the bluetooth related permissions changed and it
is suggested to add the attribute 'android:maxSdkVersion="30"' to the
legacy BLUETOOTH permission in the 'AndroidManifest.xml' [1]:

> For your legacy Bluetooth-related permission declarations, set
> android:maxSdkVersion to 30. This app compatibility step helps the system
> grant your app only the Bluetooth permissions that it needs when installed
> on devices that run Android 12 or higher.

This is explicitly not done here!

During runtime (on Android 12) while starting the 'MagicBluetoothManger' the
following part in 'android.bluetooth.BluetootHeadset' constructor will be
executed and results in the previous exception:

  // Preserve legacy compatibility where apps were depending on
  // registerStateChangeCallback() performing a permissions check which
  // has been relaxed in modern platform versions
  if (context.getApplicationInfo().targetSdkVersion <= Build.VERSION_CODES.R
           && context.checkSelfPermission(android.Manifest.permission.BLUETOOTH)
                   != PackageManager.PERMISSION_GRANTED) {
     throw new SecurityException("Need BLUETOOTH permission");
 }

In the 'build.gradle' the 'targetSdkVersion 30' and 'compileSdkVersion 31' is
configured. Because the 'MagicBluetoothManager' checks for the 'targetSdkVersion'
instead of 'Build.VERSION.SDK_INT' also on a Android 12 (SDK 31) the 'BLUETOOTH'
permission is needed.

So the solution is to don't set `android:maxSdkVersion="30"' for the BLUETOOTH
permission and request the BLUETOOTH_CONNECT permission.

Resolves: #2132
See:
  [1] https://web.archive.org/web/20220416121005/https://developer.android.com/guide/topics/connectivity/bluetooth/permissions#declare-android12-or-higher

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-06-17 15:51:44 +02:00
Marcel Hibbe
c628c23557 fix to load conversation list (restricted user status)
when the user status app on server is restricted to only some groups, the capabilities for users that are excluded still contains the "user_status" capability.
For the android talk app, this caused that the conversations were not shown.
With this fix, the conversations will be loaded also if the "user_status" is mistakenly set. Additionally, the option to set the status will be hidden.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-06-15 13:45:53 +00:00
Álvaro Brey
bb7e82fbcb
Use custom permission for unfiltered broadcast receiver in CallActivity
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-06-14 15:51:04 +02:00
Andy Scherzinger
dd129b4e6c
further centralize mimetype definitions
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-10 13:13:37 +02:00
Andy Scherzinger
444ff05cf5
centralize mime type definitions
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-09 21:02:31 +02:00
Álvaro Brey
49d2f40e3f ProfileController: fix non-exhaustive when
Crashes Kotlin 1.7.0

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-06-09 17:57:01 +00:00
Andy Scherzinger
3e99dc065b
improve code base from review comments
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-09 12:03:03 +02:00
Andy Scherzinger
3d0f154d7d
simplify worker call
Co-authored-by: Álvaro Brey <alvaro.brey@nextcloud.com>
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-09 12:03:03 +02:00
Andy Scherzinger
d96ca1eb67
block selection of encrypted files as well as files that are not allowed to be re-shared
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-09 00:18:27 +02:00
Andy Scherzinger
df61a4df87
replace share files remote item chooser with new implementation and remove any legacy implementation
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-08 23:40:09 +02:00
Andy Scherzinger
41694b64bb
fix copyright year in header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-08 18:16:37 +02:00
Andy Scherzinger
aa353f064f
fix selection on click for new implementation, move sorting dialog references to new sorting class references
... needs duplication of the layout file

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-08 18:15:39 +02:00
Andy Scherzinger
7f85a2f228
Rename ReadFilesystemOperation
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-08 18:15:39 +02:00
Andy Scherzinger
3330df3b66
rename to ReadFolderListingOperation
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-08 18:15:38 +02:00
Andy Scherzinger
4f234032aa
remove now obsolete BrowserForAvatarController
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-08 18:15:38 +02:00
Andy Scherzinger
5bf90157bc
remove legacy references and fix avatar upload permission issues
...by using a different location and remove previous avatars upfront

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-08 18:15:38 +02:00
Andy Scherzinger
80eccf3176
create narrow(er) interface for file selection
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-08 18:15:37 +02:00
Andy Scherzinger
ed09934c7a
reformat kotlin
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-08 18:15:37 +02:00
Andy Scherzinger
f2119770bc
migrate sorter classes to kotlin
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-08 18:15:37 +02:00
Andy Scherzinger
c5c52f2f6e
remove "New" suffix from classes
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-08 18:15:36 +02:00
Andy Scherzinger
c71d1da334
mark deprecated and rename legacy sort implementation
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-08 18:15:36 +02:00
Álvaro Brey
57ef995543
RemoteFileBrowser viewmodel: don't filter out root dir
The relevant operation no longer returns the current path

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-06-08 18:15:36 +02:00
Andy Scherzinger
9da5b57804
remove self path from dav result
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-08 18:15:35 +02:00
Álvaro Brey
eba697b8f2
RemoteFileBrowser: move selected paths from activity to viewmodel
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-06-08 18:15:35 +02:00
Álvaro Brey
ffdadc6c01
RemoteFileBrowser: move currentPath to viewmodel, and fix title bar
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-06-08 18:15:35 +02:00
Álvaro Brey
2fd97856d8
RemoteFileBrowser: fix file filtering and move it to viewmodel
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-06-08 18:15:34 +02:00
Álvaro Brey
9d4745ee9b
RemoteFileBrowser: do sorting in ViewModel, not activity
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-06-08 18:15:34 +02:00
Andy Scherzinger
a41d14c33a
Reimplement BrowserController with new architecture pattern
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-08 18:15:21 +02:00
Dariusz Olszewski
f1dfb00ae0 Use unique request code to make sure that a new PendingIntent gets created for each notification
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-06-07 15:43:09 +00:00
Álvaro Brey
1ee92e39dd
ChatController: fix scroll to unread messages
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-06-07 11:39:34 +02:00
Andy Scherzinger
ad60de30c6
enforce not null
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-06-03 13:38:53 +02:00
Álvaro Brey
b097e3aac4
Message search: disable feature if unified search capability not present
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-06-01 17:42:59 +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
c10c45630c
Fix some lint issues
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-06-01 16:49:19 +02:00
Álvaro Brey
232334efac
Fix spotbugs
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-06-01 16:49:19 +02:00
Álvaro Brey
1f00f426c7
MessageSearchActivity: don't skip viewmodel when selecting message
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-06-01 16:49:19 +02:00
Álvaro Brey
0d21ce4f17
MessageSearchActivity: add loading animation + swipe to refresh
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-06-01 16:49:19 +02:00
Álvaro Brey
dd55ab5741
Add ability to scroll to message selected in search results
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-06-01 16:49:19 +02:00
Álvaro Brey
b5d8f6ee95
Implement search in specific chat
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-06-01 16:49:19 +02:00
Álvaro Brey
d1d61e87a9
Use rxjava to debounce search instead of custom debouncer
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-06-01 16:49:19 +02:00
Álvaro Brey
b10ea2f41f
Add unit tests for MessageSearchHelper
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-06-01 16:49:19 +02:00
Álvaro Brey
1d632f3c96
Implement global message search
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-06-01 16:49:10 +02:00
Andy Scherzinger
fcf20e3362
Merge pull request #1939 from nextcloud/dependabot/gradle/org.mockito-mockito-core-4.5.1
Bump mockito-core from 3.12.4 to 4.5.1
2022-05-27 19:43:09 +02:00
Marcel Hibbe
2435d8d296
Add GenericOCS
responses contain "ocs" which was deleted by aab00c5e8f

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-27 16:02:46 +02:00
Álvaro Brey
820db1e167
Convert ShareUtils to Kotlin so no TextUtils static mock is needed in tests, and re-enable relevant tests
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-05-27 14:40:45 +02:00
Álvaro Brey
fd4b7080cc
DoNotDisturbUtils: refactor to avoid mocking static stuff
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-05-27 14:26:00 +02:00
Tim Krüger
964dc2a76d
Catch RuntimeException thrown by NotificationManager
In case anything goes wront during calling
'NotificationManger#activeNotification' an 'RuntimeException' will be
thrown. This results in a crash if not catched.

Resolves: #2078

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-05-27 12:15:09 +02:00
Marcel Hibbe
a23d4ef692 add silent call feature
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-25 09:58:57 +00:00
Álvaro Brey
1c9730f909
Fix state handling in SharedItemsActivity
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-05-23 17:35:17 +02:00
Álvaro Brey
05340fc466
SharedItems: show loading state when initially loading a tab, and clear remaining TODOs
Co-authored-by: Tim Krüger <t@timkrueger.me>
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-05-23 17:35:15 +02:00
Álvaro Brey
5310ed3f3d
SharedItems: show empty state when there are no shared items
Co-authored-by: Tim Krüger <t@timkrueger.me>
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-05-23 17:35:14 +02:00
Álvaro Brey
ae65de6cce
SharedItemsViewModel: use unified state livedata
Co-authored-by: Tim Krüger <t@timkrueger.me>
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-05-23 17:35:13 +02:00
Tim Krüger
10857114f5
Avoid NPE when 'sharedItems' is null
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-05-23 17:35:12 +02:00
Tim Krüger
e5b38856eb
Add missing license headers
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-05-23 17:35:10 +02:00
Tim Krüger
52ec1b76fa
Add comment for refactoring FileViewerUtils
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-05-23 17:35:09 +02:00
Tim Krüger
0d65824fa6
Remove 'UserEntity' from 'SharedItem' model
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-05-23 17:35:08 +02:00
Tim Krüger
6b9ab738cb
Introduce interface for 'SharedItemsRepository'
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-05-23 17:35:07 +02:00
Tim Krüger
b2f59ccb6c
Merge 'SharedItemsListAdapter' and 'SharedItemsGridAdapter'
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-05-23 17:35:06 +02:00
Tim Krüger
fd76f8231d
Move 'Shared items' related classes to own package
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-05-23 17:35:05 +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
Tim Krüger
6716726ff1
Move currentTab from activity to viewmodel
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-05-23 17:35:03 +02:00
Tim Krüger
36769e4fbe
Remove constand BATCH_SIZE from SharedItemsViewModel
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-05-23 17:35:02 +02:00
Tim Krüger
6a27dc7dba
Pass needed parameters during every call to repository
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-05-23 17:34:59 +02:00
Tim Krüger
577357011e
Let repository not expose API responses
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-05-23 17:34:29 +02:00
Andy Scherzinger
96711e7349
format kotlin classes
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-20 16:11:11 +02:00
Andy Scherzinger
b33a4d1265
Upgrade code to latest API changes for Emojis
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-20 16:01:49 +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
28e4e19917
Update Interface after updating to exoplayer 2.17.1
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-20 10:57:43 +02:00
Andy Scherzinger
6386bb05d7
remove permission LOCAL_MAC_ADDRESS need
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-19 18:21:38 +02:00
Andy Scherzinger
a5e9b8d91f
replace getColumnIndex with getColumnIndexOrThrow
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-19 12:54:55 +02:00
Andy Scherzinger
8b699963f3
replace Annotation
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-18 18:32:44 +02:00
Andy Scherzinger
0bbf14a2f0
remove obsolete sdk version check
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-18 17:29:14 +02:00
Andy Scherzinger
1230aa7773
Mark opt-in use of camera2 implementation
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-18 17:26:52 +02:00
Álvaro Brey
093af7f79d
Remove parceler annotation processor
Not needed anymore after #2061

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
2022-05-18 15:37:55 +02:00
Andy Scherzinger
aab00c5e8f
Remove unused class
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-18 00:36:39 +02:00
Andy Scherzinger
2f84685ccc
Migrate EventOverallWebSocketMessage to kotlin data class
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-18 00:36:38 +02:00
Andy Scherzinger
36e2a81958
Migrate CallStatus enum to kotlin, parcelized enum
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-18 00:36:38 +02:00
Andy Scherzinger
2fd176366a
Migrate Parcel to Parcelize
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-18 00:36:37 +02:00
Andy Scherzinger
18d375b540
Migrate general models to kotlin data classes
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-18 00:36:37 +02:00
Andy Scherzinger
f56d7dbcbc
Migrate WebSocketMessage models to kotlin data classes
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-18 00:36:37 +02:00
Andy Scherzinger
1e4775aed0
Migrate DataChannel model to kotlin data classes
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-18 00:36:36 +02:00
Andy Scherzinger
cf568a00eb
Migrate Nc to kotlin data classes
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-18 00:36:36 +02:00
Andy Scherzinger
32a83f066f
MIgrate Signaling to kotlin data classes
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-18 00:36:35 +02:00
Andy Scherzinger
0bcc219d48
Migrate signaling settings
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-18 00:36:35 +02:00
Andy Scherzinger
66088a48ec
Migrate BrowserFile to kotlin data class
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-18 00:36:35 +02:00
Andy Scherzinger
946df9a2bc
Migrate AddParticipantOverall to kotlin data class
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-17 22:16:53 +02:00
Andy Scherzinger
e74a3e49e7
Fix enum and make it a parcel again
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-17 22:16:52 +02:00
Andy Scherzinger
9312a62af9
Migrate conversation model to kotlin data classes
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-17 22:16:52 +02:00
Andy Scherzinger
5484511d96
Migrate remaining chat models to kotlin data classes
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-17 22:16:51 +02:00
Andy Scherzinger
d683cb109a
Migrate remaining chat models to kotlin data classes
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-17 18:26:44 +02:00
Andy Scherzinger
ee67c67a33
Add Any parceler implementation
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-17 18:26:06 +02:00
Andy Scherzinger
8ed5432045
Migrate ChatMesage, Conversation and directly linked data classes to kotlin
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-17 14:42:10 +02:00
Dariusz Olszewski
d9b60eb8be
ktlint
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-05-17 13:09:03 +02:00
Dariusz Olszewski
fcf2118008
Implemented suggested design changes - first attempt
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-05-17 13:09:03 +02:00
Dariusz Olszewski
cee5564f39
Reply from notification - initial error handling
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-05-17 13:09:02 +02:00
Marcel Hibbe
7ae5413308 avoid NPE when initializing chat permission
currentConversation could have been null when opening the ChatController from notification.

hasChatPermission is now only set in
getRoomInfo

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-17 10:19:14 +00:00
drone
517d23f16f Merge commit '98d4de7c322841a77ac87d87a3db1b6bbfb983cb' 2022-05-17 09:00:07 +00:00
Andy Scherzinger
98d4de7c32
format code
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-17 10:28:53 +02:00
Marcel Hibbe
6475f28304 add silent send option
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-17 08:02:27 +00:00
Andy Scherzinger
b27096eece
Migrate ParticipantsOCS to kotlin
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-16 23:13:12 +02:00
Andy Scherzinger
67f06c8d6e
Migrate ParticipantsOCS to kotlin
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-16 23:10:30 +02:00
Andy Scherzinger
0ec07410cb
remove unused interface
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-16 23:07:02 +02:00
Andy Scherzinger
a617f10473
Migrate participant to kotlin data class
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-16 23:06:29 +02:00
Andy Scherzinger
84fea0ba80
Migrate SettingsController to kotlin + viewbinding
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-16 15:56:30 +02:00
Andy Scherzinger
de542099dc
migrate sharee classes to kotlin data classes
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-16 11:31:49 +02:00
Andy Scherzinger
199107857f
mark GenericOCS as deprecated
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-16 11:31:49 +02:00
Andy Scherzinger
4b05ed662f
move data classes away from inheritance
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-16 11:31:48 +02:00
Andy Scherzinger
90b9207b1a
migrate Status to kotlin data class
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-16 11:31:48 +02:00
Andy Scherzinger
0c824120e3
migrate generic OCS to kotlin data classes + interface
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-16 11:31:44 +02:00
Andy Scherzinger
c7ac8a3074
make bottom_sheets initial state collapsed for the rounded top corners
Resolves #2035

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-13 12:42:44 +02:00
Andy Scherzinger
dc705ccf40
fix spinner by using enabled not refresh like on the original file
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-13 11:07:40 +02:00
Andy Scherzinger
25528aded0
improve detekt score
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-13 11:07:39 +02:00
Andy Scherzinger
e1725767c3
improve ktlint score
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-13 11:07:39 +02:00
Andy Scherzinger
c52d23fabf
improve detekt score
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-13 11:07:38 +02:00
Andy Scherzinger
e6a78405ed
Migrate ContactsController to kotlin + viewbinding
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-13 11:07:38 +02:00
Dariusz Olszewski
4bb4d6870a
This setAction call seems strange and redundant
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-05-13 10:38:39 +02:00
Dariusz Olszewski
93e0751901
Additional refactoring/clean-up
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-05-13 10:38:39 +02:00
Dariusz Olszewski
d4bdd88588
Refactor - extracted common method to load avatars for notifications
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-05-13 10:38:39 +02:00
Dariusz Olszewski
3b7ca4a31a
Refactor NotificationWorker - extracted sendChatNotification method
plus some minor modifications, hopefully ;-) without changing behaviour

Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-05-13 10:38:38 +02:00
Dariusz Olszewski
2f73433170
Reduce code duplication in NotificationUtils
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-05-13 10:38:38 +02:00
Dariusz Olszewski
b96bba47b5
Reduce number of issues reported by detekt
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-05-13 10:38:37 +02:00
Dariusz Olszewski
a234c178a8
ktlint
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-05-13 10:38:37 +02:00
Dariusz Olszewski
8b07a2aa72
Reply from notification - initial implementation
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-05-13 10:38:33 +02:00
Andy Scherzinger
ffaa6388fa
Merge pull request #2016 from ASerbinski/master
TakePhotoActivity: Use full field of view
2022-05-12 23:15:46 +02:00
Marcel Hibbe
2576a696a7
avoid NPE for swipeRefreshLayout
fix #2011

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-12 15:53:14 +02:00
Marcel Hibbe
729e30d25b
use "return when" in isShowMessageDeletionButton()
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-12 14:44:33 +02:00
Marcel Hibbe
681dbfa025
allow to show "forward" option in chats with restricted permission
this reverts one condition from commit b603031. I can't think about any reason why "forward" should be hidden.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-12 14:26:25 +02:00
Marcel Hibbe
a1b7a52b24
set log level of permission checks to "warning"
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-12 13:43:44 +02:00
Marcel Hibbe
8b3d32584c
restrict to share content without permissions
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-11 17:02:57 +02:00
Marcel Hibbe
d76e833d74
fix to show share-to screen
fix to show share-to screen another time when sending was not confirmed.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-11 16:44:08 +02:00
Marcel Hibbe
7c4e7c22df
update permissions in getRoomInfo
so they are updated on the fly..

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-11 16:44:07 +02:00
Marcel Hibbe
be29459955
fix klint warnings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-11 16:44:07 +02:00
Marcel Hibbe
b603031011
hide "reply" and "forward" when chatPermission is missing
"forward" is also hidden because this would need bigger changes regarding the state of the hasChatPermission variable inside the ChatController.kt

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-11 16:44:07 +02:00
Marcel Hibbe
96721a2df6
delete parsing of unused permissions
add getter,setter,hashCode,toString for "permissions" in Conversation.java

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-11 16:44:06 +02:00
Marcel Hibbe
36383dfcc6
don't allow to post/delete reaction without permission
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-11 16:44:06 +02:00
Marcel Hibbe
bae65ebbe9
rename canPostChatShareItemsDoReaction to hasChatPermission
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-11 16:44:06 +02:00
Marcel Hibbe
7cf18923b5
add check if delete message is allowed to be executed
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-11 16:44:06 +02:00
Marcel Hibbe
cc6f582ee2
check capability and permission to delete message
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-11 16:44:06 +02:00
Marcel Hibbe
d9d6af2b99
add util for permissions
util uses bitwise operations to access every single permission via variable

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-11 16:44:05 +02:00
Marcel Hibbe
99e9bcb0e8
add different types of permissions
add different types of permissions to Conversation.java and Participant.java (though they are not used yet)

For conversation see
https://nextcloud-talk.readthedocs.io/en/latest/conversation/#get-user-s-conversations

For Participant see
https://nextcloud-talk.readthedocs.io/en/latest/participant/#get-list-of-participants-in-a-conversation

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-11 16:44:05 +02:00
Marcel Hibbe
436c860011 disable call buttons if calls are disabled by capability
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-10 14:03:00 +00:00
Adam Serbinski
5362510d18 TakePhotoActivity: Use full field of view
Some devices have a digital video stabilization mode that uses a
smaller field of view within the full set of sensor data, and moves
the selected subset around like on rubber bands in order to reduce
shaking in video captures. Most devices default this mode to OFF,
but some, like Pixel 6 Pro, default this mode to ON, which causes
image and video captures to have a reduced field of view.

This change will have no effect on most devices, but will increase
field of view to full on those devices that do not by default.

Reference: https://issuetracker.google.com/issues/230013960

Signed-off-by: Adam Serbinski <adam@serbinski.com>
2022-05-10 08:29:30 -04:00
Andy Scherzinger
b84589a831
improve detekt score
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-09 16:51:05 +02:00
Andy Scherzinger
5a76f3a3d3
extract checks to separate methods
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-09 16:46:16 +02:00
Andy Scherzinger
c3dd263b3f
proper kotlin code formatting
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-09 16:36:38 +02:00
Andy Scherzinger
cbad775669
extract react-able message type check
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-09 16:36:38 +02:00
Andy Scherzinger
44d47bf74c
hide forward action on deleted messages
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-09 16:36:38 +02:00
Andy Scherzinger
5afb4b68cf
extract UI build logic blocks
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-09 16:36:37 +02:00
Andy Scherzinger
649d8831ac
hide reactions on deleted and command messages
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-09 16:36:34 +02:00
Andy Scherzinger
973d13f902
Merge pull request #2005 from nextcloud/bugfix/1978/fixNPEpeerConnectionWrapper
Bugfix/1978/fix npe in peerConnectionWrapper
2022-05-09 15:31:59 +02:00
Marcel Hibbe
d88c01367c
fix NPE #1977
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-09 13:19:46 +02:00
Marcel Hibbe
a1c5e942cd
reformat code
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-09 13:15:11 +02:00
Marcel Hibbe
a43a51b931
try to fix #1978
i suspect that peerConnectionFactory could have been null because e.g. "hangup()" was already called which sets it to null. Because of some async task getOrCreatePeerConnectionWrapperForSessionIdAndType might still be called afterwards and it failed because peerConnectionFactory was already null.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-09 13:00:01 +02:00
Marcel Hibbe
4414002b8a
reformat code
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-09 12:44:51 +02:00
Tim Krüger
370c51ec2d Use 'lateinit' for injected properties
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-05-07 11:21:29 +00:00
Tim Krüger
f9020dbc2b Reduce number of Detekt issues
Reduce the number of Detekt issues for the 'OperationsMenuController' by
splitting the function 'processOperation' into smaller pieces. But in
the end it is not enough, because also the now short function
'processOperation' is too complex for Detekt. Because of that the
suppress annotation is set.

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-05-07 11:21:29 +00:00
Andy Scherzinger
aebebe5410 Migrate OperationsMenuController to kotlin
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-07 11:21:29 +00:00
Andy Scherzinger
0c5429bd7b
Merge pull request #2001 from nextcloud/bugfux/1975/fixNPEforMimetype
make attributes of file nullable and handle null values
2022-05-07 12:54:56 +02:00
Marcel Hibbe
59f1f003ca
avoid NPE
trying to avoid #1976

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-06 23:48:44 +02:00
Marcel Hibbe
a5f7ecc5d8
make attributes of file nullable and handle null values
nullable attributes of files can be found at https://github.com/nextcloud/server/blob/master/lib/public/RichObjectStrings/Definitions.php#L303-L351

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-06 23:21:10 +02:00
Marcel Hibbe
30f65424a5
fix NPE for viewbinding
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-06 14:58:30 +02:00
Andy Scherzinger
6cdce6db50
Merge pull request #1928 from nextcloud/bugfix/noid/removeButterknife
remove unused butterknife binding
2022-05-06 14:39:55 +02:00
Andy Scherzinger
fafbcbd1cd
Merge pull request #1957 from nextcloud/bugfix/1956/hideReactionsForReadOnlyConversations
Hide reactions from menu if conversation is read-only
2022-05-06 14:38:15 +02:00
Andy Scherzinger
8f654937de
Always show reaction count
Resolves #1983

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-05 22:51:20 +02:00
drone
be1b075234 Merge commit 'e52b2d8b7ffbad4e4343bb6b97d40663ddc58149' 2022-05-05 11:06:39 +00:00
Tim Krüger
e52b2d8b7f
Add null checks and extract constants
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-05-05 13:06:15 +02:00
Tim Krüger
4f5a344a20
Add handling for "event.participants.update.all"
In case a moderator of a restricted room ends the call for all
participants a update participants event with the field 'all=true' will
be thrown by the HPB.

    {
      "type": "event"
      "event": {
        "target": "participants",
        "type": "update",
        "update": [
          "roomid": "the-room-id",
          "incall": new-incall-state,
          "all": true
        ]
      }
    }

In that case the call can be ended directly without handling every
single participant.

Resolves: #1881

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-05-04 13:49:04 +02:00
Tim Krüger
0c1303e0af
Fix Detekt issues in LocationPickerController
- LongMethod - 94/60 - [initMap]
- ComplexMethod - 15/10 - [initMap]
- ReturnCount - [areAllGranted]

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-05-04 11:30:17 +02:00
Tim Krüger
377e171156
Fix Detekt issues in ChatUtils
- ComplexMethod - 11/10 - [getParsedMessage]
- NestedBlockDepth - 4/4 - [getParsedMessage]

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-05-04 11:30:06 +02:00
Marcel Hibbe
d6a4e54957
fix klint
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-03 12:47:04 +02:00
Tim Krüger
8e981f04b0
Catch NPE on ServerSelection view binding
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-05-03 12:47:03 +02:00
Tim Krüger
b60de3858b
Catch NPE on Chat view binding
Resolves: #1960

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-05-03 12:47:03 +02:00
Tim Krüger
5cb36d0801
Catch NPE on Profile view binding
Resolves: #1959

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-05-03 12:47:03 +02:00
Tim Krüger
ff5f686d7c
Catch NPE on webLogin view binding
Resolves: #1958

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-05-03 12:47:03 +02:00
Marcel Hibbe
7f2b337565
fix to load conversations when servers status app is disabled
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-03 11:16:54 +02:00
Andy Scherzinger
572a212fc1
hide reactions from menu if conversation is read-only
Fixes #1956

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-02 23:01:58 +02:00
Andy Scherzinger
38146dabf0
remove unused butterknife binding
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-05-02 18:09:58 +02:00
Daniel Calviño Sánchez
3274c1e1fa
Fix typo in name of method to check if video should not be received
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-05-02 13:36:13 +02:00
Marcel Hibbe
d539161768
fix NumberFormatException
fix NumberFormatException for files >2,14 GB (=limit that can be represented by Int)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-05-02 10:54:49 +02:00
Marcel Hibbe
2e54c456d1
fix klint warning
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-29 15:32:54 +02:00
Marcel Hibbe
e0d1f16106
show progress bar also when user left and re-entered the media tab screen
how to test:
1. click on file with big file size that was not clicked before (so it's not in the cache)
2. leave media tab view or just select other tab.
3. go back to the clicked file
4. --> see that progress bar is still spinning (otherwise it's already finished and a click should oen the file directly without showing the progress bar)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-29 15:24:56 +02:00
Marcel Hibbe
734f33caba
add fallback image for mimetype if drawee request fails
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-29 14:24:14 +02:00
Tim Krüger
a64e22c820
Fix ktlin issues
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-04-29 14:09:36 +02:00
Tim Krüger
afe61b7aa1
Unify naming of shared item layouts
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-04-29 14:03:59 +02:00
Tim Krüger
58acf3edc8
Rename 'SharedItemsAdapter' to 'SharedItemsGridAdapter'
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-04-29 13:44:11 +02:00
Tim Krüger
721797c078
Hide tabs without content in shared items view
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-04-29 13:41:54 +02:00
Marcel Hibbe
b22ed7399d
fix to close media view when press back button
when starting media tab from conversation info, the back button opened media tab again. to fix this FLAG_ACTIVITY_CLEAR_TOP was set as flag

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-29 13:21:30 +02:00
Marcel Hibbe
b49a1bbbde
fix klint warnings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-29 12:26:30 +02:00
Marcel Hibbe
a91ff9e920
make tabbar full width
improve design

hide "Other" tab

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-29 11:53:59 +02:00
Marcel Hibbe
8c20180545
show mimetype icons from DrawableUtils
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-29 11:53:59 +02:00
Marcel Hibbe
fd08ad965a
add filesize and date to listview for shared items
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-29 10:53:00 +02:00
Tim Krüger
962e43857e
Check for spreed capability "rich-object-list-media"
If the capability is not available the shared items can't shown.

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-04-29 10:04:56 +02:00
Andy Scherzinger
5c662427f8
improve detekt score
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-28 21:29:54 +02:00
Andy Scherzinger
eaab887765
refactor duplicated code
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-28 21:18:29 +02:00
Andy Scherzinger
48c7ccb4b0
improve detekt score
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-28 21:10:21 +02:00
Andy Scherzinger
f5d70dab0c
mediaItems can be null
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-28 18:36:34 +02:00
Tim Krüger
6f277cbe92
Fix new introduced SpotBugs error and warnings
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-04-28 17:57:30 +02:00
Tim Krüger
000184a338
Remove lint error for using 'Hashmap#forEach'
Call requires API level 24 (current min is 21): java.util.HashMap#forEach

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-04-28 17:37:22 +02:00
Tim Krüger
6b671191e9
Fix ktlint warning
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-04-28 17:14:10 +02:00
Tim Krüger
a322a2ad73
Load shared items while scrolling
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-04-28 17:09:26 +02:00
Marcel Hibbe
d92f5546e9
add progress bar for other items than media
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-28 15:56:23 +02:00
Marcel Hibbe
9edffc5e64
add progress bar for media items
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-28 15:42:55 +02:00
Marcel Hibbe
29f5d73f05
add adapter + design for list view
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-28 14:29:07 +02:00