Commit graph

2627 commits

Author SHA1 Message Date
Tim Krüger
43f2d1badf
Shared items: Add tab for deck cards
Deck cards will be opened in the web browser because no specific view
exists.

Resolves: #2029

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-08-09 18:26:48 +02:00
Tim Krüger
4c8c8ac98a
Shared items: Show actor and date-time
For all item types it will now shown who (actor) and when (date-time)
the item was shared.

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-08-09 18:09:54 +02:00
drone
ed0e9c2374 Merge commit '81a3e8216dd947abfe1038a5ab040f9c67d3a62b' 2022-08-09 12:00:54 +00:00
Tim Krüger
81a3e8216d
Shared items: Add tab for other
Resolves: #2029

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-08-09 14:00:00 +02:00
Tim Krüger
26fde13292
Shared items: Add tab for locations
Resolves: #2029

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-08-08 18:52:11 +02:00
Tim Krüger
d5214ee29c
Replace '@JvmField' with 'lateinit'
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-08-08 18:52:11 +02:00
Tim Krüger
00f06c6ef2
Shared items: Add tab for polls
Resolves: #2029

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-08-08 18:51:56 +02:00
Andy Scherzinger
9fc7182790
Migrate to updated popup bubble
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-08-05 16:40:59 +02:00
Andy Scherzinger
9df00a8562
make equals null-safe in case no status set
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-08-05 16:17:04 +02:00
Tim Krüger
84f2cf432c
Use singular and plural for vote(s) string
Resolves: #2265

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-08-05 10:27:03 +02:00
Andy Scherzinger
3ca3f35e3e
Update app/src/main/java/com/nextcloud/talk/adapters/items/ConversationItem.java
Co-authored-by: Álvaro Brey <alvaro.brey@nextcloud.com>
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-08-04 12:29:24 +02:00
tobiasKaminsky
d1e474e402
Fix status visibility in conversation list
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2022-08-03 08:24:10 +02:00
Andy Scherzinger
0a3e0230c9
fix avatar voter border
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-08-01 13:43:05 +02:00
Andy Scherzinger
09ddc86c40
Optimize layout and make it accessible
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-08-01 13:43:05 +02:00
Andy Scherzinger
d999815ffa
remove unused java imports
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-26 22:24:18 +02:00
Andy Scherzinger
9b48bfedf6
remove unused imports
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-26 22:13:06 +02:00
Andy Scherzinger
f951336d0d
remove unused persistence methods
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-26 21:55:03 +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
125d6770b4
plug cipher migration hook into room
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-26 20:33:47 +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
4d935920d0
Migrate RemoteFileBrowser and UnifiedSearch classes to room
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-23 16:38:05 +02:00
Andy Scherzinger
1a20bd3a3b
Migrate to new current user provider
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-23 16:33:45 +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
285b9cff03
Make signaling db updates use a subscribing consumer
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-23 16:21:03 +02:00
Andy Scherzinger
7593efd43f
Migrate WebsocketConnectionsWorker from requery to room
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-23 16:13:39 +02:00
Andy Scherzinger
70d777ec3b
Migrate AddParticipantsToConversation from requery to room
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-23 16:13:25 +02:00
Andy Scherzinger
67318883d0
Migrate SignalingSettingsWorker from requery to room
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-23 16:05:48 +02:00
Andy Scherzinger
22ef1457ee
Migrate LeaveConversationWorker from requery to room
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-23 16:05:30 +02:00
Andy Scherzinger
24ddaf4ec4
Migrate ShareOperationWorker from requery to room
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-23 16:05:07 +02:00
Andy Scherzinger
2dfd4731af
Migrate DeleteConversationWorker from requery to room
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-23 16:04:47 +02:00
Andy Scherzinger
5b8c352947
Migrate ContactAddressBookWorker from requery to room
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-23 16:04:22 +02:00
Andy Scherzinger
d7654f8476
Add generic save method
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-23 16:03:43 +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
1cec9045ee
Migrate CapabilitiesWorker from requery to room
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-23 14:58:08 +02:00
Andy Scherzinger
d4b84635f1
Migrate DownloadFileToCacheWorker from requery to room
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-23 14:57:50 +02:00
Andy Scherzinger
27017aac9e
Migrate AccountRemovalWorker from requery to room
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-23 14:29:41 +02:00
Andy Scherzinger
7ea37b9ee3
migrate poll view model from requery to room
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-23 14:14:48 +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
Andy Scherzinger
70ae6eb27d
migrate mention auto complete from requery to room
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-07-23 14:08:45 +02:00
Marcel Hibbe
34686dd581 avoid to divide by zero
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
8dfb6ca5aa add loading screen
this also avoids to doubleclick on end poll button

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
06d9b6f886 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
c3472de802 move checkboxes to left
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
c1fd78d29a static text for poll messages
= remove api call. it was decided in talk team to remove this to avoid so many requests. downside is that it's not possible anymore to see if the poll is closed or not.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
b2e47d885c show overlapped mini avatars in results overview
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
64412a1876 toggle details view on click on avatar views
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
20dabf3a72 wip. toggle between voters overview and voters details
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
c7014fd063 hide system message "You voted on the poll ..."
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
58739b8f14 disable buttons while waiting for response
avoids doubleclick and doubled data

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
f46d2d28f5 close dialog when voted for hidden poll
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
82ffd1f83c add Options in init method
this avoids adding them again on screen rotation...

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
ba6cc7170b initially add 2 option fields and focus question field
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
ca0c045e8d initialize viewModel in onCreate
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
dca7e39905 get variables from parentViewModel
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
139c4412ad move variables from fragment to PollMainViewModel
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
6dfed0e5e7 avoid unnecessary null checks in PollMessageViewHolders
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
880c656be2 enable/disable submit button by liveData
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
3267fc2f47 remove nullable from PollRepository return types
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
87fdd7017d replace @JvmField with lateinit vars
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
bfcab7cb49 fix copyright
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
4b6a314514 remove unused viewState
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
4388d66b23 use CurrentUserProviderNew and User for polls
use CurrentUserProviderNew and User instead of CurrentUserProvider and UserEntity

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
41d64aa740 add copyrights
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
feaf041685 fix cursor jumping to end when editing question
setting the cursor to the end was just a (buggy) workaround when the question was of type liveData. As it's not liveData anymore, this workaround was now useless

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
6b8c83f553 add dismiss button for edit votes mode
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
2ac1567f5d delete empty options on poll creation
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
9afe4e44d6 fix LiveData value assignment nullability mismatch
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
f10b76d430 check talk-polls capability
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
3b4be83ea7 calculate percent with voters instead votes
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
a8afb61745 always focus new empty poll option in poll create dialog
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
Marcel Hibbe
40f20c56d6 update poll UI for moderators etc
- allow to end poll for moderators

- allow to see voters amount for voting screen for moderators and creators of the poll

- replace UserEntity with User

- show numVoters instead of votes

- minor refactoring

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-07-22 17:54:57 +00:00
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
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