Commit graph

2080 commits

Author SHA1 Message Date
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