Commit Graph

648 Commits

Author SHA1 Message Date
Andy Scherzinger
627e9d5c20
ktlint: No whitespace expected between opening parenthesis and first parameter name
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-12-05 16:17:31 +01:00
Marcel Hibbe
119310ecc7
Add fixes and changes to push handling
- Fix injection in GetFirebasePushTokenWorker.
injection was not setup correctly in GetFirebasePushTokenWorker so the appPreferences were null. This resulted in the invinite loading screen during account setup if somehow onNewToken did not set the token.

- avoid to register push on every load of ConversationList.

- call GetFirebasePushTokenWorker instead of PushRegistrationWorker to make sure the firebase token is set(if onNewToken somehow fails to set it). Other than that, only call PushRegistrationWorker directly in NCFirebaseMessagingService as there the token is set.

- add logging

- trigger GetFirebasePushTokenWorker daily with periodical worker (instead monthly), and combine this with PushRegistrationWorker as this is defined inside GetFirebasePushTokenWorker

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-12-01 13:35:53 +01:00
Julius Linus
1efa14ebae
Fix wrong url for webinar. Add logging+snackbar for onError
Signed-off-by: Julius Linus <julius.linus@nextcloud.com>
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-12-01 13:31:53 +01:00
Marcel Hibbe
f6b481cea8
translate "no proxy" in settings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-11-29 11:43:18 +01:00
Julius Linus
b1568e7f49
- Fixed bug with occasional crash with stop
- Implement MediaRecorderState handling
- Fixed lifecycle bug - recording and locked UI now ends after app exits
- Saves Waveform to storage after initial loading
- Fixes File caption crashes
- A couple other bugs

Signed-off-by: Julius Linus <julius.linus@nextcloud.com>
2023-11-29 11:38:25 +01:00
Marcel Hibbe
591d6dc3e8
remove conductor
- replace remaining controllers with activities
- remove conductor lib
- modify some code related to account management and conductor

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-11-23 13:26:01 +01:00
Julius Linus
7de77ca073
Adjusting Translation Provider
- Added 4 new model data classes
- Added the new API function to NcApi
- Implemented the changes in the Repository + ViewModel
- Implemented the changes in the Activity
- Added some helper functions to support impl

Signed-off-by: Julius Linus <julius.linus@nextcloud.com>
2023-11-16 16:01:35 +01:00
Marcel Hibbe
640007b421
followup changes to save file feature
- extract dialog to SaveToStorageDialogFragment
- add ability to save files of other mimetypes than images
- use MaterialAlertDialogBuilder
- save files to matching folders depending on mimeType
- show toast
- change download icon

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-11-08 11:39:19 +01:00
Marcel Hibbe
bfbc352448
Add recording consent feature
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-10-27 16:48:05 +02:00
Marcel Hibbe
0e3c24b24a
reformat code
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-10-26 13:26:53 +02:00
Marcel Hibbe
e5788016cf
Use UTF_8 for basic authorization
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-10-26 13:25:33 +02:00
Julius Linus
11f1d5fc7e
Migrating away from StoreBox to DataStore
- Added DataStore dependencies
- Created AppPreferencesImpl

Signed-off-by: Julius Linus <julius.linus@nextcloud.com>
2023-10-24 14:35:19 +02:00
Julius Linus
3af7de2e78
Note to Self
- Can not add participants to the room
- Can not allow guests
- Can not make read-only
- Can not make listable
- Can not change permissions
- Can not set lobby
- Can not enable SIP
- Can not configure breakout rooms
- Can not call
- Custom Avatar

Signed-off-by: Julius Linus <julius.linus@nextcloud.com>
2023-10-24 13:57:03 +02:00
Julius Linus
79b366c5ba
Refactoring AudioUtils
- Fixes a bug with the processing taking to long
- Added a bunch of comments, to make maintaining this more easier
- Added LifeCycle Awareness

Signed-off-by: Julius Linus <julius.linus@nextcloud.com>
2023-10-17 11:10:45 +02:00
Marcel Hibbe
32dbe70399
Remove EntryMenuController and OperationMenuController
The "operation view" at the bottom is replaced by snackbars.

I have removed the join via public link feature for now. This was buggy, complex and incomplete. This feature must be reimplemented in a more useful place (login screen, so you can use it as a guest without using an existing instance).

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-10-10 18:25:20 +02:00
Julius Linus
98c6ac34ae
Quick bug fix
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2023-10-04 13:17:39 +02:00
Andy Scherzinger
da1742f85c
improve code formatting for detekt score
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-09-20 23:20:28 +02:00
tobiasKaminsky
838b14b9dc
extracted and created tests
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2023-09-20 18:11:56 +02:00
Smarshal21
e5debca7c1 Added Instrumentation Test and Unit Tests 2023-09-19 11:48:03 +05:30
Smarshall
27d977af11 Added Unit Test For UserIdUtils 2023-09-08 10:49:34 +02:00
Marcel Hibbe
fd248f098d
solve ktlint + detekt warnings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-09-06 12:58:33 +02:00
Marcel Hibbe
abb3389308
fixups and refactoring for sharing by context menu
When sharing a file by context menu that is not downloaded yet, do not open it after download but just share it. This is done by 'openWhenDownloaded' variable in chatMessage.

Pass a method to downloadFileToCache, so it's more flexible what to do when download finished.

Add some minor changes
2023-09-04 11:08:20 +02:00
Julius Linus
96437a133e
Notify me Later
- Added new Dialog Fragment
- Added API functions for handling reminders
- Added JSON Models for those reminders
- Implemented the reminder functions using MVVM

Signed-off-by: Julius Linus <julius.linus@nextcloud.com>
2023-08-31 10:31:21 +02:00
Smarshall
4121f538c0
Merge branch 'master' into Snackbar
Signed-off-by: Smarshall <99678760+Smarshal21@users.noreply.github.com>
2023-08-19 17:57:28 +05:30
Smarshall
a447196257 Replaced all the Toasts with Snackbar 2023-08-19 17:38:52 +05:30
Andy Scherzinger
dea6645002 fix mention rendering
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-08-12 17:05:42 +02:00
Julius Linus
31cedf0da5 Migration away from getScheme() calls
Signed-off-by: Julius Linus <julius.linus@nextcloud.com>
2023-08-10 14:47:17 +02:00
Andy Scherzinger
55bb557b26
fix placeholder rendering for parent messages (replied to text)
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-08-07 12:52:32 +02:00
Julius Linus
1af04d2bd3 Follow up fixes
- Larger Bar gap
- Centered time below play/pause button
- Time is the same color as the play/pause button

Signed-off-by: Julius Linus <julius.linus@nextcloud.com>
2023-08-02 14:14:59 -05:00
Julius Linus
2430f725d6 AudioUtils and Waveform Seekbar
- Created AudioUtils for processing audio messages
- Created Waveform Seekbar, for visualizing a FloatArray
- Time limit of about 5 seconds, else shows regular seekbar
- Also made mediaPlayer smoother
- Fixed time discontinuity bug when playing voice messages, but only on API 28 or higher
Signed-off-by: Julius Linus <julius.linus@nextcloud.com>
2023-08-01 12:35:15 -05:00
Marcel Hibbe
8e93a1936b show call time and hint for one-hour call
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-07-28 18:02:37 +02:00
Andy Scherzinger
c4290f11ca
Implement respecting the markdown rendering flag
...and fixing the reply ellipsizing for any reply messages

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-07-28 10:31:46 +02:00
Andy Scherzinger
c0deca51b9
implement permission check for notifications on Android 13
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-07-26 23:01:38 +02:00
Marcel Hibbe
80af04be9a remove effortlessPermissions lib
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-07-25 14:35:37 +02:00
Marcel Hibbe
8f3a3570e9
Add logging for websockets
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-07-13 13:32:43 +02:00
Andy Scherzinger
78c5e5b6d9
remove table rendering
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-07-10 17:51:01 +02:00
Andy Scherzinger
fa8fd7b229
unify markdown rendering of chat messages
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-07-10 09:38:04 +02:00
Andy Scherzinger
d124301809
Implement text formatting via markdown rendering for text messages
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-07-10 09:38:00 +02:00
Marcel Hibbe
817ea1ab64 Avoid to send conversation and user via intent
sending too much data via intent always is a bad pattern which can lead to TransactionTooLargeException.

When OpenAI translation is enabled, the capabilities contain a ton of translation combinations. These capabilities are contained in 'currentUser' as well in 'selectedConversation'. So, TransactionTooLargeException was thrown.

this PR:
- avoids passing too much data as parcelables in intents (esp. conversation and user)
- introduces MVVM patterns to load required data (esp conversation) from backend (for now via requests, in the future from database first)
- introduces ConversationModel which is created out of the Conversation json model
- loads user data via injection when possible
- creates some quickfixes in ConversationBottomDialog, EntryMenuController and OperationsMenuController.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-06-30 07:30:18 +02:00
rapterjet2004
943286ddd6 migrating from material preferences to native, squashed commit
Signed-off-by: Julius Linus julius.linus@nextcloud.com
2023-06-27 14:53:18 +02:00
rapterjet2004
76f5fe91f6 migrating from material preferences to native, squashed commit
Signed-off-by: Julius Linus julius.linus@nextcloud.com
2023-06-27 14:53:18 +02:00
Marcel Hibbe
cc391d889a
check if talk is available at server selection and if version is valid
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-06-12 09:49:25 +02:00
Andy Scherzinger
832e2178e3
codacy: Avoid unused private fields such as 'TAG'
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-06-01 22:35:08 +02:00
Marcel Hibbe
bd23edc9a5
check if location of cached file makes sense
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-06-01 10:36:10 +02:00
Marcel Hibbe
d49441e036
get last part after "/" also for content uris
note that this doesn't prevent path traversal as uris can be decoded

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-06-01 10:30:25 +02:00
Marcel Hibbe
68799cfa24
avoid lint warning
..."Resource IDs will be non-final by default in Android Gradle Plugin version 8.0, avoid using them as annotation attributes" by using @KeyByString

keys were also wrong by copy&paste and are now fixed

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-05-23 10:49:31 +02:00
Marcel Hibbe
f0a9a302bb
make typing indicator two lines if necessary
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-05-23 10:49:31 +02:00
Marcel Hibbe
231cfef8c3
check capabilities to use/ignore typing indicators
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-05-23 10:49:30 +02:00
Marcel Hibbe
d3d8e2abef
add setting to toggle typing status privacy
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-05-23 10:49:30 +02:00
rapterjet2004
7f33b7fdfd issue 2931 - follow up fixes
Signed-off-by: Julius Linus <juliuslinus1@gmail.com>
2023-05-17 15:43:08 -05:00