Commit graph

2751 commits

Author SHA1 Message Date
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
Andy Scherzinger
15e875f974
Migrate push models to kotlin data classes
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-03-07 09:50:19 +01:00
Marcel Hibbe
a1e694104c
add groups and circles to system messages ("add"+"remove")
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-03-04 14:58:46 +01:00
Marcel Hibbe
0079107461
revert commit d76203a0
fix to support older conversationApi versions for canLeave and canDelete

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-03-04 09:23:42 +01:00
Marcel Hibbe
86caa48636
add logging for onError
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-03-04 09:23:41 +01:00
Andy Scherzinger
aa2a08692f
migrate statuses overall to kotlin data classes
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-03-03 18:00:53 +01:00
Andy Scherzinger
2008fb0c2a
migrate remaining status models to kotlin
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-03-03 12:50:58 +01:00
Marcel Hibbe
508f519468
set fixed avatar sizes for requests
necessary because of https://github.com/nextcloud/server/pull/31010

known issue: avatars in chat messages are too big atm

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-03-02 15:15:22 +01:00
Andy Scherzinger
00c4b13f17
don't resize avatar views dynamically
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-03-02 14:33:53 +01:00
Tim Krüger
3411728597
Pass 'null' for unset icon in custom status message
The OCS Status API  expect an valid emoji or 'null' for the status icon
in a custom message:

> field: statusIcon
> type: string/null
> Description: The icon picked by the user (must be an emoji, at most one)

See [1] for more details.

Resolves: #1839
See:
 [1] https://docs.nextcloud.com/server/latest/developer_manual/client_apis/OCS/ocs-status-api.html#set-a-custom-message-user-defined

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-03-02 09:50:08 +01:00
Dariusz Olszewski
93556da33a
Re-use existing ChatController from notification
NotificationWorker provides the user information under KEY_USER_ENTITY parameter of the notification intent, but does not set the KEY_INTERNAL_USER_ID parameter.
With this change existing ChatController instance that has been opened manually from the conversation list is properly reused when a notification is opened.
Otherwise two instances of the ChatController were running in parallel for the same room, causing unintended side effects.

Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-03-01 13:19:18 +01:00
Dariusz Olszewski
c95d286de4
ktlint
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-03-01 13:19:18 +01:00
Dariusz Olszewski
a7bd6393df
Prevent overlapping pullChatMessages calls
Sometimes pullChatMessages may be called before response to a previous call is received.
In such cases just ignore the second call. Message processing will continue when response to the earlier call is received.

Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-03-01 13:19:18 +01:00
Dariusz Olszewski
b2aef87b24
Re-organize sessionId handling
- clean session Id when leaving the room rather than in onAttach
- invoke leaveRoom in onDetach only when we have a valid sessionId
This avoid calling joinRoom twice in some scenarios, or calling leaveRoom before joinRoom completes successfully.

Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-03-01 13:19:17 +01:00
Dariusz Olszewski
d31e6de5c4
Second attempt to fix the issue
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-03-01 13:19:17 +01:00
Dariusz Olszewski
d064ad3f65
Simplified code to avoid NullPointerException when server response arrives after the view was unbound.
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-03-01 13:19:17 +01:00
Dariusz Olszewski
606c6b0b9e
Avoid NullPointerException when server response arrives after the view was unbound.
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-03-01 13:19:17 +01:00
Dariusz Olszewski
505bcdfe20
Yet more diagnostic logging
Also in ConversationsListController

Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-03-01 13:19:16 +01:00
Dariusz Olszewski
cfcfcf5bc4
Even more diagnostic logging
Info to correlate calls and responses
Log errors

Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-03-01 13:19:16 +01:00
Dariusz Olszewski
b88530da6f
More diagnostic logging
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-03-01 13:19:16 +01:00
Dariusz Olszewski
b10d0cb98a
Revert "Notifications from lock screen - initial attempt to fix the issue"
This reverts commit ce8bec73

Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-03-01 13:19:16 +01:00
Dariusz Olszewski
dfa14e7c52
Notifications from lock screen - initial attempt to fix the issue
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-03-01 13:19:15 +01:00
Dariusz Olszewski
be6e5d78cb
Additional logging to diagnose opening chat view from notification
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-03-01 13:19:14 +01:00
Andy Scherzinger
b750f41efd
kotlin code foermatting
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-03-01 10:21:09 +01:00
Andy Scherzinger
243e6161a6
Migrate AccountVerificationController to kotlin
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-28 18:25:53 +01:00
Andy Scherzinger
f76d25974e
migrate EntryMenuController to Kotlin
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-28 17:21:06 +01:00
Tim Krüger
45085b7e0b
Remove Parceler from model notifications
Resolves: #1548

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-28 16:54:24 +01:00
Tim Krüger
d9587e9d18
Remove Parceler from model mention
Resolves: #1548

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-28 16:54:24 +01:00
Tim Krüger
003d4c6af2
Remove unneeded not-null assertion operator (!!)
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-28 16:54:23 +01:00
Tim Krüger
94f2339baa
Remove unneeded package definition
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-28 16:54:23 +01:00
Tim Krüger
9f62df3a53
Suppress lint for unused result
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-28 16:54:22 +01:00
Tim Krüger
dad4f56e6a
Remove Parceler from model hovercard
Resolves: #1548

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-28 16:54:22 +01:00
Andy Scherzinger
18f180bfe7
rename UserItem to ContactsItem to reflect its use case
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-28 13:26:40 +01:00
Andy Scherzinger
da39d12a7f
remove unneeded null checks
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-28 13:23:35 +01:00
Andy Scherzinger
92a2c44415
remove unused classes
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-28 13:23:10 +01:00
Andy Scherzinger
76270077a1
migrate view items to native view bindings
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-28 09:52:49 +01:00
Andy Scherzinger
7374176083
remove unused getter
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-28 09:52:48 +01:00
Andy Scherzinger
f47690db22
use seperate xml designs for Items (+use viewbinding)
Resolves #1829

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-28 09:52:45 +01:00
Marcel Hibbe
9d29cbf9cd
fix vertical alignments for UserItem
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:28:33 +01:00
Andy Scherzinger
5c86629b53
fix license header mail format
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-25 12:25:52 +01:00
Andy Scherzinger
a3e86d841f
correct enum comparisons and add constants for fixed values
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-25 12:23:56 +01:00
Marcel Hibbe
0dc42a1b1e
fix NPE if status is null
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:46 +01:00
Andy Scherzinger
7ce1b9e916
adapt license header to app
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-25 12:11:46 +01:00
Andy Scherzinger
0677607dc4
migrate FlexibleItems to native view bindings
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-25 12:11:46 +01:00
Marcel Hibbe
d4f9f996c3
fix vertical alignment for MentionAutocompleteItem's
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:46 +01:00
Marcel Hibbe
ec438b0a9d
add rounded colors to online status buttons
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:45 +01:00
Marcel Hibbe
4984ba4dde
avoid linebreaks for "clear at" calculation
because:
- can lead to wrong calculations!

- avoid klint complaining about indentation

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:45 +01:00
Marcel Hibbe
b7b92eb623
fix textcolor for highlighted online status button
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:45 +01:00
Marcel Hibbe
305ceedc75
align username etc vertical if no status message is set
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:44 +01:00
Marcel Hibbe
c746b95ac2
add author to license headers
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:44 +01:00
Marcel Hibbe
a7792cb66e
fix lint and spotbugs warnings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:44 +01:00
Marcel Hibbe
ce002318a2
fix NPE for contacts view
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:44 +01:00
Marcel Hibbe
fc8462e0a5
use StatusDrawable for conversationInfo and mention autocomplete
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:44 +01:00
Marcel Hibbe
1da8c3b206
modify StatusDrawable and use it for conversationList
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:43 +01:00
Marcel Hibbe
73ce2716de
fix klint warnings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:43 +01:00
Marcel Hibbe
4f1a188a38
fix lint/spotbug warnings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:43 +01:00
Marcel Hibbe
4c07ccec11
fix NPE when opening Contacts view.
because UserItem is used for ContactsController and ConversationInfoController it differs between two different xml designs in method getLayoutRes()
because of this there need to be checks which xml element exists or not. These are added with this commit.

In the long term UserItem should not use two different xml designs. This might also be a problem for view binding?!

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:43 +01:00
Marcel Hibbe
7820bc7c51
hide status of "Talk updates" conversation
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:43 +01:00
Marcel Hibbe
452baf4550
improve autocomplete mentions UI
add status message and emoji
match parent
improve design
use rv_item_mention_conversation_info_participant instead of rv_item_mention.xml

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:42 +01:00
Marcel Hibbe
0078778c99
show status for autocomplete mentions
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:42 +01:00
Marcel Hibbe
6a9dea7522
fix autocomplete mentions
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:42 +01:00
Marcel Hibbe
e3fd9a7592
fix onlinestatus color for night mode
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:41 +01:00
Marcel Hibbe
ffbe39bd01
change UserStatusCapability to kotlin data class
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:41 +01:00
Marcel Hibbe
21af8381b0
hide secondary text for normal users
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:41 +01:00
Marcel Hibbe
22c770fa8a
set "away" / "dnd" as status message if it's empty
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:41 +01:00
Marcel Hibbe
176568b628
show online status AND emoji in conversations info
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:40 +01:00
Marcel Hibbe
d453773a1d
show user statuses in conversation info (wip)
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:40 +01:00
Marcel Hibbe
6057306ab3
show user statuses in conversation list
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:40 +01:00
Marcel Hibbe
e27ede75ff
tidy up
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:40 +01:00
Marcel Hibbe
546f3fe1f2
fix to be able to set only "icon" / only "clear at" for status
api seems to set single modification for icon or "clear at" only if status message is not empty (must be at least whitespace)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:40 +01:00
Marcel Hibbe
bce0d276f3
fix to be able to modify status message after predefined status was selected
so api to set a predefined status is not used at all..

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:40 +01:00
Marcel Hibbe
ea634ff43c
delete comments
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:39 +01:00
Marcel Hibbe
45cfbc7257
add ability to set status type
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:39 +01:00
Marcel Hibbe
19060bddbd
delete comments
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:39 +01:00
Marcel Hibbe
622eaa1d7f
check capabilities to set status support
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:39 +01:00
Marcel Hibbe
dad53a77e6
fix wrong calculation for "in 4h" (=remove linebreak)
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:38 +01:00
Marcel Hibbe
967b63b017
draw status in ChooseAccountDialogFragment
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:38 +01:00
Marcel Hibbe
7cc8751a1f
disable set status button until status is received
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:38 +01:00
Marcel Hibbe
df5ac64712
fix to clear the status
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:37 +01:00
Marcel Hibbe
454c6cd8e6
add ability to send predefined and custom status
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:37 +01:00
Marcel Hibbe
8117c775a7
notifyDataSetChanged after predefines statuses were loaded
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:37 +01:00
Marcel Hibbe
57a408ac97
add predefined statuses
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:37 +01:00
Tim Krüger
a94f0f1bf1
Adopt more parts from files app [WIP]
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-25 12:11:36 +01:00
Marcel Hibbe
05586ccf47
add user status option to account dialog (WIP)
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:36 +01:00
Tim Krüger
3d76ba3571
Close localStream after peerConnection
The peerConnection get passed the tracks of the localStream. So to make
sure that the tracks are not released before the connection is closed it
will now done after closing the peerConnection.

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-23 12:34:04 +01:00
Tim Krüger
f08a9ef463
Rename MagicPeerConnectionWrapper to PeerConnectionWrapper
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-23 12:21:41 +01:00
Tim Krüger
0ea29ee0cd
Remove unused fields remoteVideoOn and remoteAudioOn
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-23 12:21:41 +01:00
Tim Krüger
844cf09a2b
Rename remoteMediaStream to remoteStream
Align naming to the names used in WebRTC example code and documentation.

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-23 11:36:42 +01:00
Tim Krüger
5580c15ea6
Rename magicDataChannel to dataChannel
There is no 🧙 in a data channel.

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-23 11:36:42 +01:00
Tim Krüger
272ea7e846
Rename sdpConstraints to mediaConstraints
SDP is a native detail of the native WebRTC library.

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-23 11:36:42 +01:00
Tim Krüger
890dda0c68
Remove unused method 'restartIce'
The method 'restartIce' is dead code since years. So this and related
fields are removed.

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-23 11:36:42 +01:00
Tim Krüger
557602d1bf
Make fields final
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-23 11:36:42 +01:00
Tim Krüger
5e778c94fb
Make use of Objects#requireNonNull to check for null references
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-23 11:36:41 +01:00
Tim Krüger
5b95b5675d
Rename localMediaStream to localStream
Align naming to the names used in WebRTC example code and documentation.

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-23 11:36:41 +01:00
Tim Krüger
86f20dcfd3
Migrate WebRTC from plan b to unified plan
The in 'MagicPeerConnectionWrapper#removePeerConnection' used method
'PeerConnection#removeStream' was not longer available in the unified
plan. So to make sure that the local stream is disposed, it will now be
done in 'CallActivity#hangup'.

Resolves: #1773
See: [1]

[1] https://webrtc.org/getting-started/unified-plan-transition-guide
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-23 11:36:41 +01:00
Tim Krüger
bad5b5f9bc
Update WebRTC library
The  updated libwebrtc will be load from the talk-clients-webrtc repository [1]
and not from a dependency repository. The 'lint' task must now depend on the
'perBuild' task to make sure that the WebRTC library is downloaded from the
configured URL.

To get the new version to work a change is needed because of this announcement:

> Google is planning to transition Chrome’s WebRTC implementation from the
> current SDP format (called “Plan B”) to a standards conformant format
> (“Unified Plan”, draft-ietf-rtcweb-jsep) over the next couple of quarters.
>
> - [2]

Currently we are in phase 4 of the transition [3]. So actually 'Plan B'
must be used to avoid bigger changes to our code base at this time. But
'Plan B' is depracted and will be removed in phase 5 of the transition
[4].

Resolves: #1773
See:
  - [1] https://github.com/nextcloud-releases/talk-clients-webrtc
  - [2] https://webrtc.org/getting-started/unified-plan-transition-guide
  - [3] https://webrtc.org/getting-started/unified-plan-transition-guide#phase_4_make_%E2%80%9Cplan_b%E2%80%9D_throw
  - [4] https://webrtc.org/getting-started/unified-plan-transition-guide#phase_5_remove_%E2%80%9Cplan_b%E2%80%9D

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-23 11:34:30 +01:00
Tim Krüger
964367189f
Fix klint errors
Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-21 17:17:47 +01:00
Tim Krüger
e49d014ec9
Remove Parceler from model capabilities
Resolves: #1548

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-17 22:36:27 +01:00
Tim Krüger
dcc0a0fdd0
Remove Parceler from model autocomplete
Resolves: #1548

Signed-off-by: Tim Krüger <t@timkrueger.me>
2022-02-17 22:36:26 +01:00
Andy Scherzinger
b745e0677b
reformat kotlin
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-17 17:29:12 +01:00
Andy Scherzinger
7b64fbd7e0
spotbugs: checks the size of a collection against zero rather than using isEmpty()
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-17 17:23:46 +01:00
Andy Scherzinger
a18987dc0a
also show server address and placeholder avatar for account import
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-17 17:21:48 +01:00
Andy Scherzinger
43f57931fd
add empty lines for formatting
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-17 15:25:24 +01:00
Andy Scherzinger
ef4b08d752
convert switch account controller to kotlin
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-17 15:25:24 +01:00
Andy Scherzinger
377a983ac8
convert server selection controller to kotlin
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-17 15:25:21 +01:00
Marcel Hibbe
e1f8c41b60
fix to mark conversation as read
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:45:58 +01:00
Marcel Hibbe
0f6efabf38
avoid wildcard imports
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:11 +01:00
Marcel Hibbe
30b34adaf6
make ConversationOperationEnum imports static
rename enums

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:11 +01:00
Marcel Hibbe
a22b93f363
fix to hide dialog automatically after 2,5 seconds
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:11 +01:00
Marcel Hibbe
73894bd4c0
fix to don't partly hide input dialogs behind keyboard
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:11 +01:00
Marcel Hibbe
2348919d97
modify copyright headers authors
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:10 +01:00
Marcel Hibbe
eceb545589
remove (hopefully unused) code regarding GUEST and USER_FOLLOWING_LINK
I can't reproduce or think of scenarios when this code was used. because bottom dialog is replaced it wouldn't work anymore anyway.
If there appear scenarios when the code would have executed, it should be fixed similar like ConversationsListBottomDialog was implemented.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:10 +01:00
Andy Scherzinger
142c362474
solve detekt issues
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-16 11:34:09 +01:00
Marcel Hibbe
809e277855
rename enum, add todo
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:09 +01:00
Marcel Hibbe
8ea9663d5e
fix to fetch conversations list after executing bottom sheet operations
BottomSheetLockEvent was only used for old bottom dialog with "kennyc" lib

instead ConversationsListFetchDataEvent.kt is now used to fetch the data in ConversationsListController whenever needed

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:09 +01:00
Marcel Hibbe
4728600021
fix to show searchbar after bottom dialog textinput
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:08 +01:00
Marcel Hibbe
6bc5d324b5
fix to show searchbar after bottom dialog operations
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:08 +01:00
Marcel Hibbe
4335e44701
replace operationCode's (int) by Enums
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:08 +01:00
Andy Scherzinger
66795bb48b
correct code formatting and license header added
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-16 11:34:07 +01:00
Andy Scherzinger
4fb61ed046
improve detekt score
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-16 11:34:07 +01:00
Marcel Hibbe
ea7575b266
remove dependency com.github.Kennyc1012:BottomSheet
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:06 +01:00
Marcel Hibbe
ac0c961557
open Conversation after being created via ContactsController
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:06 +01:00
Marcel Hibbe
dbf6b91260
rename ConversationOperationDialog to ConversationsListBottomDialog
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:06 +01:00
Marcel Hibbe
9423376ca7
tidy up
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:06 +01:00
Marcel Hibbe
bec19428e0
share conversation link
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:05 +01:00
Marcel Hibbe
76451c1649
fix actions that are clicked in Conversation Bottom Dialog
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:05 +01:00
Marcel Hibbe
d76203a093
remove api v1 variants for conversations canLeave and canDelete methods
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:05 +01:00
Marcel Hibbe
aedede9ffd
proof of concept: use conductor with BottomSheetDialog
two approaches are added with this commit (just for testing):

1.for conversationOperationAddFavorite
- replace UI in ConversationOperationDialog
- push another controller via method in ConversationsListController (makes no sense here, but will be useful for other cases)

2. for conversationOperationRemoveFavorite
- hide UI
- introduce another conductor router for dialog
- push new Controller with new router
- fetchData in old controller

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:05 +01:00
Marcel Hibbe
cb9189da19
replace CallMenuController with ConversationOperationDialog.kt
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:04 +01:00
Marcel Hibbe
90a99d4994
fix design when keyboard is shown
- set windowSoftInputMode to adjustResize
- comment out everything related to KeyboardUtils

this fixes the design when keyboard is shown. At least this breaks the BottomSheet which will be hidden by the keyboard.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:04 +01:00
Andy Scherzinger
741b6fefc9
Adjust conversation list bottom sheet item to material 3
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-07 21:18:52 +01:00
Marcel Hibbe
7f0980e6d2
format code + fix klint/findbugs warnings
remove hardcodings

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>

remove hardcodings

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-07 14:27:38 +01:00
Marcel Hibbe
51df0e67f4
add UI logic for wired headset
if wired headset is plugged in hide earpiece and speaker icons

if wired headset is plugged out show earpiece and speaker icons

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-07 13:09:41 +01:00
Marcel Hibbe
a34eb89570
modify behaviour of proximity sensor
use proximity sensor only if it is a voiceOnly call and userSelectedAudioDevice was SPEAKER_PHONE

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-07 13:09:41 +01:00
Marcel Hibbe
338f06dda1
update UI if audio output device changed
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-07 13:09:40 +01:00
Marcel Hibbe
3587fe6e12
use speaker if no bluetooth is available
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-07 13:09:40 +01:00
Marcel Hibbe
510ec1598c
hide unavailable audio output channels
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-07 13:09:40 +01:00
Marcel Hibbe
ffb223a66f
highlight active audio output
use layout weight

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-07 13:09:40 +01:00
Marcel Hibbe
78b29082bf
show audio button also for videocalls
use layout weight

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-07 13:09:39 +01:00
Marcel Hibbe
9c0fa9acc2
select audio device (WIP)
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-07 13:09:39 +01:00
Marcel Hibbe
9b889d232f
add UI to switch audio output in call
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-07 13:09:39 +01:00
Marcel Hibbe
70b4eed654
delete deprecated CallItem + refactor related code
CallItem was only used before NC 14.
rv_item_conversation.xml was used by CallItem. After CallItem is now deleted, rv_item_conversation.xml was deleted from other xml classes as "tool"-view (this didn't make sense & was only a placeholder)
Furthermore, it was renamed to account_item.xml as now it is only used for account selection.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 17:25:22 +01:00
Marcel Hibbe
edc4091611
hide keyboard when scrolling in conversation search
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 17:22:21 +01:00
Marcel Hibbe
1de2261426
add open conversations to search
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 17:22:21 +01:00
Marcel Hibbe
9b55467af3
moved execution of setUpPushTokenRegistration
so token is registered everytime the conversation list is opened.

In NextcloudTalkApplication it was not  executed when app was still in background when opening

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 15:00:32 +01:00
Marcel Hibbe
f582525fef
remove logging
so the actions are not triggered when PeriodicWorkRequests are created.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 15:00:32 +01:00
Marcel Hibbe
c8274fe740
add string for origin to PushRegistrationWorker for debugging
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 15:00:31 +01:00
Marcel Hibbe
4629d02dc4
add copyright + minor refactoring
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 15:00:31 +01:00
Marcel Hibbe
06afd7bec6
set up periodic fetch of firebase token in ClosedInterface for gplay
move OneTimeWorkRequest for PushRegistrationWorker from NextcloudTalkApplication to ClosedInterface for gplay

add check in PushRegistrationWorker if google services are available

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 15:00:31 +01:00
Marcel Hibbe
aacd6d5377
also register push token again on server&proxy no matter if it didn't change on device
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 15:00:30 +01:00
Marcel Hibbe
b339aa9d33
refactor check if token should be registered
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 15:00:30 +01:00
Marcel Hibbe
1bd28f5ef4
add logging
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 15:00:30 +01:00
Marcel Hibbe
31f2f40bcf
refactor PushUtils
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 15:00:30 +01:00
Marcel Hibbe
412af46ed5
refactoring PushUtils
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 15:00:29 +01:00
Marcel Hibbe
a7c298b224
add log if push token is empty when registering at nc server
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 15:00:29 +01:00
Marcel Hibbe
bd4208f709
minor refactoring
- extract method to register device at proxy
- rename method
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-26 15:00:29 +01:00
Marcel Hibbe
54552cdd87 restrict to start a call when permission is missing
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-12 12:29:06 +00:00
Marcel Hibbe
65e002fe98 render system message "call_ended_everyone"
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-12 12:29:06 +00:00
Marcel Hibbe
5272d35f01 fix to stop audio manager in ui thread
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-12 12:29:06 +00:00
Marcel Hibbe
d17a8e9dbd ad some logging
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-12 12:29:06 +00:00
Marcel Hibbe
175f479d0f replace check for boolean variant of inCallFlag
(boolean variant is deprecated since nc14)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-12 12:29:06 +00:00
Marcel Hibbe
76aaafb024 replace deprecated ParticipantFlags with InCallFlags
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-12 12:29:06 +00:00
Marcel Hibbe
f70f94e6be hangup when currentSession has inCall flag = 0
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-12 12:29:06 +00:00
Marcel Hibbe
b3b8c867f7 fix typo
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-01-12 12:29:06 +00:00
Andy Scherzinger
16246e9fe2
only show mark as unread in debug mode
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-01-11 14:53:48 +01:00
Dariusz Olszewski
c99da0282d
Null ringtone Uri must be allowed
App would crash on pre-Oreo devices with "No sound" setting

Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-01-05 11:03:59 +01:00
Dariusz Olszewski
d99295118b
SpotBugs
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-01-05 11:03:59 +01:00
Dariusz Olszewski
648b9cbb82
Remove unused notification channels during upgrade
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-01-05 11:03:58 +01:00
Andy Scherzinger
12e1d9b7de
use existing constant
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-01-05 10:28:07 +01:00
Andy Scherzinger
10f2c3be3a
make unread work for chat messages based on adapter data
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-01-05 10:28:07 +01:00
Andy Scherzinger
58c0106ec7
calculate previous message id when possible
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-01-05 10:28:07 +01:00
Andy Scherzinger
de085df3bc
add proper API version detection
don't let switch fall through
make api versions constants

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-01-05 10:28:07 +01:00
Andy Scherzinger
1521e13e21
mark message as unread / conversation as read
Resolves #1464

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-01-05 10:28:06 +01:00
Dariusz Olszewski
996c4c5280
ktlint... :-|
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-01-04 15:38:25 +01:00
Dariusz Olszewski
385edf35a2
Image keyboard support in chat
Receive images (usually GIFs) from keyboard and upload them to the current chat.

Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-01-04 15:38:24 +01:00
Tim Krüger
c26d6afddb
Remove implied default locale in case conversion
Signed-off-by: Tim Krüger <t@timkrueger.me>
2021-12-21 12:03:57 +01:00
Marcel Hibbe
fef9c24232
minor refactoring in NotificationUtils
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-12-15 15:54:20 +01:00
Dariusz Olszewski
09879ff347
Proposed UI changes of notification settings
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2021-12-14 22:05:48 +01:00
Dariusz Olszewski
39f69003b5
Safer to use NotificationManagerCompat rather than NotificationManager
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2021-12-14 22:05:48 +01:00
Dariusz Olszewski
2f4aa35c53
Register notification channels on app start-up (Oreo or later)
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2021-12-14 22:05:48 +01:00
Dariusz Olszewski
2e4130c2c4
Fix (some) ktlint issues
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2021-12-14 22:05:48 +01:00
Dariusz Olszewski
e9ac99c5df
Notification settings UI on Oreo or later
* On devices with Android 8.0 (Oreo) or later, use system UI to change notification settings.
* Refactor sound selection code to cover differences between old (pre Oreo) and new devices.
* Always use the same notification channel for calls (Oreo or later).

Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2021-12-14 22:05:48 +01:00
Dariusz Olszewski
4a5f6cf1fe
Do not play notification sounds on Oreo or later
On devices with Android 8.0 (Oreo) or later, notification sound will be handled by the system, if notifications have not been disabled by the user.

Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2021-12-14 22:05:47 +01:00
Tim Krüger
2bf470e0e6
Fix unread indirect mention bg color
The background color for the indirect unread mention counter was alwasys
white. Also in dark mode.

Now the background color is defined via the 'bg_default' color.

Signed-off-by: Tim Krüger <t@timkrueger.me>
2021-12-14 11:39:34 +01:00
tobiasKaminsky
5ad48b3757
initial idea to login in during tests
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2021-12-08 16:25:18 +01:00
Tim Krüger
eb1512b890
Show quotes of unnamed guests with "Guests"
Before this change the default "Guests" label only was set if the actor
display name was 'null'.

Resolves: #1730

Signed-off-by: Tim Krüger <t@timkrueger.me>
2021-12-03 11:30:16 +01:00
Tim Krüger
567326da5a
Resolve klint issues
Signed-off-by: Tim Krüger <t@timkrueger.me>
2021-12-02 12:54:26 +01:00
Marcel Hibbe
d377b6f136
fix klint
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-23 12:29:53 +01:00
Marcel Hibbe
5bb8de673e
hangup call notification screen after 1 minute
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-23 11:27:50 +01:00
Marcel Hibbe
8381e0b541
add logging for calls
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-22 22:41:17 +01:00
Andy Scherzinger
47aa8ea5d4 make all cam buttons reflect current state instead of triggered action
Resolves #1694

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-11-18 12:49:14 +00:00
Andy Scherzinger
514a2f0cc6
Merge pull request #1699 from nextcloud/deleteLeaveRoom
delete unused method leaveRoom
2021-11-17 15:02:38 +01:00
Marcel Hibbe
4167cb63bf
share contact from attachment dialog
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-17 12:12:05 +01:00
Marcel Hibbe
477100ccd8
delete unused method leaveRoom
delete redundant if-check

cleanup of commit ca9a622030

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-16 19:53:45 +01:00
Marcel Hibbe
41ff61be5f
set pipGroupCallOverlay to gone when not needed
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-16 16:19:18 +01:00
Marcel Hibbe
9499b8117b
fix that call controls appear on touch when connecting
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-16 16:19:17 +01:00
Marcel Hibbe
e2668c4000
delete zlevel of call controls (not needed)
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-16 16:19:17 +01:00
Marcel Hibbe
48cda08854
delete if-checks for view bindings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-16 16:19:17 +01:00
Marcel Hibbe
f2e75a7b71
add workaround to start videocalls when PIP is disabled
this is a dirty workaround for issue #1677

Somehow onUserLeaveHint is executed when the user starts a videocall. If PIP is disabled, the logic inside enterPipMode would finish the activity right after it was started.
This workaround suppresses the execution of enterPipMode right after the activity was started.
However if a user would press the home button in the first three seconds, the call would continue in background without the ability to recover the UI.

To better fix this bug it must be found out why onUserLeaveHint is executed on start (this should not happen!).

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-15 12:19:40 +01:00
Andy Scherzinger
4671b18b91
Add license headers
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-11-12 09:45:49 +01:00
Andy Scherzinger
2eee665374
spotbugs: remove unused view variable
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-11-11 22:10:57 +01:00
Andy Scherzinger
0a3b23ba57
don't box primitives
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-11-11 22:10:56 +01:00
Andy Scherzinger
fd754f582b
migrate scope dialog to native view binding
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-11-11 22:10:55 +01:00
Andy Scherzinger
d995fc51ef
move attachment dialog to native view bindings
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-11-11 22:10:54 +01:00
Andy Scherzinger
d0f52c8eba
make sure to torn of torch after taking a picture
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-11-11 22:10:53 +01:00
Andy Scherzinger
dd9501590b
replace resolution and crop icons and preserve state in lifecycle
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-11-11 22:10:53 +01:00
Adam Serbinski
c3a37222b3
Crop and 2MP buttons to go away when reviewing
Signed-off-by: Adam Serbinski <adam@serbinski.com>
2021-11-11 22:10:52 +01:00
Adam Serbinski
7edd87fa4e
Add crop and low res (2MP) drawables
Signed-off-by: Adam Serbinski <adam@serbinski.com>
2021-11-11 22:10:52 +01:00
Adam Serbinski
13d376b25b
Add toggles for crop and lowres
Upper left -- crop
Upper right -- lowres (1920x?)

Signed-off-by: Adam Serbinski <adam@serbinski.com>
2021-11-11 22:10:51 +01:00
Adam Serbinski
d2d98314ee
Upload from camera: pinch to zoom, apect ratio
This implements pinch to zoom in the full range supported by the
camera HAL, fixes aspect ration handling on rotation, and sets up
for multiple resolution and aspect ratio support.

Signed-off-by: Adam Serbinski <adam@serbinski.com>
2021-11-11 22:10:51 +01:00
Andy Scherzinger
45402ea202
taost the right text
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-11-11 22:10:50 +01:00
Andy Scherzinger
ab4bba0f27
add cam permission check
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-11-11 22:10:50 +01:00
Andy Scherzinger
03cb3a66c6
move flash/flip-cam toggles
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-11-11 22:10:49 +01:00
Andy Scherzinger
bdc157d772
spotbugs: remove needlessly boxing a boolean constant
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-11-11 22:10:48 +01:00
Andy Scherzinger
14a3e488cc
limit image size for cam uploads to FHD
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-11-11 22:10:47 +01:00
Andy Scherzinger
7e688c43af
update cam libs to sdk=30 versions, improve previews and removal of temp images in case of cancellations
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-11-11 22:10:47 +01:00
Andy Scherzinger
67c421a067
add retake, send actions and preview
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-11-11 22:10:46 +01:00
Andy Scherzinger
547e9ebf8b
improve camera layout
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-11-11 22:10:46 +01:00
Andy Scherzinger
56d57c0b37
improve code check score
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-11-11 22:10:45 +01:00
Andy Scherzinger
4041d3f09b
use context compat to load resources
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-11-11 22:10:45 +01:00
Andy Scherzinger
0b8add1f69
Adding upload from camera action
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
Co-Authored-by: Stefan Niedermann <info@niedermann.it>
2021-11-11 22:10:41 +01:00
Marcel Hibbe
14abe52b6a
rename CallActivityBase to CallBaseActivity
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:52:18 +01:00
Marcel Hibbe
36c5f0814b
remove avatar blurring for background (=fix blocking of call controls)
no blurring or other background color calculation is done any more. BlurPostProcessor took too long for the used image size. If this is a requirement in the future, use ScalingBlurPostprocessor instead of  BlurPostprocessor (so fresco lib fork from nextcloud has to be updated!), see https://frescolib.org/docs/modifying-image.html

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:52:18 +01:00
Marcel Hibbe
9070153d5c
create abstract class for CallActivity and CallNotificationActivity
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:52:18 +01:00
Marcel Hibbe
be9971ad7a
disable back button when pip is not available
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:52:18 +01:00
Marcel Hibbe
e6da2fcc19
replace hardcoded applicationId for pip permission check
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:52:18 +01:00
Marcel Hibbe
89d0bcfc78
hide navigation bar if pip is not available
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:52:18 +01:00
Marcel Hibbe
f5106e6050
check if pip mode is granted on device, otherwise hide button
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:52:18 +01:00
Marcel Hibbe
f9a28cb0aa
fix to hide selfVideo when pip-view is tapped
on some devices (reproduced with Pixel2 on api level30) the own video became visible when the pip view was tapped. This fix should hide the own video.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:52:18 +01:00
Marcel Hibbe
289bd2fa00
fix klint error
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
63593df03e
hide peer name when in pip mode
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
052dc588aa
remove comment
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
b822eb8417
reformat code in CallNotificationActivity
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
b3f8a36c62
load avatar again in CallNotificationActivity
was only disabled for debugging. still needs to be fixed with https://github.com/nextcloud/talk-android/issues/1234

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
7a7888f5d1
reformat code in CallActivity
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
71ae7eddc2
move code from onStart to onCreate
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
0bfeb1b320
add action button to mute/unmute in pip mode
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
4a1c637efc
add checks if pip is supported by device
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
a0c95113bf
display overlay instead of grid in pip view for group calls
this is a quick and dirty solution until "speaker view" is introduced in the future which should be used for the pip view.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
57804c8d62
dismiss keyguard for CallNotificationActivity (WIP, see TODO)
Whenever i click the button to accept the call, CallActivity is started by intent.
CallActivity itself has the same logic to dismiss the keyguard.

The problem is: When switching from CallNotificationActivity to CallActivity the lockscreen is shown indeed!
So i guess Android recognizes "oh, CallNotificationActivity is gone. Let's show the lockscreen" before it recognizes that
the new activity also dismiss the lockscreen ?!

I fear for this scenario it was not the best idea to have 2 different activies.. (before it was only 1 activity and 2 condcutor controllers..)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
e05334cb9a
enable pip support for CallNotificationActivity
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
7e68ecbde9
rename "runAllThings"
:D :D
setUpAfterConversationIsKnown might not be the best name, but i'm not sure when in onCreate the currentConversation can be null. depending on that it might even not be necessary to have the "things" in a method..

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
3326b6a7f3
rename design for CallActivity
move methods

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
c7e38e4859
replace CallNotificationController with Activity (WIP)
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
251d41f7fb
replace CallController with CallActivity etc. (WIP)
- delete MagicCallActivity
- replace butterknife with viewbinding for CallActivity

TODO:
- also switch CallNotificationController to Activity
- check if CallActivity and CallNotificationActivity are called correctly
- testing!

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
b49a1b9274
remove unused import
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
3afcceae50
delete creation of intent that is not used
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
03913b40a2
fix to enable pip for CallNotification Controller
methods to update UI are not yet implemented. maybe it's better to make two Activities: one for Call and one for CallNotification...

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
0d1e0af9d1
fix NPE when call is joined by notification
add ability to have PIP mode for calls joined by notification

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
51b86b5a88
fix currentRoomToken for ApplicationWideCurrentRoomHolder
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
e0e3bf4c32
add logging and comments
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
2c1b45491d
start pip mode when back button is pressed
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
78653e7d8d
show call controls in videocall when entering call or when come back from pip mode
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
12d96634e5
fix to show call controls in voiceOnly call after coming back from pip mode
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
1ae5f51a81
hide pip button for android < 8
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
6839b9eb2c
fix animation of callControls
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
3ba599be98
rename old "pip*"-stuff to "selfVideo*"
improve design-logic for pip-mode and normal mode when switched back from pip

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
914b10bf20
make pip fullscreen (wip)
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
d482d8603e
modify call screen design for pip mode
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
ea8e45e934
enable keyguard when users presses home button
= security check if call was entered via notification in locked mode

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
0aee8eb7ef
remove comment
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
d4322bf2d9
finish call activity if closed via "X" in pip mode
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
d4d23c1855
set calling/dialing state by ApplicationWideCurrentRoomHolder
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
78384e7b55
add initial approach for pip mode (wip)
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 13:23:40 +01:00
Marcel Hibbe
40506eaeaf
allow app to query for apps that can resolve VIEW or SEND intents
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-11-11 11:22:37 +01:00
Tim Krüger
85785c287e
Resolve FindBugs Collection Naming Confusion
From the FindBugs documentation:

> CNC_COLLECTION_NAMING_CONFUSION: Collection variable is named with a different
> type of collection in the name
>
> This class defines a field or local collection variable with a name that
> contains a different type of collection in its name. An example would be a Set
> called userList. This is confusing to the reader, and likely caused by a
> previous refactor of type, without changing the name. This detector is
> obviously only checking for English names.

Signed-off-by: Tim Krüger <t@timkrueger.me>
2021-11-10 13:55:20 +01:00
Tim Krüger
9accac3325
Show profile action on avatar click
For every click on a avatar in a group chat it will be tried to receive a
hover card from the Nextcloud server. The endpoint returns multiple
actions. Those actions will be filtered for the app ids 'spreed',
'email' and 'profile'. Other will be ignored.
The received filtered actions will be shown in a bottom sheet.

Resolves: #1644

Signed-off-by: Tim Krüger <t@timkrueger.me>
2021-11-10 09:08:43 +01:00
Tim Krüger
036cf7c590
Some refactoring
- Removed spelling issues
- Removed unneded boolean comparisons
- Improve code readability by reformatting

Signed-off-by: Tim Krüger <t@timkrueger.me>
2021-11-10 09:08:42 +01:00
Andy Scherzinger
a8c8fbe191
reformat code
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-11-06 12:23:37 +01:00
Andy Scherzinger
61e0c88188
improve code scores
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-11-06 12:15:23 +01:00
Andy Scherzinger
ed7a762b4c
correct formatting for ktlint
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-11-05 18:18:21 +01:00
Andy Scherzinger
e8930530de
rename method since vibrator implementation has been removed
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-10-26 12:15:30 +02:00
Andy Scherzinger
67df1fb341
cleanup code after custom vibrate code removal
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-10-26 12:15:30 +02:00
Andy Scherzinger
a5b1c1a34d
improve lint score
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-10-25 15:18:44 +02:00
Andy Scherzinger
8c87c5b45d
remove unused vibrate code
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-10-25 14:31:48 +02:00
Andy Scherzinger
eb3c742f65
remove vibrate setting
Resolves #1630

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-10-25 14:31:44 +02:00
Tim Krüger
7f54dcd9f9
Replace 'mute calls' by 'call notifications'
The 'mute calls' setting was only stored locally on the device. The new
'call notifications' setting is stored on the Nextcloud server and
shared over all devices.

See:
  - https://github.com/nextcloud/spreed/pull/6338

Signed-off-by: Tim Krüger <t@timkrueger.me>
2021-10-25 11:43:32 +02:00
Tim Krüger
1e5ba5a94b
Remove restricted API access
The access to function 'MaterialDialog#getItemSelector' is restricted.
Because of that the linting reported some errors.

I could not find any visible benefit in this call. That is why I have
removed it.

Signed-off-by: Tim Krüger <t@timkrueger.me>
2021-10-19 14:05:32 +02:00
Tim Krüger
249e1a2a9a
Remove unnecessary type casts
Signed-off-by: Tim Krüger <t@timkrueger.me>
2021-10-15 11:51:30 +02:00
Marcel Hibbe
74e693d95c
scroll to first unread mention and place it to the top
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-10-04 18:09:29 +02:00
Tim Krüger
cf471e336f
Clear message field after sharing
After the Android sharing functionality was used, the shared text sticks
in the message composing field in the conversation. Also if an text was
forwared to the same conversation the text which was shared before
sticks in the message composing field.

Now the message composing field is empty after sharing or forwarding
something.

Signed-off-by: Tim Krüger <t@timkrueger.me>
2021-09-29 12:23:48 +02:00
Andy Scherzinger
638b7c8288
also account for unread 1on1 messages for unreadMessages bubbleClicked
Fixes #1599

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-09-23 17:17:54 +02:00
Marcel Hibbe
84468be617
catch NPE for popup bubble
catch NPE when popup bubble for unread mentions is not available anymore

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-09-23 10:55:31 +02:00
Marcel Hibbe
4a31a89e4a
set standard typeface for date of message
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-09-22 17:17:57 +02:00
Marcel Hibbe
a6397b0392
differentiate unread counters
differentiate unread counters for group mentions and direct mentions

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-09-22 16:30:14 +02:00
Tim Krueger
f96392d05c
Merge pull request #1589 from nextcloud/feature/1557/show-lobby-timer-and-description-in-lobby-screen
Show lobby timer and description in lobby screen
2021-09-20 17:06:42 +02:00
Tim Krüger
4e8c8eb8d7
Show relative timer on lobby screen
Resolves: #1557

Signed-off-by: Tim Krüger <t@timkrueger.me>
2021-09-20 15:26:54 +02:00
Marcel Hibbe
12e9985cd9
add unread mentions popup-bubble in conversations list
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-09-20 11:35:58 +02:00
Marcel Hibbe
69bcd6ee88
enable keyguard for toggle chat
show the lockscreen when switching to chat in a call that was opened by notification before the phone was unlocked.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-09-17 14:58:44 +02:00
Tim Krüger
08a5088c48
Add conversation description to lobby screen
Resolves: #1557

Signed-off-by: Tim Krüger <t@timkrueger.me>
2021-09-17 12:21:18 +02:00
Andy Scherzinger
2315701b3a
Merge pull request #1546 from nextcloud/sdk30
Bump to SDK 30
2021-09-16 15:20:13 +02:00
Tim Krüger
1a9f5a3f73
Make klint happy :-)
Signed-off-by: Tim Krüger <t@timkrueger.me>
2021-09-15 17:02:57 +02:00
Tim Krüger
e1d9afa1a2
Suppress Lint for wrong constant of AudioManager modes
Signed-off-by: Tim Krüger <t@timkrueger.me>
2021-09-15 16:17:32 +02:00
Tim Krüger
99f5a64c50
Suppress Lint for wrong constant of AudioManager.GET_DEVICES_ALL
Up to now AudioManager.GET_DEVICES_ALL is a valid value. Because of that
the suppress annotation were added.

See: https://developer.android.com/reference/android/media/AudioManager#getDevices(int)

Signed-off-by: Tim Krüger <t@timkrueger.me>
2021-09-15 15:47:46 +02:00
Tim Krüger
5cacf7767d
Ask for READ_EXTERNAL_STORAGE permsssion for API level 30
Since API level 30 the WRITE_EXTERNAL_STORAGE permission will be
ignored. Instead the READ_EXTERNAL_STORAGE permission must be used.

See: https://developer.android.com/training/data-storage

Signed-off-by: Tim Krüger <t@timkrueger.me>
2021-09-14 13:54:20 +02:00
Marcel Hibbe
2f35ae19fc
call adapter methods in UI thread
otherwise sometimes this exception was thrown:

IllegalStateException: Cannot call this method while RecyclerView is computing a layout or scrolling androidx.recyclerview.widget.RecyclerView
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-09-03 13:07:21 +02:00
Andy Scherzinger
7311971fe1
properly theme the loading spinner
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-09-03 12:58:46 +02:00
Andy Scherzinger
fab51901f2
utilize Fragment key
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-09-03 12:58:46 +02:00
Andy Scherzinger
fbc853fa63
typo fixed
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-09-03 12:58:46 +02:00
Andy Scherzinger
04a7f75f78
adapt to rebase by remove the migrated fastscroller code
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-09-03 12:58:46 +02:00
Andy Scherzinger
1b29038dbd
move refresh action to swipe action
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-09-03 12:58:46 +02:00
Andy Scherzinger
d785d3aa21
properly sort by name
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-09-03 12:58:46 +02:00
Andy Scherzinger
85b2cea618
Add order capabilities to file browser
Resolves #919

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-09-03 12:58:46 +02:00
Tim Krüger
fe989371de
Fix scrolling and selection issue in RTL
The following views had scrolling and selection issues if RTL is
activated:

- Conversation list
- File browser
- Contact selection

To fix this issues the fast scroller functionality were removed for
those views.

Signed-off-by: Tim Krüger <t@timkrueger.me>
2021-09-02 14:01:17 +02:00
Tim Krüger
730c85811e
Hide own conversation in "forward to" selection screen
Resolves #1567

Signed-off-by: Tim Krüger <t@timkrueger.me>
2021-09-02 11:57:27 +02:00
tobiasKaminsky
8c7b7154a6
Bump to SDK 30
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2021-08-26 12:26:46 +02:00
Andy Scherzinger
febaaf8ea7
Revert "improve code check score"
This reverts commit 6415f163bd.

Revert "use context compat to load resources"

This reverts commit 3742c4ed99.

Revert "Adding upload from camera action"

This reverts commit 01a6675795.
2021-08-23 08:54:33 +02:00
Andy Scherzinger
6415f163bd
improve code check score
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-08-21 18:28:55 +02:00
Andy Scherzinger
3742c4ed99
use context compat to load resources
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-08-21 13:48:30 +02:00
Andy Scherzinger
01a6675795
Adding upload from camera action
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
Co-Authored-by: Stefan Niedermann <info@niedermann.it>
2021-08-21 13:40:18 +02:00
Marcel Hibbe
dd5d347a7b
expand privacy settings bottom sheet in landscape mode
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-08-19 12:00:28 +02:00
Marcel Hibbe
402325ffb5
fix displaying of message delete-button
this will fix to hide the delete-button when the message is not from the current user and the user not a moderator.
see https://nextcloud-talk.readthedocs.io/en/latest/chat/#deleting-a-chat-message

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-08-12 18:03:50 +02:00
Andy Scherzinger
fd430b9084
use proper context
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-07-22 22:58:22 +02:00
Andy Scherzinger
ed19792204
extract bundle keys
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-07-22 22:39:31 +02:00
Tim Krüger
af31d8a703
Make klint happy
Signed-off-by: Tim Krüger <t@timkrueger.me>
2021-07-22 22:14:37 +02:00
Tim Krüger
00915e56ff
Allow only forwarding of regualr text messages
Also go back directly to the conversation list. Go back history is
reseted.

Signed-off-by: Tim Krüger <t@timkrueger.me>
2021-07-22 22:14:36 +02:00
Tim Krüger
d67226e39d
Forwarding message to selected conversation
Signed-off-by: Tim Krüger <t@timkrueger.me>
2021-07-22 22:14:26 +02:00
Tim Krüger
6f2c0c65df
Unify strings for clearing chat over all platforms
See: #1336

Signed-off-by: Tim Krüger <t@timkrueger.me>
2021-07-22 11:41:00 +02:00
Andy Scherzinger
7d35e91a9c
remove unneeded annotation
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-07-19 13:59:01 +02:00
Marcel Hibbe
a41c0f8b69
add confirm dialog before clearing chat history
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-07-19 13:51:38 +02:00
Marcel Hibbe
1558c8ed33
add ability to clear chat history
- moderators can clear the chat in the conversations settings
- chat is cleared by system message CLEARED_CHAT

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-07-19 13:51:37 +02:00
Marcel Hibbe
f813688a12
remove hardcoded api version for location sharing
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-07-15 19:16:50 +02:00
Tim Krueger
0799945016
Merge pull request #1472 from nextcloud/remove-obsolete-setting-link-preview
Remove obsolete setting link preview
2021-07-15 16:14:50 +02:00
Tim Krüger
19337b8e57
Remove preference 'link_previews' from storage
Signed-off-by: Tim Krüger <t@timkrueger.me>
2021-07-15 14:20:16 +02:00
Tim Krüger
eac46d9456
Remove obsolete setting link preview
The setting is obsolete since the functionality for media detection in
text messages was removed.

See: commit 8468535a

Signed-off-by: Tim Krüger <t@timkrueger.me>
2021-07-15 10:07:43 +02:00
Tim Krüger
62f73aee05
Remove unused method and dependency
See: commit 4c4c5839, #1167

Signed-off-by: Tim Krüger <t@timkrueger.me>
2021-07-15 10:07:42 +02:00
Tim Krüger
75d82185c1
Remove media in text message detection
The method 'TextMatchers#getMessageTypeFromString' suggested MIME types
for linked files in text message. Also for links like this not working
example:

  - http://example.local/image.png
  - image.png

In those cases no image can be loaded and that results in empty previews
like shown in the issue #1167.

So for alignment reasons to spreed and Talk iOS app this media detection
is removed and only links will be shown.

Resolves: #1167

Signed-off-by: Tim Krüger <t@timkrueger.me>
2021-07-15 10:07:42 +02:00
Tim Krüger
11805e5c7a
Add new system message types
The new system message types 'call_missed' and 'call_tried' should be
shown as system messages and not regular text messages.

Resolves: #248

Signed-off-by: Tim Krüger <t@timkrueger.me>
2021-07-14 16:50:16 +02:00
Tim Krüger
8468535a1e
Remove unused method and dependency
See: commit 4c4c5839, #1167

Signed-off-by: Tim Krüger <t@timkrueger.me>
2021-07-14 10:17:05 +02:00
Tim Krüger
4c4c583923
Remove media in text message detection
The method 'TextMatchers#getMessageTypeFromString' suggested MIME types
for linked files in text message. Also for links like this not working
example:

  - http://example.local/image.png
  - image.png

In those cases no image can be loaded and that results in empty previews
like shown in the issue #1167.

So for alignment reasons to spreed and Talk iOS app this media detection
is removed and only links will be shown.

Resolves: #1167

Signed-off-by: Tim Krüger <t@timkrueger.me>
2021-07-14 09:26:17 +02:00
Andy Scherzinger
0ec4ecfa95 base url can be null
Fixes #1458

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-07-12 11:20:53 +00:00
Andy Scherzinger
73e96198de Handle async call back to already destroyed UI
Fixes #1426

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-07-12 10:55:03 +00:00
Dariusz Olszewski
d0e5b768bb Share from a browser should share the page URL
Fixes #1415

Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2021-07-10 23:09:51 +02:00
Marcel Hibbe
27bbb399be catch FileNotFoundException in copyFileToCache
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-07-09 18:35:47 +00:00
Joas Schilling
976ca95959
Merge pull request #1442 from nextcloud/bugfix/1429/fix-capability-check-for-14-to-18
Fix capability check for 14-18
2021-07-09 20:24:07 +02:00
Joas Schilling
4f94d7f96c
Fix capability check for 14-18
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-07-09 19:45:05 +02:00
Andy Scherzinger
f8ae4ca8a3
Merge pull request #1420 from nextcloud/bugfix/1417/botSystemConversationIcon
Use launcher icon as bot-avatar/system-conversation-icon
2021-07-09 16:28:33 +02:00
Andy Scherzinger
1333ce768a
Merge pull request #1425 from nextcloud/bugfix/1424/conversationInfoViewBindingNPE
Binding can be null due to async call
2021-07-09 11:30:18 +02:00
Andy Scherzinger
c47a686db1
replace printStackTrace with Log-statement
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-07-09 10:54:39 +02:00
Andy Scherzinger
324cd95f43
binding can be null do to async call
Fixes #1424

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-07-08 23:58:34 +02:00
Andy Scherzinger
e1962883b0
Only parse baseURl if not empty
Fixes #1422

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-07-08 14:49:59 +02:00
Andy Scherzinger
5e88dc6f57
Use launcher icon as bot-avatar/system-conversation-icon on pre-Android O
Fixes #1417

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-07-08 14:31:12 +02:00
Marcel Hibbe
e721aa5df6
fix to expand attachment menu in landscape mode
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-07-05 14:57:11 +02:00
Marcel Hibbe
83001990b0
set locationName to "Shared location" when geocoding failed
e.g. when someone shares a location from the ocean the name is not "null" anymore

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-07-05 13:03:18 +02:00
Daniel Calviño Sánchez
6087167d6e
Simplify condition
Now that "newSessions" only contains remote participants it is no longer
needed to check if the participant is an MCU publisher or not, as it
will never be.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2021-07-02 14:59:05 +02:00
Daniel Calviño Sánchez
9687a9453d
Fix treating the local session as a remote session when the HPB is used
When processing the participants in a room the signaling sessions of the
participants were compared against the Nextcloud session of the local
participant to find out which were the remote sessions. However, when
the HPB is used the signaling session is not the same as the Nextcloud
session, so the signaling session of the local participant never matched
her Nextcloud session, so it was always seen as a remote participant.

This caused the call state to be changed to "in conversation" (which,
for example, stopped the calling sound), when only the local participant
was in the call.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2021-07-02 14:59:05 +02:00
Daniel Calviño Sánchez
004c7b296a
Move "hasMCU" update to the top of the method
"hasMCU" was used before being updated, so this caused an unneeded call
to "getPeersForCall" when processing the users in the room for the first
time even if the MCU is actually used.

A better fix might be moving "hasMCU" to a method instead of relying on
the cached value, but just moving the update to the top of the method
should have no side effects (as calling "getPeersForCall" just updates
"participantMap", which is unused when the MCU is used, and sets the
avatars, which has no effect until the peer layout is set, which also
sets the avatar), so this is good enough for now.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2021-07-02 14:59:05 +02:00
Marcel Hibbe
c07ef4acc8
define call controls height in dimens.xml
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-07-02 13:23:46 +02:00
Marcel Hibbe
99b247850b
set minHeight for call item by dp
reduce number of possible columns to avoid design issues

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-07-02 13:23:46 +02:00
Marcel Hibbe
8e8fd882f9
return false for ridView.setOnTouchListener
NOT TESTED

should allow both click and scrolling?

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-07-02 13:23:46 +02:00
Marcel Hibbe
98f8a29eae
set constants for min item height and call controls height
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-07-02 13:23:46 +02:00
Marcel Hibbe
64d98aefb4
- set bottom margin for grid for voicecall
- temporarily comment out setOnTouchListener for grid (disables toggle of controls for now)
- set android:scrollbars="vertical" for gridview
- add callControlsHeight for item height calculation
- add fake height to item that scrolling is testable

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-07-02 13:23:46 +02:00
Andy Scherzinger
394a640555
shorten app label Nextcloud Talk -> Talk while keeping "Nextcloud Talk" as a label within the app itself
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-30 18:07:54 +02:00
Andy Scherzinger
996770e470
check if view is (still) available
...since grid initialization is called in various places throughout the lifecycle

Fixes #1233

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-30 16:54:57 +02:00
Andy Scherzinger
60def3cc0c
optimize message input for size+a11y
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-30 15:53:30 +02:00
Marcel Hibbe
bebf716da7
temporarily disable logging to file
see issue
https://github.com/nextcloud/talk-android/issues/1376

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-30 14:24:53 +02:00
Andy Scherzinger
b989c62055
Merge pull request #1373 from nextcloud/bugfix/1343/stopVoiceMessage
Bugfix/1343/stop voice message
2021-06-30 13:53:13 +02:00
Andy Scherzinger
60d14f3b35
SuppressLint("SetTextI18n")
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-30 13:44:00 +02:00
Andy Scherzinger
d37783d7a0
fix ktlint
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-30 13:38:48 +02:00
Andy Scherzinger
3e57018615
remove unused member variables
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-30 13:12:15 +02:00
Andy Scherzinger
195bdfb05a
extract visibility toggle for play/pause Vs. loading-animation
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-30 13:03:17 +02:00
Andy Scherzinger
78cc0df7bd
spotbugs: use literal as comparison base
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-30 13:03:14 +02:00
Andy Scherzinger
7bca54373f
Improve ktlint
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-30 13:02:57 +02:00
Andy Scherzinger
a393685a63
else/if rather than if/if
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-30 13:01:32 +02:00
Andy Scherzinger
5b457a67cb
remove unused member variable
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-30 13:01:31 +02:00
Andy Scherzinger
f435646b23
Add license header 2021-06-30 13:01:26 +02:00
Marcel Hibbe
6fc83bbca0
fix klint warnings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-29 23:09:39 +02:00
Marcel Hibbe
741748137a
fix lint/spotbugs warnings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-29 22:49:33 +02:00
Marcel Hibbe
c7bb6402fe
stop mediaPlayer in onDestroy
a voice message now continues to play if app goes to background, but whenever the user returns he can pause or stop the playback (UI is updated).
Also, the playback survives a screen orientation change.

instead stopping the mediaPlayer in onDetach would stop playback when moving app to background but also stop the playback on a screen orientation change.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-29 22:49:33 +02:00
Marcel Hibbe
d47deb42c8
move mediaPlayer and download-logic for voicemessages to ChatController
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-29 22:49:33 +02:00
Andy Scherzinger
3514d6b3fc
Catch IllegalStateException in case EmojiCompat hasn't been initialized yet
Fixes #1371

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-29 13:00:32 +02:00
Andy Scherzinger
c4057b7ac4
Add dark/light aware high-res conversation icons for share:password and document
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-28 23:09:18 +02:00
Andy Scherzinger
0b49b65094
check if attendeePin exists
resolves #1314

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-24 16:27:51 +02:00
Joas Schilling
9411614175
Show the bridge-bot avatar for bridged messages
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-06-23 10:13:20 +02:00
Joas Schilling
c2125f9a81
Always fallback to the guest avatar instead of none
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-06-23 10:12:58 +02:00
Joas Schilling
7e1cc872bd
Add tracking circles support
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-06-22 11:40:40 +02:00
Andy Scherzinger
2db4cbf4d1
reformat kotlin
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-22 11:18:07 +02:00
Andy Scherzinger
fc0962780c
improve lint score
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-22 11:18:07 +02:00
Andy Scherzinger
4ebc64de1c
improve codacy score
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-22 11:18:06 +02:00
Andy Scherzinger
2cf5952fae
bump detekt score
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-22 11:18:05 +02:00
Andy Scherzinger
2b71d30637
reformat kotlin
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-22 11:18:04 +02:00
Andy Scherzinger
19dcd8267a
replace deprecated method calls
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-22 11:18:02 +02:00
Andy Scherzinger
db68b4e93d
improve voice message UI
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-22 11:18:02 +02:00
Marcel Hibbe
7709967712
fix imports
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-22 11:18:00 +02:00
Joas Schilling
9fbf9ef492
add voice messages
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-22 11:17:59 +02:00
Andy Scherzinger
df6b0980ac
improve contacts preview UI
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-21 17:35:05 +02:00
Joas Schilling
b9893e031c
Show "contact-name" and "contact-photo" when applicable
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-06-21 17:35:04 +02:00
Marcel Hibbe
0e66d75b7d
improve handling for missing location permissions
add fallback to gps if no NETWORK_PROVIDER was found

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-21 13:14:38 +02:00
Andy Scherzinger
dd162e8c61
@Suppress("Detekt.TooGenericExceptionCaught")
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-11 16:38:52 +02:00
Andy Scherzinger
005dfa9397
prevent crash on async callback
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-11 15:29:26 +02:00
Andy Scherzinger
57ddb317fd
hide icon on location picker
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-11 15:16:45 +02:00
Andy Scherzinger
cedc54dbb6
Improve codacy
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-11 12:53:27 +02:00
Andy Scherzinger
fb04505663
reformat kotlin
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-11 10:59:11 +02:00
Andy Scherzinger
f242b5fcec
hide deletion action ob object_share messages popup menu
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-11 10:55:32 +02:00
Marcel Hibbe
80e1bc6505
add ACCESS_COARSE_LOCATION for LocationPickerController
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:51:30 +02:00
Andy Scherzinger
686e499875
cleanup client implementation
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-11 10:23:01 +02:00
Andy Scherzinger
f52d7f29d9
replace nominatimClient with copied/pacthes version replacing legacy httpClient with okhttp3
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-11 10:22:58 +02:00
Andy Scherzinger
ba64d693ef
further codacy improvements
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-11 10:22:56 +02:00
Andy Scherzinger
03fda89a22
reformat kotlin
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-11 10:22:55 +02:00
Andy Scherzinger
a8368e626e
improve codacy score
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-11 10:22:52 +02:00
Andy Scherzinger
01a552b8d3
reformat code for ktlint compliance
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-11 10:22:47 +02:00
Andy Scherzinger
f899ee1d2f
make httpclient compileOnly since it ships with the OS
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-11 10:22:46 +02:00
Andy Scherzinger
6ba541b6b1
Move message holders to native view bindings
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-11 10:22:44 +02:00
Andy Scherzinger
71bffc0ea8
suppress generic exception handling warnings
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-11 10:22:42 +02:00
Andy Scherzinger
3c4714f716
fix after rebase
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-11 10:22:39 +02:00
Andy Scherzinger
ac986c61aa
cleanup to new base controller logic
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-11 10:22:36 +02:00
Andy Scherzinger
73e0b4e719
polish location map and move to native view bindings
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-11 10:22:34 +02:00
Andy Scherzinger
9f8a98ba07
remove unused imports
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-11 10:22:32 +02:00
Andy Scherzinger
adda60c7fb
Use native view bindings for GeocodingController
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-11 10:22:30 +02:00
Andy Scherzinger
43bf2ca7ae
use right context to be day/night theme aware
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-11 10:22:27 +02:00
Marcel Hibbe
94e466598e
add copyright headers
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:22:26 +02:00
Marcel Hibbe
4cdd13c92e
use CapabilitiesUtil for geo-location-sharing
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:22:23 +02:00
Marcel Hibbe
0568ea6e72
update location when gps changed
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:22:21 +02:00
Marcel Hibbe
751cd1268e
replace current-position icon
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:22:19 +02:00
Marcel Hibbe
22333d2f57
disable text fields for location messages (workaround)
i tried to suppress that zip codes are shown as clickable telephopne numbers. but
  android:autoLink="none"
and
  messageText!!.linksClickable = false
don't seem to work.
as a workaround i disabled the text field completely. so the links are still underlined but nut clickable. and it's also not possible now to mark text and get the context menu.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:22:18 +02:00
Marcel Hibbe
3cb0fe75b1
remove unnecessary logic from LocationMessageViewHolders
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:22:16 +02:00
Marcel Hibbe
4190cf1dfe
add FLAG_ACTIVITY_NEW_TASK for incoming location message
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:22:14 +02:00
Marcel Hibbe
2154b6cf94
improve design of share location button / location description
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:22:12 +02:00
Marcel Hibbe
9ffd5a7579
hide location sharing when capability is missing
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:22:09 +02:00
Marcel Hibbe
d4e49a20bb
decrease lint warnings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:22:06 +02:00
Marcel Hibbe
fdf6b04fb8
decrease spotbugs warnings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:22:02 +02:00
Marcel Hibbe
60827afe5c
decrease lint warnings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:21:59 +02:00
Marcel Hibbe
ffdc630b76
avoid UNSAFE_HASH_EQUALS reported by SpotBugs
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:21:58 +02:00
Marcel Hibbe
ab63a1970b
extract hardcodings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:21:56 +02:00
Marcel Hibbe
49b2455a23
reverse-geocode before sharing if address-name is empty
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:21:54 +02:00
Marcel Hibbe
d7a8935709
show geocoded location on map before sharing
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:21:53 +02:00
Marcel Hibbe
96e5e544ea
share geocoding-result on click
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:21:51 +02:00
Marcel Hibbe
26ae4fa548
share geocoded location
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:21:50 +02:00
Marcel Hibbe
2f0105abd3
add location search with nominatim
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:21:49 +02:00
Marcel Hibbe
d5face5941
improve design for locationpicker screen
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:21:47 +02:00
Marcel Hibbe
e8a9fa6303
add "...sent a location" strings for Conversation list
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:21:46 +02:00
Marcel Hibbe
095c13172c
share location to chat by button click
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:21:44 +02:00
Marcel Hibbe
ae485d1d80
delete example activity for leaflet
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:21:43 +02:00
Marcel Hibbe
1aa15ebd95
differ between incoming and outcoming messages for location
logic was copied from:
- MagicIncomingTextMessageViewHolder.kt
- MagicOutcomingTextMessageViewHolder.kt

xml design was copied from:
- item_custom_incoming_text_message.xml
- item_custom_outcoming_text_message.xml

... and extended for location related things.

because of copying there is now quite a lot of redundant code! But ViewHolders should generally be refactored in the future.. (better inheritance(?) and analyze which of Marios changes to the Chatkit lib were really necessary or if this can be done in an other way..)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:21:42 +02:00
Marcel Hibbe
7540e57dd8
open geolink on click + minor refactoring
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:21:40 +02:00
Marcel Hibbe
04fb57df7a
pass java to javascript params with URLEncoder
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:21:39 +02:00
Marcel Hibbe
5da43d1760
wip. show leaflet inside webview in message
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:21:37 +02:00
Marcel Hibbe
ba7bfe3150
chnage LocationMessageViewHolder to kotlin
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:21:36 +02:00
Marcel Hibbe
4d29a4b638
add LocationMessageViewHolder for ChatKit
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:21:35 +02:00
Marcel Hibbe
1e2960a72a
add example for leaflet in WebView
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:21:33 +02:00
Marcel Hibbe
73becd432d
add logic for geolocation message
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:21:32 +02:00
Marcel Hibbe
965692ce7e
set location picker icon over map
show location when clicked on button

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:21:31 +02:00
Marcel Hibbe
0742afe58c
add map via osmdroid
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:21:30 +02:00
Marcel Hibbe
c6d3abf421
add entry to share location
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2021-06-11 10:21:25 +02:00
Andy Scherzinger
5d41b0fae2
rename HashMap
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-09 13:50:28 +02:00
Andy Scherzinger
047372ad37
flip string com pare for null-safety
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-09 13:50:27 +02:00
Andy Scherzinger
893f015edf
shorten Log Tag
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-09 13:50:25 +02:00
Andy Scherzinger
cf24965f7f
code formatting, make TAG final
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-09 13:50:24 +02:00
Andy Scherzinger
f3dd482476
link swipe-to-reply to messages replyable-flag
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2021-06-09 13:50:18 +02:00