Commit graph

2399 commits

Author SHA1 Message Date
Á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
Andy Scherzinger
b304e8facb
make shared items tabs translatable
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-28 13:44:13 +02:00
Marcel Hibbe
52b257d027
define other order of tabs
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-28 12:19:58 +02:00
Marcel Hibbe
0e75337caf
show items other than "media" as list (WIP)
extract hardcoding

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-28 12:16:31 +02:00
Marcel Hibbe
fa90155195
hide location and deck for now
because other fileParameters need to be handled

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-28 11:40:03 +02:00
Marcel Hibbe
b22b600352
initially load audio
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-28 10:58:27 +02:00
Marcel Hibbe
0ba74b1a30
replace hardcoded value for file previews
request maximum_file_preview_size instead hardcoded 100px for file previews

but somehow this his no effect because many file previews are not found on sermo?!

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-28 10:48:00 +02:00
Marcel Hibbe
cc2e0348e5
fix to show also files
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-28 10:40:23 +02:00
Andy Scherzinger
69b0cc683a
properly theme bars
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-27 23:25:06 +02:00
Marcel Hibbe
cad7b4cb3d
add tabLayout for file types (WIP)
quick&dirty, needs to be improved and might contain bugs

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-27 19:40:55 +02:00
Marcel Hibbe
3a1f3242d8
add fallback images for mimetypes if no preview image was found
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-27 17:17:34 +02:00
Marcel Hibbe
912bc3c8fe
open files from media view
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-27 14:16:22 +02:00
Marcel Hibbe
3a5a3cebfb
extract logic for downloading and opening files to helper class
this is done because in a next step this logic should also be used by the SharedItemsAdapter

extracting is not yet done in a clean way. in a next step some better architecture patterns must be used to separate layers

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-27 14:15:59 +02:00
Tim Krüger
cf91e2390e
Fix ktlint issues
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-04-27 13:36:58 +02:00
Tim Krüger
df5c0044c1
Add app bar to view 'Shared items'
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-04-27 12:38:21 +02:00
Tim Krüger
d14f4b38ea
Check that header 'x-chat-last-given' exists
Without that check a null pointer exception occurs if the header is not
set.

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-04-27 12:31:24 +02:00
Tim Krüger
53a1725606
Correct order of items in grid view
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-04-26 12:13:41 +02:00
Tim Krüger
a1b7e1260c
Add overview for shared items of a conversation
Via the conversation info or the menu entry in the conversation menu a
overview of shared items can be opened.

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-04-25 16:15:44 +02:00
Tim Krueger
73b772dfa1
Merge pull request #1941 from nextcloud/fix-call-flags-in-video-calls
Fix call flags in video calls
2022-04-25 12:38:46 +02:00
Daniel Calviño Sánchez
07ca8c1e29
Fix call flags in video calls
The call flags describe the streams provided by the client, so in a
video call both audio and video are provided, not just video.

Note that as publishing permissions are currently not implemented in the
Android app the provided flags do not take into account the available
permissions. Nevertheless, the server restricts the flags based on the
permissions, so the other participants would see the appropriate flags.
In the future it would be better to send the right flags directly from
the Android app.

Similarly, for now, it is just assumed that both audio and video tracks
will be provided by the Android app, but the flags should reflect the
actually available tracks (for example, if it was not possible to get a
video track for some reason the call flags should not include
"WITH_VIDEO").

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-04-25 11:54:22 +02:00
Andy Scherzinger
6316c709ad
fix npe if message has no self reactions initially
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-24 21:51:56 +02:00
Andy Scherzinger
e43c838fe7
convert into constant
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-23 13:22:25 +02:00
Marcel Hibbe
2495c25f22
add workaround to avoid emoji picker to take the full screen height
The toggleEmojiPopup method is a hacky workaround to avoid bug #1914
As the bug happens only for the very first time when the popup is opened,
it is closed after some milliseconds and opened again.

200 milliseconds seems to be a good value to initialize the popup correctly with the desired size

downside: there is even some flickering when opening the "more emojis" window

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-22 19:09:37 +02:00
Tim Krueger
f7dcf58d3c
Merge pull request #1940 from nextcloud/fix-trying-to-establish-a-connection-before-a-participant-joins-the-call
Fix trying to establish a connection before a participant joins the call
2022-04-22 17:16:08 +02:00
Daniel Calviño Sánchez
5bd920142c Create a connection only for offers instead of for any message
The Android app creates a connection with a participant when that
participant joins the call and ends it when the participant leaves the
call. However, it also created a connection when any signaling message
was received from a participant that had no connection yet. Due to this
if a signaling message was received from a participant before that
participant was in the call the Android app tried to establish a
connection too soon, which would be rejected by the HPB.

Similarly, if a signaling message was received from a participant after
that participant left the call a connection will try to be established.
That would fail, but the connection object was not removed, and if that
participant joined the call again no connection would be established, as
a connection for that participant was already found, even if it was not
usable.

To solve that now a connection is created when a signaling message is
received only if that message is an offer (which is necessary without
HPB if the other participant sends the offer before this participant
"noticed" that she is in the call); otherwise the message is ignored.

Besides that a connection will no longer be created either when setting
up the video stream. However, this would be just for correctness and it
should not make any difference, as the MediaStreamEvents that cause that
are only emitted by changes in peer connections, so they should be
already created.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-04-22 14:38:26 +02:00
Andy Scherzinger
fc0df0a9b3
remove reaction in case of already reacted
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-22 11:28:08 +02:00
Andy Scherzinger
6f246a1001
add visual to reactions bottom sheet if self is true
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-22 11:28:08 +02:00
Andy Scherzinger
2df414cb63
format kotlin
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-22 11:28:08 +02:00
Andy Scherzinger
e2015f2810
further improve padding/margin of reactions
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-22 11:28:08 +02:00
Andy Scherzinger
9ec7feaaee
prevent NPE when adding the very first own reaction to a message
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-22 11:28:07 +02:00
Marcel Hibbe
55a48585a7
don't dismiss dialog when clicked on reaction of someone else
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-22 11:28:07 +02:00
Marcel Hibbe
b136465415
fix more emojis ("...") color
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-22 11:28:07 +02:00
Marcel Hibbe
31bb614bac
highlight own emoji immediately when reacted via app
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-22 11:28:07 +02:00
Andy Scherzinger
dd59d2dd20
improve reactions alignment
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-22 11:28:07 +02:00
Andy Scherzinger
a5aecbcaa1
replace further contexts for proper day/night theming
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-22 11:28:06 +02:00
Andy Scherzinger
583b52588c
use proper context to be day/night aware
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-22 11:28:06 +02:00
Marcel Hibbe
fd98ccc816
add chip styled background to self reaction (wip)
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-22 11:28:05 +02:00
Marcel Hibbe
454200d797
add error message to log
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-22 11:28:05 +02:00
Marcel Hibbe
f945694a14
fix textcolor for reaction amount
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-22 11:28:04 +02:00
Daniel Calviño Sánchez
a8045880f9 Rename method to a more consistent name with its sibling method
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-04-22 02:31:21 +02:00
Daniel Calviño Sánchez
c769ff0fd0 Rename method to a more accurate name
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2022-04-22 02:30:46 +02:00
Marcel Hibbe
1cf55c6e8e
fix text for reaction notification
hide content title for one2one rooms and reactions

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-21 17:12:50 +02:00
Marcel Hibbe
93e9b362b6
avoid crash when clicking on header in conversation search mode
fix #1893

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-20 20:58:11 +02:00
Andy Scherzinger
300e7da172
extract method to reduce complexity
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-19 18:14:18 +02:00
Andy Scherzinger
c93041d402
move to a more hardened null-handling profile data handling
Fixes #1908

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-19 17:40:14 +02:00
Andy Scherzinger
746c3a8a4e
catch NPE when UI is already teared down
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-19 17:09:16 +02:00
Dariusz Olszewski
5dca8bcb7d
Use setBackstack when starting new MainActivity from notification
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-04-19 12:57:32 +02:00
Marcel Hibbe
3d4f3eeb54
open reactions menu when long click on emojis in message
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-09 23:05:32 +02:00
Marcel Hibbe
7dd7738c04
use toggle for emoji popup
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-08 17:11:40 +02:00
Marcel Hibbe
17a8c48078
order emojis by amount
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-08 14:57:02 +02:00
Marcel Hibbe
54c40e99ef
hide amount in message if it's only 1
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-08 14:56:18 +02:00
Marcel Hibbe
07299bb32a
use light textcolor for reactions for outgoing message
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-08 13:59:24 +02:00
Marcel Hibbe
3f987fcdad
fix import of coil
this must have been removed when auto cleaning imports while there was a problem to find the coil lib

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-08 13:56:57 +02:00
Marcel Hibbe
73d50c4f0e
add reactions for LocationMessageViewHolders
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-08 13:22:26 +02:00
Marcel Hibbe
c4de77ce00
fix to hide MessageActionsDialog for system messages
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-08 12:19:52 +02:00
Marcel Hibbe
65fb284c6c
add reactions for previewMessageHolders
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-08 09:21:15 +02:00
Andy Scherzinger
b4316ecaad
fix code checks warnings
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-08 09:21:14 +02:00
Andy Scherzinger
2068faa80e
correct tab listerner initialization
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-08 09:21:14 +02:00
Andy Scherzinger
660c3401f2
sort reaction lists
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-08 09:21:14 +02:00
Marcel Hibbe
2aa7a5eb67
rename adapter interface for voice messages
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-08 09:21:14 +02:00
Andy Scherzinger
0051d1d686
pin size of the bottom sheet
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-08 09:21:13 +02:00
Andy Scherzinger
6bda280d15
Add "all" tab for reactions
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-08 09:21:13 +02:00
Marcel Hibbe
357c67db83
fix to update UI only if reaction was actually added
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-08 09:21:13 +02:00
Marcel Hibbe
36b786616a
support reactions for TextMessages (in+out) and VoiceMessages (in+out)
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-08 09:21:13 +02:00
Andy Scherzinger
f17e892acd
improve detekt and format kotlin code
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-08 09:21:13 +02:00
Andy Scherzinger
500d651d69
replace emoji selection with tab layout
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-08 09:21:12 +02:00
Marcel Hibbe
aa5046cf27
add ability to delete reactions
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-08 09:21:12 +02:00
Marcel Hibbe
4e727924c2
fix to send reaction for message that has no reactions yet
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-08 09:21:12 +02:00
Marcel Hibbe
4670854848
show emoji picker to send reaction (buggy)
emoji picker SOMETIMES opens in full height.
this is a bug inside the emoji picker lib, see https://github.com/vanniktech/Emoji/issues/474

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-08 09:21:12 +02:00
Marcel Hibbe
f4ab037a44
add ability to send emoji
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-08 09:21:12 +02:00
Andy Scherzinger
65e447b6a5
add some margins to the reactions on a message
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-08 09:21:11 +02:00
Andy Scherzinger
deac2059ff
improve lint/detekt
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-08 09:21:11 +02:00
Marcel Hibbe
eb961b0452
minor cleanup after merge
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-08 09:21:11 +02:00
Marcel Hibbe
9c0ea73b5d
fix parsing of json of emoji voters
basic update for emoji voters in UI

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-08 09:21:11 +02:00
Marcel Hibbe
f61872af7c
remove redundant code for reactions recyclerview
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-08 09:21:10 +02:00
Andy Scherzinger
c4632f5d42
load avatars of reaction actors, optimize layout
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-08 09:21:10 +02:00
Andy Scherzinger
06f42a4c00
Render list of reactions in recycler view in bottom sheet
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-08 09:21:09 +02:00
Andy Scherzinger
c19dd5fc71
hide reactions when not supported by server
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-08 09:21:09 +02:00
Marcel Hibbe
4abe8ae41d
add details view for reactions (WIP)
TODO: encoding for emoji is wrong to send it to server
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-08 09:21:09 +02:00
Andy Scherzinger
402a1bd3c3
organize imports
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-08 09:21:08 +02:00
Andy Scherzinger
3daaa8152e
fic kotlin formatting
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-08 09:21:08 +02:00
Andy Scherzinger
60b277637b
improve detekt score
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-08 09:21:08 +02:00
Andy Scherzinger
b06927726c
emoji bar for chat message bottomsheet
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-08 09:21:08 +02:00
Marcel Hibbe
d845422097
open dialog when clicked on reactions (WIP)
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-08 09:21:08 +02:00
Marcel Hibbe
382f17ca55
add margin between reactions
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-08 09:21:07 +02:00
Marcel Hibbe
818a8341a7
fix to hide avatar for 1to1conversations when reaction is received by system message
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-08 09:21:07 +02:00
Marcel Hibbe
34422f7b20
fix to removeAllViews also for messages without emojis
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-08 09:21:06 +02:00
Marcel Hibbe
2a1f2becbd
show max 4 emojis under message
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-08 09:21:06 +02:00
Marcel Hibbe
f45b48898f
update emojis when system message arrived
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-08 09:21:06 +02:00
Marcel Hibbe
dd603f25cf
add reactions to incoming text message (wip)
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-08 09:21:05 +02:00
Marcel Hibbe
0b898616a2
hide system messages related to reactions
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-08 09:21:05 +02:00
Marcel Hibbe
2986f7c3a5
add system messages for reactions
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-04-08 09:21:05 +02:00
Andy Scherzinger
9dc493b2f7
move popup menu to custom bottom sheet
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-04-01 11:33:18 +02:00
Marcel Hibbe
49fd2640bf
rename method
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-03-30 12:08:54 +02:00
Tim Krüger
346089cecf
Use Transceivers instead of constraints to discard received video tracks
After the migration from WebRTC from plan b to unified plan in commit 86f20dc
the media constraints are ignored for creating an answer on a peer
connection:

> Offer to Receive Options/Constraints
>
> These constraints are passed to PeerConnection’s methods for creating SDP to
> add placeholder media sections in case a sending track would not have already
> created one.
>
> With Unified Plan semantics, these are still supported for creating offers
> using a backwards compatibility shim (basically creating an RtpTransceiver if
> one doesn’t exist). It is recommended to switch to the RtpTransceiver API
> (example below). _They are no longer supported when creating answers._
>
> [1]

Because of that now all transceivers of type VIDEO will be stopped if it
is only an audio call. After stopping the transceivers the status for the
video tracks will be automatically set to ENDED.

In the 'ParticipantsAdapter' it will be checked if the video tracks are
ENDED. In that case the user avatar will be shown like before.

Resolves: #1852
See: #1773, commit 86f20dc, [1]

[1] https://docs.google.com/document/d/1PPHWV6108znP1tk_rkCnyagH9FK205hHeE9k5mhUzOg/edit#heading=h.9dcmkavg608r

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-03-30 12:08:54 +02:00
Andy Scherzinger
2884c6e01c
Migrate search models to kotlin
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-03-29 17:37:59 +02:00
Andy Scherzinger
3935ce7955
remove unused resource
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-03-29 17:37:57 +02:00
Andy Scherzinger
9a2a3f3b6d
migrate userprofile to kotlin and align icon work with latest server
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-03-29 17:37:51 +02:00
Tim Krüger
4f80430018
Use correct API endpoint for predefined status
Resolves: #1830

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-03-17 21:39:11 +01:00
Andy Scherzinger
af0065b664
Merge pull request #1873 from nextcloud/bugfix/noid/kotlinConversion3
Migrate ProfileController to Kotlin
2022-03-17 20:44:41 +01:00
Andy Scherzinger
5472097279
Merge pull request #1876 from nextcloud/bugfix/1853/fixQueryMap
Bugfix/1853/fix query map
2022-03-17 20:36:08 +01:00
Andy Scherzinger
47a02a93a0
shorten method to comply with detekt
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-03-17 18:45:00 +01:00
Andy Scherzinger
4685bced16
reformat kotlin
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-03-17 18:37:15 +01:00
Marcel Hibbe
1b30a6ef62
allow getPeersForCall without QueryMap
- null was not allowed for query map (led to Illegal Argument Exception which caused issue #1853)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-03-17 15:17:32 +01:00
Marcel Hibbe
5a90f999dc
add error logging
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-03-17 13:53:20 +01:00
Andy Scherzinger
bafa1559db
reformat kotlin
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-03-16 18:13:42 +01:00
Andy Scherzinger
766d07d3fa
prevent null-pointer in case remote file listing UI gets closed before the async loading comes back
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-03-16 16:57:13 +01:00
Andy Scherzinger
7db5c5ed76
migrate ProfileController to kotlin
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-03-16 16:50:37 +01:00
Andy Scherzinger
eed209428e
splitting up complex methods into smaller, easier to understand methods
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-03-15 18:21:29 +01:00
Andy Scherzinger
ac703a6ac7
extract magic numbers
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-03-15 17:46:40 +01:00
Andy Scherzinger
0ac5009242
reformat kotlin
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-03-15 17:45:06 +01:00
Andy Scherzinger
6b7dd29b07
migrate WebViewLoginController to kotlin
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-03-15 17:45:05 +01:00
Andy Scherzinger
ed4d27aff0
fix author mail
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-03-15 17:45:05 +01:00
Andy Scherzinger
cfe4847732
migrate RingtoneSelectionController to kotlin
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-03-15 17:44:52 +01:00
Tim Krüger
60e4ec9086
Use 'val' for never modified variables
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-03-15 14:35:08 +01:00
Dariusz Olszewski
1e76b45fb4
Switch to chat w/o animation when app opened from notification
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-03-15 14:35:08 +01:00
Dariusz Olszewski
ddcf1c48aa
Workaround for crash when loading avatar
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-03-15 13:33:30 +01:00
Andy Scherzinger
f36b7750de
format kotlin code
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-03-14 10:23:08 +01:00
Andy Scherzinger
ba3e24bbc7
replace too long paramter lists with data classes
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-03-14 10:23:07 +01:00
Andy Scherzinger
6e02c5de41
reformat kotlin
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-03-14 10:23:07 +01:00
Andy Scherzinger
6206e4910d
simplify complex conditions for readability
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-03-14 10:23:06 +01:00
Andy Scherzinger
454dbc5db2
unify http(s) protocoll prefix check on urls
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-03-14 10:23:06 +01:00
Andy Scherzinger
a10b67456c
ignore generic exception handling
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-03-14 10:23:05 +01:00
Andy Scherzinger
2102f0fbc8
document empty blocks
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-03-14 10:23:01 +01:00
Tim Krueger
08dc22c30f
Merge pull request #1841 from nextcloud/bugfix/1839/fail-to-set-empty-status-message
Bugfix/1839/fail to set empty status message
2022-03-11 15:33:58 +01:00
Tim Krüger
cb1dd8e5b5
Avoid empty status message
Enable the 'Set status message' button only if a message is set.
Currently the API don't allow us to set an empty message [1].

See:
  [1] nextcloud/server#31452
  #1839

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-03-10 17:08:02 +01:00
Tim Krüger
f8e8a95b34
Use '==' instead of 'equals' in Kotlin
In Kotlin for a check of the structural equality '==' should be used.
Referential equality is checked with '==='.

See:
 - https://kotlinlang.org/docs/equality.html

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-03-10 17:05:14 +01:00
Tim Krueger
70a30f146a
Merge pull request #1851 from nextcloud/bugfix/1848/showSystemMessageAddedGroup
add groups and circles to system messages ("add"+"remove")
2022-03-09 10:37:19 +01:00
Andy Scherzinger
0fe562d415
remove unused method parameters
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-03-07 13:40:42 +01:00
Tim Krüger
5ad6da86f1
Use Boolean constant values directly
From the SpotBugs report:

> NAB_NEEDLESS_BOOLEAN_CONSTANT_CONVERSION: Method needlessly boxes a boolean
> constant
>
> This method assigns a Boxed boolean constant to a primitive boolean variable,
> or assigns a primitive boolean constant to a Boxed boolean variable. Use the
> correct constant for the variable desired. Use
>
>
> boolean b = true;
> boolean b = false;
>
> or
>
>
> Boolean b = Boolean.TRUE;
> Boolean b = Boolean.FALSE;
>
> Be aware that this boxing happens automatically when you might not expect it.
> For example,
>
>
> Map statusMap = ...
>
> public Boolean someMethod() {
>     statusMap.put("foo", true);  //the "true" here is boxed
>     return false;  //the "false" here is boxed
> }
>
> has two cases of this needless autoboxing. This can be made more efficient by
> simply substituting in the constant values:
>
>
> Map statusMap = ...
>
> public Boolean someMethod() {
>     statusMap.put("foo", Boolean.TRUE);
>     return Boolean.FALSE;
> }

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-03-07 13:11:23 +01:00
Andy Scherzinger
8e11f21233
adapt to java->kotlin changes regarding null-ability
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-03-07 09:55:30 +01:00