Commit graph

2399 commits

Author SHA1 Message Date
Marcel Hibbe
c848659fda fix text of submit button
+ rename variables

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
cedbcaefee fix percentage calculation for multiselect polls
for multiselect polls the total votes must be taken instead amount of voters (one voter can have more than 1 votes..)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
9e8dbb70f3 remove livedata where it's not needed
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
2988b667fe solve detekt warnings 2
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
2b8ee4953b solve detekt warnings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
1b13812202 solve klint warnings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
4c6e4b1c4c add copyright headers
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
23bf072326 fix InstantiationException for more fragments
followup to a12692ec + get parentViewModel by ViewModelProvider

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
38256fc25d fix compile error from commit a12692ec
(temporarily...)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
1a000859bf fix InstantiationException for fragments
fragments must have a public, no-arg constructor.
extra information must be passed as arguments.

With a constructor that receives the data, the following error occurs:

Fragment$InstantiationException: Unable to instantiate fragment ..... could not find Fragment constructor

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
3224ae1e1f improve klint score, minor refactoring
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
b347fbf1b5 rename close poll to end poll (in code)
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
bd99245c26 add confirm dialog to end poll
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Marcel Hibbe
01f7016ae2 convert "votes" map
see https://github.com/nextcloud/spreed/pull/7500

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Marcel Hibbe
73d48a395c show detailed list of voters
+ refactoring adapter and viewholders for result screen

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Marcel Hibbe
909ee07ce6 wip2: styling of poll bars
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Marcel Hibbe
318549a63a wip: show user avatars for closed public polls
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Marcel Hibbe
6447b82969 disable vote button when selection is not changed compared to own votes
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Marcel Hibbe
167aa43ca0 make own votes bold in result screen
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
Marcel Hibbe
a95c0d997b make own votes bold in voting screen
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:56 +00:00
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