Commit graph

2983 commits

Author SHA1 Message Date
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
Nextcloud bot
72cc5d0050
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-03-13 03:59:40 +00: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
Nextcloud bot
af09675d9d
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-03-10 04:06:00 +00: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
Nextcloud bot
d327e7e738
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-03-06 03:58:18 +00:00
Nextcloud bot
5faa31600e
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-03-05 03:57:56 +00: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
Nextcloud bot
8d208c5d61
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-03-04 03:59:30 +00: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
Nextcloud bot
6dee8cc4e8
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-03-03 03:59:16 +00: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
Nextcloud bot
98a2a62cbf
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-03-02 04:21:28 +00: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
9b8e145e7b
remove unused layouts and its strings
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-28 14:38: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
Nextcloud bot
7227347339
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-02-28 04:17:36 +00:00
Nextcloud bot
573fd63b7c
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-02-27 03:56:40 +00:00
Nextcloud bot
5d2e6ba6ae
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-02-26 03:57:18 +00: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
e1c706fe68
align icons + text in choose account dialog
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
f475065a7f
set same textSize for all headings in Status dialog
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
5437466b75
use same online state color as web and iOS
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:43 +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
02bd95ffad
improve autocomplete mention items design
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
e94cb3b9ac
allow 2 lines for status message in conversation info
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
c64a71b6c1
improve layout
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
c87940e115
fix seperator color for in account dialog
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-25 12:11:39 +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
45028c3bd4
fix colors for online status
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
Nextcloud bot
8f56c64789
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-02-25 03:57:23 +00: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
Nextcloud bot
d2add97bca
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-02-21 03:59:32 +00:00
Nextcloud bot
05ed57aebc
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-02-19 03:59:29 +00: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
Nextcloud bot
b76bc65e03
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-02-17 03:58:57 +00: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
5a2c3b3c5a
include dialog header in operation_items_layout
would otherwise break some dialog scenarios

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:10 +01:00
Marcel Hibbe
8e442325ba
fix lint warnings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2022-02-16 11:34:10 +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
59d821c211
revert layout change
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.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
Andy Scherzinger
c5abe75a25
remove unused resource and remove useless parent layout element
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
4c882f4f41
fix light theme color for Entry menu box
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
Andy Scherzinger
d70ac8fe8b
make bottom sheets dark/light themed
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
Nextcloud bot
7e79aff79b
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-02-16 03:58:19 +00:00
Nextcloud bot
8a8596dcc9
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-02-15 05:39:21 +00:00
Nextcloud bot
8f96a46db8
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-02-11 03:58:15 +00:00
Nextcloud bot
0e136c4852
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-02-10 04:03:41 +00:00
Nextcloud bot
3097ed2942
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-02-09 03:58:09 +00: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
Andy Scherzinger
e2e4f69143
Adjust bottom sheet item to material 3
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-07 21:00:50 +01:00
Andy Scherzinger
bb1c82fbe7
Adjust bottom sheet item height to material 3
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-07 14:41:32 +01:00
Andy Scherzinger
86f2c563c3
adjust attachment sheet to latest material design bottom sheet specs
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-07 14:34:07 +01:00
Andy Scherzinger
3e22741c1d
adjust audio output to latest material design bottom sheet specs
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2022-02-07 14:34:04 +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
Nextcloud bot
953528d3c9
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-02-07 03:58:09 +00:00
Nextcloud bot
a9c4c32c45
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-02-05 03:57:55 +00:00
Nextcloud bot
964e352973
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-02-03 03:58:41 +00:00
Nextcloud bot
1a06d93686
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-02-02 03:59:13 +00:00
Nextcloud bot
9f3178d301
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-01-30 03:57:37 +00:00
Nextcloud bot
f96c2a5677
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-01-29 03:59:54 +00: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