Commit Graph

3954 Commits

Author SHA1 Message Date
sowjanyakch
f374e6fe50
ConversationCreationActivity UI
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-11 09:30:37 +02:00
Marcel Hibbe
6858b32f2b
fix NPE when baseUrl is missing
no idea how this happens, however this was
reported via gplay pre launch report for 20.0.0RC1
("Detected on 10 devices during testing"):

Exception java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.nextcloud.talk.data.user.model.User.getBaseUrl()' on a null object reference
  at com.nextcloud.talk.activities.BaseActivity.startActivity (BaseActivity.kt:240)
  at com.nextcloud.talk.account.ServerSelectionActivity.showVisitProvidersInfo$lambda$5 (ServerSelectionActivity.kt:206)
  at com.nextcloud.talk.account.ServerSelectionActivity.$r8$lambda$pjpPT-LQbGLSCJPXeRE8IJvpLIE
  at com.nextcloud.talk.account.ServerSelectionActivity$$ExternalSyntheticLambda0.onClick (D8$$SyntheticClass)
  at android.view.View.performClick (View.java:7506)
  at android.view.View.performClickInternal (View.java:7483)
  at android.view.View.-$$Nest$mperformClickInternal
  at android.view.View$PerformClick.run (View.java:29335)
  at android.os.Handler.handleCallback (Handler.java:942)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at androidx.test.espresso.base.Interrogator.loopAndInterrogate (Interrogator.java:10)
  at androidx.test.espresso.base.UiControllerImpl.loopUntil (UiControllerImpl.java:7)
  at androidx.test.espresso.base.UiControllerImpl.loopUntil (UiControllerImpl.java:1)
  at androidx.test.espresso.base.UiControllerImpl.injectMotionEvent (UiControllerImpl.java:5)
  at androidx.test.espresso.action.MotionEvents.sendUp (MotionEvents.java:6)
  at androidx.test.espresso.action.MotionEvents.sendUp (MotionEvents.java:1)
  at androidx.test.espresso.action.Tap.sendSingleTap (Tap.java:5)
  at androidx.test.espresso.action.Tap.-$$Nest$smsendSingleTap
  at androidx.test.espresso.action.Tap$1.sendTap (Tap.java:1)
  at androidx.test.espresso.action.GeneralClickAction.perform (GeneralClickAction.java:4)
  at androidx.test.espresso.ViewInteraction$SingleExecutionViewAction.perform (ViewInteraction.java:2)
  at androidx.test.espresso.ViewInteraction.doPerform (ViewInteraction.java:23)
  at androidx.test.espresso.ViewInteraction.-$$Nest$mdoPerform
  at androidx.test.espresso.ViewInteraction$1.call (ViewInteraction.java:6)
  at androidx.test.espresso.ViewInteraction$1.call (ViewInteraction.java:1)
  at java.util.concurrent.FutureTask.run (FutureTask.java:264)
  at android.os.Handler.handleCallback (Handler.java:942)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loopOnce (Looper.java:201)
  at android.os.Looper.loop (Looper.java:288)
  at android.app.ActivityThread.main (ActivityThread.java:7898)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:548)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:936)

If baseUrl is really missing this may lead to followup issues, however this maybe only 'happens' in gplay pre launch report without any real world scenario. A best solution may be to make baseUrl not nullable, but don't want to do this on short term before release..

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-06 15:38:13 +02:00
Marcel Hibbe
06f5c0b7c8
Merge pull request #4162 from nextcloud/bugfix/4078/fixSelfReactionWhenReEnteringChat
Bugfix/4078/fix self reaction when re entering chat
2024-09-06 15:26:01 +02:00
Marcel Hibbe
129ba94af5
Merge pull request #4139 from nextcloud/bugfix/4010/fixSendTextToTalkApp
fix to display text that was sent to app via "share to"
2024-09-06 15:25:49 +02:00
Marcel Hibbe
a0a388cc07
fix to switch background color between incoming&outgoing reaction
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-06 14:32:00 +02:00
Marcel Hibbe
f53f9381b8
fix to always render selfReactions with background color
= fix type of list in stringToArrayList

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-06 14:32:00 +02:00
Marcel Hibbe
2fbe3dbb14
change wording for visibility of new conversation
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-05 15:41:12 +02:00
Marcel Hibbe
5001fd0b95
colorize status bar
...for ConversationCreationActivity and ContactsActivityCompose

just a quick fix, this may not be the best solution!

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-05 15:41:12 +02:00
Marcel Hibbe
8a59dd900d
fix to align Participants header
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-05 15:41:12 +02:00
Marcel Hibbe
8d1d44692e
only set password if not empty
otherwise response will be 400

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-05 15:41:12 +02:00
sowjanyakch
ecb3d5380c
Ktlint Format
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:12 +02:00
sowjanyakch
52378327f9
Work on warnings
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:11 +02:00
sowjanyakch
ff63bcd855
Properly select and deselect contact items
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:11 +02:00
sowjanyakch
5f3d73efce
make conversation available for registered users and guest app users
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:11 +02:00
sowjanyakch
1187b41e51
Set password
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:11 +02:00
sowjanyakch
cb6fdf6fe1
Refactor createRoom()
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:11 +02:00
sowjanyakch
dba56ddac0
Solved error unable to create call adapter for GenericOverall
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:11 +02:00
sowjanyakch
3db1f72981
Created a public conversation
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:10 +02:00
sowjanyakch
2959d8e13a
Create public conversation
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:10 +02:00
sowjanyakch
6b82d7209f
Start ContactsActivity to edit participants
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:10 +02:00
sowjanyakch
6d0144db1a
add participants list
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:10 +02:00
sowjanyakch
6a01309f2f
add participants
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:10 +02:00
sowjanyakch
9ae0d524c0
update ContactsViewModelTest - shareTypes
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:09 +02:00
sowjanyakch
0913b162b3
add participants endpoint
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:09 +02:00
sowjanyakch
e57c13efed
MultiSelect contacts
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:09 +02:00
sowjanyakch
b5f7556b3d
don't create room on clicking contacts when creating a new conversation
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:09 +02:00
sowjanyakch
9f61793c86
add isAddParticipant flag
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:09 +02:00
sowjanyakch
d32bc74559
ConversationCreationActivity - Refactoring
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:08 +02:00
sowjanyakch
cd01c80d71
ConversationCreationActivity UI
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-09-05 15:41:08 +02:00
Julius Linus
7b63d0b432
Merge pull request #4135 from nextcloud/issue-4099-time-picker-bug
Fixing remind-me-later options
2024-09-04 08:03:24 -05:00
rapterjet2004
ece1f2ed65
fixed weekendTimeStamp, added a comment for clarity
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-09-04 07:15:34 -05:00
Marcel Hibbe
07cd9e1ced
fix to display text that was sent to app via "share to"
the bug was, that the sent text was overwritten with "" in restoreState.

With this fix the saved state is only applied when the input field is empty (which means there was nothing shared)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-04 13:41:15 +02:00
rapterjet2004
ea453dba3e
Follow up bug fixes for offline support
Got join conversation to work
Unread message popup should work when entering a conversation now
"Delete All Messages" now works without breaking the initMessagePolling
linter

Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-04 10:14:51 +02:00
Marcel Hibbe
20724c5efb
fix to scroll to last read message
This will fix to scroll to the last read message when a chat is opened.

Some refactorings were made that are not necessary for the fix (I tried to also show the "Unread messages" hint in the adapter but came to the conclusion this is not a good idea until chatkit is removed. Chatkit doesn't support to add some item in between but only at the end or start which will make it too complicated..)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-09-04 09:48:42 +02:00
rapterjet2004
08d5d41229
Should be fixed for good , need to test though
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-09-03 07:59:16 -05:00
sowjanyakch
2636979136
No Edit Time limit on Note to Self
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-08-29 09:06:29 +02:00
rapterjet2004
64ac46e605
Got it fixed
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-08-26 10:20:32 +02:00
rapterjet2004
a4fd2e6a4b
Got the highlighting fixed - need to fix the submit button (or disable it) as tapping it destroys the searchViewDisposable for some reason
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-08-26 10:20:32 +02:00
rapterjet2004
45cb74d4ce
partial fix - now need to reset highlighting after exit
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-08-26 10:20:32 +02:00
rapterjet2004
9d75550482
fixed bug where the state of message input fragment wasn't saved because of capabilities
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-08-21 17:11:38 +02:00
Julius Linus
cb306d905c
Merge branch 'master' into issue-4075-filter-conversation-constrast 2024-08-21 09:26:37 -05:00
Julius Linus
1c52acc95d
Merge branch 'master' into issue-4072-federated-accept-message-should-be-system 2024-08-21 08:24:27 -05:00
Andy Scherzinger
b0351f016e
style: move error color to M3 theme code
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-08-17 23:31:57 +02:00
Andy Scherzinger
31d3c83abb
style: M3 divider specs implemented
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-08-17 23:31:57 +02:00
Andy Scherzinger
42207a8c10
fix: use theme primary color for stick headers
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-08-17 23:31:57 +02:00
Andy Scherzinger
31aacadf6f
fix: status bar color is themed now
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-08-17 23:31:57 +02:00
Andy Scherzinger
9d62a6f745
fix: improve detekt score and threshold
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-08-17 20:42:26 +02:00
Andy Scherzinger
69ed8207d0
fix: ktlintCheck by reformatting kt code
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-08-17 20:20:42 +02:00
Andy Scherzinger
2c7c720a4d
fix: use layoutInflater directly
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-08-17 19:56:45 +02:00
rapterjet2004
1930bf0b6d
fix
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-08-16 09:28:21 -05:00
rapterjet2004
7ca68b334a
fix
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-08-15 11:29:38 -05:00
rapterjet2004
903dd07a1b
fix
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-08-15 08:38:26 -05:00
sowjanyakch
2e96817bcc
Modify string connection_gained
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-08-14 11:11:57 +02:00
Marcel Hibbe
8885b999ca
bump database version to 11 + add migration
comment in openHelperFactory

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:07 +02:00
Marcel Hibbe
6e2ee1f001
add index to ChatBlockEntity
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:07 +02:00
Marcel Hibbe
edc0554fd2
sort entity attributes of ChatMessageEntity and ConversationEntity alphabetically
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:07 +02:00
Marcel Hibbe
76e6bb0f82
set values to not nullable in ChatMessage wherever this makes sense
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:07 +02:00
Marcel Hibbe
a632765cce
set values to not nullable in ConversationEntity.kt wherever this makes sense
remove roomId from Conversation (deprecated. only token should be used)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:06 +02:00
Marcel Hibbe
9892613984
rearrange ConversationEntity columns to match documentation
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:06 +02:00
Marcel Hibbe
da04f536f7
remove dao methods to delete data when user is removed
...will be done by foreign keys cascading. Therefore, also added foreign key to ChatBlockEntity

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:06 +02:00
Marcel Hibbe
e951b3d53a
fix to load newest conversations (online first)
Before, old conversations that were left still occurred in the list (only adding+updating was done, but never deleting)

also, the list is up to date when coming back from chat. Otherwise there may be unread messages shown for a short moment which were already read.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:06 +02:00
Marcel Hibbe
beb7b150be
minor cleanup
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:06 +02:00
rapterjet2004
6a3ece6703
disabled message queuing - still kept code for now until i can fix it or remove it otherwise
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-08-12 16:47:05 +02:00
Marcel Hibbe
fe4bf942ab
remove SyncableModel and SyncUtils
not needed for our requirements + it simplifies code

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:05 +02:00
Marcel Hibbe
a84e69b6bb
fix to processExpiredMessages
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:05 +02:00
Marcel Hibbe
d18bd20bf1
extract a method to getItemFromAdapter
method was extracted for other purposes but was not used in the end. Anyway it made sense to use it for resumeAudioPlaybackIfNeeded.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:05 +02:00
Marcel Hibbe
217ff6af74
remove comments and unused code
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:05 +02:00
Marcel Hibbe
b757164c6d
only delay readStatus handling for initial loading
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:05 +02:00
Marcel Hibbe
0390c93ed2
implement lastCommonRead handling
contains one workaround for now, see TODO in updateUiForLastCommonRead method

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:04 +02:00
Marcel Hibbe
5bccdada7c
minor cleanup in OfflineFirstChatRepository
fix to show unreadMessagesPopup at bottom (typingIndicatorWrapper must not be gone but invisible)

align unreadMessagesPopup to not overlap typingIndicator

fix to hide scrollDown button when unreadMessagesPopup is shown

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:04 +02:00
Marcel Hibbe
a13a53f7fd
fix to hide popupBubbleView for system messages like reactions
rename popupBubbleView to unreadMessagesPopup

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:04 +02:00
Marcel Hibbe
299e8508c4
handle CLEARED_CHAT for scrolling into past
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:04 +02:00
Marcel Hibbe
85f4d8cd92
handle special system messages in ChatRepo instead in UI
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:04 +02:00
rapterjet2004
db8d7b91d4
WIP UI fixes for offline conversations - next up get queued messges to work and show up as temp messages ( I have some creative ideas for the UI )
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-08-12 16:47:03 +02:00
Marcel Hibbe
aa76636f72
handle reaction message for lookIntoFuture
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:03 +02:00
Marcel Hibbe
2408d639e4
Offline support for conversations and chats
Authors: Julius Linus and Marcel Hibbe

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-12 16:47:03 +02:00
sowjanyakch
4508cbb0aa
work on codacy warnings
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-08-09 15:44:36 +02:00
sowjanyakch
8d52a6fcc9
add error test case for contacts fetch
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-08-09 15:44:35 +02:00
sowjanyakch
62b2ecd338
Add tests for fetching contacts
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-08-09 15:44:35 +02:00
sowjanyakch
9526825da7
Refactor - use Icons
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-08-09 15:44:34 +02:00
sowjanyakch
acbda6f887
Create fake data for unit tests
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-08-09 15:44:34 +02:00
sowjanyakch
5d73b65a31
test dependencies
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-08-09 15:44:34 +02:00
sowjanyakch
d3ff2e9ee9
ViewModelModule.kt changes
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-08-09 15:44:34 +02:00
sowjanyakch
2582476a54
Contacts Screen
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-08-09 15:44:34 +02:00
Marcel Hibbe
94fbdb25ac
rename layouts for banning
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-09 12:58:53 +02:00
Marcel Hibbe
5f0563aae3
fix strings for banning (use 'participant' instead 'actor')
replace key ban_actor with ban_participant

fix upper/lower case

fix to use translation in ConversationInfoActivity instead hardcoded string

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-08-09 12:38:19 +02:00
rapterjet2004
46d3fd1569
Allows Banning
- New option to ban participant if your a moderator and not in one-2-one
- New fragment to see previous bans, unban if wanted

Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-08-06 10:58:22 -05:00
rapterjet2004
46cafd5626
lint
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-07-31 09:40:42 -05:00
rapterjet2004
515ecedd04
Seems to work - fixed adapter issue
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-07-31 08:58:24 -05:00
rapterjet2004
b41f41f704
Got it working - Just need to test it out
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-07-30 11:59:45 -05:00
rapterjet2004
5caf93357f
Fixed
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-07-25 08:54:01 -05:00
Marcel Hibbe
f19e1b8a19
remove lib com.amulyakhare:com.amulyakhare.textdrawable
replace with own TextDrawable class

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-07-24 14:14:06 +02:00
sowjanyakch
1255a0b585
Add copyright to the drawable
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-07-23 12:27:30 +02:00
sowjanyakch
dc11254149
Refactoring
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-07-23 11:41:24 +02:00
sowjanyakch
bb46b6adad
Contacts Activity Compose
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-07-23 11:41:24 +02:00
Andy Scherzinger
0a24f043b8
fix: remove use of LayoutInflater.from(Context)
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-06-19 17:15:21 +02:00
Marcel Hibbe
6ceafee3ed
Avoid StackOverflowError when opening chat (kotlin2.0 fix)
When opening the chat the app crashed with

2024-06-18 10:59:45.039 30757-30757 AndroidRuntime          com.nextcloud.talk2                  E  FATAL EXCEPTION: main
  Process: com.nextcloud.talk2, PID: 30757
  java.lang.StackOverflowError: stack size 8192KB
  at com.nextcloud.talk.ui.MessageInput.getMessageSendButton(MessageInput.kt:75)

Hint in AS was:
Now field from base class com.stfalcon.chatkit.messages.MessageInput shadows the property with custom getter from derived class com.nextcloud.talk.ui.MessageInput. This behavior will be changed soon in favor of the property. Please use explicit cast to com.stfalcon.chatkit.messages.MessageInput if you wish to preserve current behavior. See https://youtrack.jetbrains.com/issue/KT-55017 for details

The issue is caused by the update to kotlin2.0.
Calling the super fields fixes the issue.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-06-18 11:54:33 +02:00
Marcel Hibbe
00101abda7
update to kotlin 2.0 / use ksp where possible
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-06-17 17:41:03 +02:00
rapterjet2004
560e454d5e
Fixes
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-06-06 09:20:01 -05:00
Julius Linus
6a01ebf630
Message Input Refactoring
- Added io folder for Abstracting away background work
- AudioFocusRequestManager
- MediaPlayerManager
- MediaRecorderManager
- AudioRecorderManager

Included new View Models + Fragments to separate concerns

- MessageInputFragment
- MessageInputVoiceRecordingFragment

Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-06-05 17:45:01 +02:00
Sowjanya Kota
38abfafc38
Merge pull request #3947 from nextcloud/bugfix/3896/avoidErrorByEthernetConnection
avoid "Please check your internet connection"
2024-06-04 11:57:26 +02:00
rapterjet2004
2db6ce7066
Avoid NPE for databaseStorageModule
Exception java.lang.NullPointerException:
  at com.nextcloud.talk.conversationinfo.ConversationInfoActivity.handleConversation (ConversationInfoActivity.kt:686)
  at com.nextcloud.talk.conversationinfo.ConversationInfoActivity.access$handleConversation (ConversationInfoActivity.kt:94)
  at com.nextcloud.talk.conversationinfo.ConversationInfoActivity$initObservers$2.invoke (ConversationInfoActivity.kt:232)
  at com.nextcloud.talk.conversationinfo.ConversationInfoActivity$initObservers$2.invoke (ConversationInfoActivity.kt:227)
  at com.nextcloud.talk.conversationinfo.ConversationInfoActivity$sam$androidx_lifecycle_Observer$0.onChanged

Handle conversation is called when capabilities are retrieved, which can occur before databaseStorageModule is created. The fix was to call initObservers after the module was created.

Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-06-03 13:24:34 +02:00
Marcel Hibbe
6ca2ba7994
avoid "Please check your internet connection"
avoid "Please check your internet connection" error when connected via ethernet or vpn

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-05-31 12:43:44 +02:00
Julius Linus
14f793f0e8
Made mediaPlayerHandler null safe
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-05-29 10:37:41 -05:00
Marcel Hibbe
932352b785
open talk links of same baseurl inside the app
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-05-24 15:38:53 +02:00
Marcel Hibbe
8876718677
open links for files app from any screen.
With this change, all links that target files in the same nextcloud instance will be opened in the files app, no matter on which screen the link was.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-05-24 15:38:53 +02:00
Marcel Hibbe
6f90623cab
hide logos for conversation list and lockscreen if app is not nextcloud
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-05-24 13:23:03 +02:00
Julius Linus
f3187187a8
Merge pull request #3922 from nextcloud/bugfix/3669/fixToOpenPreviewLinksInFilesApp
Bugfix/3669/fix to open preview links in files app
2024-05-22 08:24:59 -05:00
Marcel Hibbe
dfe07979a9
use notification logo from separate xml file
ic_notification.xml was not existing/not used in android talk app, but on brander there is code to replace ic_notification.xml with a custom icon.

ic_notification.xml is now created with the same icon as for ic_logo.xml and used for notifications. So from now on branded versions have the ability to overwrite the icon.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-05-22 14:42:23 +02:00
Andy Scherzinger
3e48f61632
fix(lint): Add mandatory super call
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-21 19:31:43 +02:00
Marcel Hibbe
c7a7206fd0
fix to open share urls from preview with files app
The wrong context was passed, so the overwritten startActivity in ChatActivity was not called.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-05-21 12:14:22 +02:00
Marcel Hibbe
9c1f68abb4
fix regex and brackets for isInstanceInternalFileShareUrl
only links without index.php returned true without this fix.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-05-21 12:14:21 +02:00
Marcel Hibbe
cc823dcc0c
fix to not set clipboard text repeatedly
initMessageInputView() is called repeatedly when capabilities are received. This is not a good solution but was done because capabilities are needed inside initMessageInputView().

As sharedText is set inside initMessageInputView(), this caused the bug that text was repeatedly inserted in to the message input field.

All in all, there is only the need to initialize initMessageInputView() once. With this fix, it is for now done when there is no filter set yet. As a long term solution, the architecture must be changed so that initMessageInputView() is not called repeatedly, but all UI elements that need capabilities etc are updated by livedata.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-05-17 14:09:40 +02:00
Sowjanya Kota
7bd2e6c81a
Merge pull request #3909 from nextcloud/bugfix/3903/fixUnreadScrollingAndUnreadBubble
fix unread message behavior
2024-05-17 10:41:18 +02:00
sowjanyakch
5996699812
Align display name of conversation to center when description is empty.
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-05-16 11:46:43 +02:00
sowjanyakch
ed5a12b7da
Refactor code
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-05-16 11:46:42 +02:00
sowjanyakch
f0670f9f15
update description for open and group conversations in the chatActivity
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-05-16 11:46:42 +02:00
sowjanyakch
91726261d1
show description in open conversation list
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-05-16 11:46:42 +02:00
Marcel Hibbe
ac39e73782
only show new message notice when there are messages from other participants
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-05-15 15:50:40 +02:00
Marcel Hibbe
5810d070fa
fix unread message behavior
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-05-13 19:28:54 +02:00
Sowjanya Kota
500f2ca1a9
Merge pull request #3900 from nextcloud/improveBarColorsForLogin
set light or dark bar colors for login screens instead primary color
2024-05-08 15:01:45 +02:00
sowjanyakch
acd0b92b6c
Pretty URL for conversation link
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-05-08 13:53:44 +02:00
Marcel Hibbe
831ee0cdc4
set light or dark bar colors for login screens instead primary color
especially for branded clients the primary color might not look good.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-05-07 12:37:05 +02:00
Marcel Hibbe
6e59a94789
fix visibility of conversation options
fix visibility of leave conversation and delete conversation in ConversationInfoActivity

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-26 13:19:23 +02:00
Marcel Hibbe
b870b0f208
rename classes called 'Magic*'
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-23 15:26:00 +02:00
Sowjanya Kota
d876ec4ef0
Merge pull request #3849 from nextcloud/bugfix/noid/fixToOpenCallsAsVoiceOnly
fix to open calls as voice only when user clicked on voice button
2024-04-18 14:57:10 +02:00
Julius Linus
57017f95f4
Set pages to be every 50 messages
Large enough to prevent onLoadMore from calling refresh on a few messages, but small enough to refresh when needed.

Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2024-04-18 14:16:59 +02:00
Marcel Hibbe
8a8b128ac6
fix to keep text of message-editing after 30sec
without this fix, the text when editing a message was lost after pulling chat messages (30sec), because inputEditText was initialized again with the initial text

As a fix, message editing is only initialized once when the edit button was clicked.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-18 12:45:50 +02:00
Marcel Hibbe
ca65995f84
fix to open calls as voice only when user clicked on voice button
Before this fix, KEY_CALL_VOICE_ONLY was not included in the intent extras so call always started as videocall

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-17 17:00:37 +02:00
Marcel Hibbe
3ea3f94cff
fix to show "Note to self" icon in conversation info
share conversation link to other apps

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-17 14:40:01 +02:00
Marcel Hibbe
f628d357ea
use conversationType to check if share button should be shown for conversation
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-17 13:55:55 +02:00
sowjanyakch
080937305a
Make conversation settings visible
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-04-17 13:39:31 +02:00
sowjanyakch
287ba3bbc9
Not sharing the conversation link of Note to self
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-04-17 13:39:31 +02:00
sowjanyakch
1c26c757f0
Refactor ShareUtils and remove ShareUtilsTest file
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-04-17 13:39:31 +02:00
sowjanyakch
b6ab867280
Make conversation link available for copy and paste in the Conversation settings.
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-04-17 13:39:31 +02:00
sowjanyakch
7832f72d12
share conversation link to other apps
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-04-17 13:39:30 +02:00
Marcel Hibbe
94257242a3
fix to set ConversationType for "Note to self"
Fix to check if a conversation is "Note to self" by checking the ConversationType instead to check conversation name by hardcoded string

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-17 12:02:52 +02:00
Marcel Hibbe
2485b14009
get room in NotificationWorker so CallNotificationActivity doesn't have to wait for it
The get-room request in CallNotificationActivity was sometimes too slow which caused the activity to be unresponsive.
With this commit, the room is first loaded before the user gets a notification.
For now all necessary values are passed as intent extras. In the future with offline support, there might be reasons to load it from DB in CallNotificationActivity.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-15 14:33:27 +02:00
Marcel Hibbe
7e1ebebd5d
remove unnecessary KEY_FROM_NOTIFICATION_START_CALL handling
this seems to be a relict caused by conductor back then.

CallNotificationActivity is opened directly.
There shouldn't have been any scenario anymore when it would be opened by MainActivity.
Back then with conductor, this was done because there must have been an activity to open which then opened a controller.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-15 14:33:26 +02:00
Marcel Hibbe
52dc82703e
avoid error when clicking on federated user avatar
without this, there would be http 404 error (nothing was shown to user):

2024-04-11 15:34:30.612 18641-18641 ProfileBottomSheet      com.nextcloud.talk2                  E  Failed to get hover card for user user@yourfereatedserver.dev
                                                                                                    retrofit2.adapter.rxjava2.HttpException: HTTP 404
                                                                                                    	at retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:57)
                                                                                                    	at retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:38)
                                                                                                    	at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:48)
                                                                                                    	at io.reactivex.Observable.subscribe(Observable.java:12284)
                                                                                                    	at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:35)
                                                                                                    	at io.reactivex.Observable.subscribe(Observable.java:12284)
                                                                                                    	at io.reactivex.internal.operators.observable.ObservableSubscribeOn$SubscribeTask.run(ObservableSubscribeOn.java:96)
                                                                                                    	at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:608)
                                                                                                    	at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
                                                                                                    	at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
                                                                                                    	at java.util.concurrent.FutureTask.run(FutureTask.java:264)
                                                                                                    	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307)
                                                                                                    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
                                                                                                    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
                                                                                                    	at java.lang.Thread.run(Thread.java:1012)

With this fix, nothing happens when clicking on a federated user avatar, just like in web and iOS.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-15 14:31:53 +02:00
Marcel Hibbe
69e8c91431
avoid error when clicking on federated user mention chip
without this, there would be the common error message shown because of a http 404 error.

With this fix, nothing happens when clicking on a federated user mention chip, just like in web and iOS.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-15 14:31:53 +02:00
Sowjanya Kota
d8e6a4a135
Merge pull request #3822 from nextcloud/bugfix/noid/fixCanModerate
Bugfix/noid/fix can moderate
2024-04-12 14:54:19 +02:00
Marcel Hibbe
e5e859feeb
hide button for open conversations when adding participants
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-11 17:17:40 +02:00
Marcel Hibbe
d5ff59fcd0
remove unused method
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-11 13:53:39 +02:00
Marcel Hibbe
d93dd0f3c1
fix logic for canModerate
bug was introduced with commit 754b8250

As a result, for example the delete conversation option was not shown.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-11 13:51:15 +02:00
Marcel Hibbe
3cfc4188f0
fix to load fallback poll avatar for other actorTypes (deleted users...)
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-05 15:48:13 +02:00
Marcel Hibbe
89d004b32d
fix margins for poll checkboxes
checkbox was cut off to the left. probably some material design update changed this. Now there is no need to modify the margin anymore.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-05 15:33:31 +02:00
Marcel Hibbe
eaa0743027
fix to always show polls dialog.
Sometimes the polls dialog seemed to not load the content.
This was caused by the showLoadingScreen logic using binding.root.post which overwrote the content depending on if the showResultsScreen or showVoteScreen already set the content. So it was a race conditions that sometimes it worked and sometimes not.
Additionally, calculating the height failed in showLoadingScreen, so in the end there was only the headline visible and even not loading spinner. This is now replaced by a fixed height.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-05 15:33:30 +02:00
Marcel Hibbe
0bdbc8a538
use EnumActorTypeConverter for poll models
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-05 13:25:32 +02:00
Marcel Hibbe
091fddc2c0
show federated avatars for polls
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-05 12:43:37 +02:00
Marcel Hibbe
1d62b9f7f9
avoid NPE when context is not known when creating conversation
NPE without this fix:

Exception java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference
  at android.content.ComponentName.<init> (ComponentName.java:132)
  at android.content.Intent.<init> (Intent.java:8269)
  at com.nextcloud.talk.conversation.CreateConversationDialogFragment.initiateConversation (CreateConversationDialogFragment.kt:276)
  at com.nextcloud.talk.conversation.CreateConversationDialogFragment.access$initiateConversation (CreateConversationDialogFragment.kt:63)
  at com.nextcloud.talk.conversation.CreateConversationDialogFragment$addParticipants$1.invoke (CreateConversationDialogFragment.kt:257)
  at com.nextcloud.talk.conversation.CreateConversationDialogFragment$addParticipants$1.invoke (CreateConversationDialogFragment.kt:248)
  at com.nextcloud.talk.conversation.CreateConversationDialogFragment$sam$androidx_lifecycle_Observer$0.onChanged
  at androidx.lifecycle.LiveData.considerNotify (LiveData.java:133)
  at androidx.lifecycle.LiveData.dispatchingValue (LiveData.java:151)
  at androidx.lifecycle.LiveData.setValue (LiveData.java:309)
  at androidx.lifecycle.MutableLiveData.setValue (MutableLiveData.java:50)
  at androidx.lifecycle.LiveData$1.run (LiveData.java:93)
  at android.os.Handler.handleCallback (Handler.java:958)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loopOnce (Looper.java:230)
  at android.os.Looper.loop (Looper.java:319)
  at android.app.ActivityThread.main (ActivityThread.java:8893)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:608)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1103)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-04 17:12:21 +02:00
Marcel Hibbe
3d9c1d2ca9
avoid NPE when serverVersion is not known
NPE without this fix:

Exception java.lang.RuntimeException:
  at android.app.ActivityThread.performResumeActivity (ActivityThread.java:4975)
  at android.app.ActivityThread.handleResumeActivity (ActivityThread.java:5008)
  at android.app.servertransaction.ResumeActivityItem.execute (ResumeActivityItem.java:54)
  at android.app.servertransaction.ActivityTransactionItem.execute (ActivityTransactionItem.java:45)
  at android.app.servertransaction.TransactionExecutor.executeLifecycleState (TransactionExecutor.java:176)
  at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:97)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2386)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loopOnce (Looper.java:210)
  at android.os.Looper.loop (Looper.java:299)
  at android.app.ActivityThread.main (ActivityThread.java:8252)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:559)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:954)
Caused by java.lang.NullPointerException:
  at com.nextcloud.talk.conversationlist.ConversationsListActivity.onResume (ConversationsListActivity.kt:287)
  at android.app.Instrumentation.callActivityOnResume (Instrumentation.java:1565)
  at android.app.Activity.performResume (Activity.java:8668)
  at android.app.ActivityThread.performResumeActivity (ActivityThread.java:4965)

 The root cause may be that the CapabilitiesWorker is not finished so the serverVersion was not added to the user.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-04 16:09:15 +02:00
Marcel Hibbe
c82138ca7c
translate all boolean values in diagnosis screen
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-04 16:06:06 +02:00
Julius Linus
c12c090551
theme federation invitations panel
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-04 14:54:30 +02:00
Bhavesh Kumawat
bde1c3a48d
Added network checks and display error dialog
Signed-off-by: Bhavesh Kumawat <kumawatbhavesh1000@gmail.com>
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-03 17:49:51 +02:00
Julius Linus
b660816bc9
fix ConcurrentModificationException
2024-03-19 15:49:38.476 15732-17089 okhttp.OkHttpClient     com.nextcloud.talk2                  I  {"ocs":{"meta":{"status":"ok","statuscode":200,"message":"OK"},"data":[]}}
2024-03-19 15:49:38.476 15732-17089 okhttp.OkHttpClient     com.nextcloud.talk2                  I  <-- END HTTP (74-byte body)
2024-03-19 15:49:38.571 15732-15732 ViewRootIm...tActivity] com.nextcloud.talk2                  I  handleAppVisibility mAppVisible = false visible = true
2024-03-19 15:49:38.571 15732-15732 ViewRootIm...tActivity] com.nextcloud.talk2                  I  stopped(false) old = true
2024-03-19 15:49:38.571 15732-15732 ViewRootIm...tActivity] com.nextcloud.talk2                  I  WindowStopped on com.nextcloud.talk2/com.nextcloud.talk.chat.ChatActivity set to false
2024-03-19 15:49:38.695 15732-16333 WebSocketInstance       com.nextcloud.talk2                  D  Receiving : okhttp3.internal.ws.RealWebSocket@b8eb9d5 {"type":"event","event":{"target":"room","type":"leave","leave":["01s9v73eeKC5P2QUmsEqfsi_ZmY-DaDPhs3wdFTmJkB8VzVJc1FSWUV5bVZVTEtBaVpZOUYxaDVMRlpsaG95enlFc2dXMXpQY3Y3dGNGNlNfemZiLXg5cXk1ZVNyTEkzNS0wcDZJZUdnelFYbmF6ZVMwcWRDbVBTNklLYkFHNUdwRDQ2c0VZR1RoX1JObmF2Q3hSb2YtbFNJOFRONkhFLWp2cWZBZnk2d2VSb1BsbG96VE90Vm45bFhOa2NwWWZfdTA1clJ4VFoxcHpJcHwyMjEzNTgwMTcx"]}}
2024-03-19 15:49:38.697 15732-15732 AndroidRuntime          com.nextcloud.talk2                  D  Shutting down VM
2024-03-19 15:49:38.702 15732-15732 AndroidRuntime          com.nextcloud.talk2                  E  FATAL EXCEPTION: main
                                                                                                    Process: com.nextcloud.talk2, PID: 15732
                                                                                                    java.util.ConcurrentModificationException
                                                                                                    	at java.util.HashMap$HashIterator.nextNode(HashMap.java:1441)
                                                                                                    	at java.util.HashMap$EntryIterator.next(HashMap.java:1475)
                                                                                                    	at java.util.HashMap$EntryIterator.next(HashMap.java:1473)
                                                                                                    	at com.nextcloud.talk.chat.ChatActivity.sendStopTypingMessage(ChatActivity.kt:2097)
                                                                                                    	at com.nextcloud.talk.chat.ChatActivity.updateOwnTypingStatus(ChatActivity.kt:2063)
                                                                                                    	at com.nextcloud.talk.chat.ChatActivity$initMessageInputView$1.onTextChanged(ChatActivity.kt:1162)
                                                                                                    	at android.widget.TextView.sendOnTextChanged(TextView.java:11881)
                                                                                                    	at android.widget.TextView.setText(TextView.java:6968)
                                                                                                    	at android.widget.TextView.setText(TextView.java:6751)
                                                                                                    	at android.widget.EditText.setText(EditText.java:133)
                                                                                                    	at android.widget.TextView.setText(TextView.java:6703)
                                                                                                    	at com.nextcloud.talk.chat.ChatActivity.onStart(ChatActivity.kt:575)
                                                                                                    	at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1510)
                                                                                                    	at android.app.Activity.performStart(Activity.java:8616)
                                                                                                    	at android.app.ActivityThread.handleStartActivity(ActivityThread.java:4204)
                                                                                                    	at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
                                                                                                    	at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
                                                                                                    	at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
                                                                                                    	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
                                                                                                    	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2574)
                                                                                                    	at android.os.Handler.dispatchMessage(Handler.java:106)
                                                                                                    	at android.os.Looper.loopOnce(Looper.java:226)
                                                                                                    	at android.os.Looper.loop(Looper.java:313)
                                                                                                    	at android.app.ActivityThread.main(ActivityThread.java:8762)
                                                                                                    	at java.lang.reflect.Method.invoke(Native Method)
                                                                                                    	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:604)
                                                                                                    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)
2024-03-19 15:49:38.735 15732-15732 Process                 com.nextcloud.talk2                  I  Sending signal. PID: 15732 SIG: 9
2024-03-19 15:49:39.328  1477-1521  WindowManager           system_server                        E  win=Window{9280569 u0 com.nextcloud.talk2/com.nextcloud.talk.activities.CallActivity EXITING} destroySurfaces: appStopped=false cleanupOnResume=false win.mWindowRemovalAllowed=true win.mRemoveOnExit=true win.mViewVisibility=0 caller=com.android.server.wm.ActivityRecord.destroySurfaces:6539 com.android.server.wm.ActivityRecord.destroySurfaces:6520 com.android.server.wm.WindowState.onExitAnimationDone:5995 com.android.server.wm.ActivityRecord$$ExternalSyntheticLambda10.accept:2 java.util.ArrayList.forEach:1262 com.android.server.wm.ActivityRecord.onAnimationFinished:8607 com.android.server.wm.ActivityRecord.postApplyAnimation:6252
2024-03-19 15:49:40.075 19752-19752 nativeloader            com.nextcloud.talk2                  D  Configuring classloader-namespace for other apk /data/app/~~7lbTYxiIqB-jrG8FI6_p4A==/com.nextcloud.talk2-0R1zH5b8yl__vfC9tvSYrg==/base.apk. target_sdk_version=34, uses_libraries=, library_path=/data/app/~~7lbTYxiIqB-jrG8FI6_p4A==/com.nextcloud.talk2-0R1zH5b8yl__vfC9tvSYrg==/lib/arm64:/data/app/~~7lbTYxiIqB-jrG8FI6_p4A==/com.nextcloud.talk2-0R1zH5b8yl__vfC9tvSYrg==/base.apk!/lib/arm64-v8a, permitted_path=/data:/mnt/expand:/data/user/0/com.nextcloud.talk2
2024-03-19 15:49:40.097 19752-19752 GraphicsEnvironment     com.nextcloud.talk2                  V  ANGLE Developer option for 'com.nextcloud.talk2' set to: 'default'
2024-03-19 15:49:40.098 19752-19752 GraphicsEnvironment     com.nextcloud.talk2                  V  ANGLE GameManagerService for com.nextcloud.talk2: false
2024-03-19 15:49:40.099 19752-19752 GraphicsEnvironment     com.nextcloud.talk2

Signed-off-by: Julius Linus <julius.linus@nextcloud.com>
2024-04-03 17:15:49 +02:00
sowjanyakch
99d361f37d
Hides messageSendButton initially
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-04-03 16:57:16 +02:00
Marcel Hibbe
16c53cab21
refactor (extract methods)
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-03 16:51:42 +02:00
Marcel Hibbe
c21a3a2363
fix to hide moderation actions
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-03 16:51:42 +02:00
Marcel Hibbe
39180f2f6d
change logging
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-03 16:51:42 +02:00
Marcel Hibbe
af9d75a978
show federated avatars in conversation info
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-03 16:51:42 +02:00
Marcel Hibbe
1553cdf107
remove 'source' variable from Participant
As far i could see this is identical to actorType, so 'source' was removed and actorType is now used.

This makes checks in ParticipantItem etc more clean

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-03 16:51:42 +02:00
Marcel Hibbe
8216811e99
convert ParticipantItem to kt
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-03 16:51:42 +02:00
Marcel Hibbe
9fa560e97d
add FEDERATED ActorType
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-03 16:51:41 +02:00
Julius Linus
07bf65460b
Fixed some bugs with formatting and message handling
Signed-off-by: Julius Linus <julius.linus@nextcloud.com>
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-04-03 16:41:14 +02:00
Parneet Singh
631a93f687
use new result api
Signed-off-by: Parneet Singh <gurayaparneet@gmail.com>
2024-04-01 04:40:05 +05:30
Andy Scherzinger
f5a4274e54
Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-03-29 15:42:11 +01:00
Andy Scherzinger
3eabf9bb83
Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-03-29 12:55:12 +01:00
Marcel Hibbe
4c5ffdbae7
replace roomToken with token
roomToken was added unnecessarily as it already exists as "token"

By using the duplicated roomToken, this also introduced a bug when that it could be empty.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-03-26 16:54:39 +01:00
Marcel Hibbe
4a72735a57
open federated chat after accepting the invite
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-03-26 16:34:58 +01:00
Marcel Hibbe
03d33731fd
fix to handle invitation panel when userId is the same
with same userId on both servers, the invitation panel could get shown also there were no invitations for the current account

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-03-26 15:32:18 +01:00
Marcel Hibbe
0e64cd56f7
adapt models to changed federation invitations API
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-03-26 15:18:48 +01:00
sowjanyakch
ade3182d34
Add string message_last_edited_by
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-03-26 11:38:38 +01:00
Marcel Hibbe
32f4b59161
fix to show all participants in conversation info
In general it's a bad idea to use recyclerview inside scrollviews because of poor performance! So this is only a fix until everything is replaced with jetpack compose.

setHasFixedSize and isNestedScrollingEnabled were set to false. This might not be necessary for the current implementation, but it's recommended when using NestedScrollView.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-03-25 11:55:33 +01:00
Andy Scherzinger
ed216bca85
Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-03-24 20:08:43 +01:00
Andy Scherzinger
d1a8669f11
Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-03-24 14:24:57 +01:00
Andy Scherzinger
c2683e0ed0
Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-03-23 17:18:18 +01:00
Julius Linus
20378ae89c
formatting
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-03-22 12:56:30 +01:00
Parneet Singh
6c52e73b9c
use DialogFragment to retain state
Signed-off-by: Parneet Singh <gurayaparneet@gmail.com>
2024-03-22 12:56:30 +01:00
Andy Scherzinger
c005d93f8c
remove magic numbers
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-03-21 18:42:28 +01:00
Marcel Hibbe
cc19157867 convert DisplayUtils to kt
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-03-21 16:39:16 +01:00
Marcel Hibbe
bb6af562cc convert MentionAutocompleteItem to kt
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-03-21 16:39:16 +01:00
Marcel Hibbe
4a75108557 reformat code
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-03-21 16:39:16 +01:00
Marcel Hibbe
c55403c023 modify log statement
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-03-21 16:39:16 +01:00
Marcel Hibbe
c0c671bccf fix to use correct cloudId.
Without this fix, the avatars for "normal" messages were not able to show avatars.
Only the messages that contained messageParameters with actor were able to show avatars(for example "userX invited userY")

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-03-21 16:39:16 +01:00
Julius Linus
870ef03d61 Federated Mentions
- Federated mention chip
- Federated message avatars
- Helper functions

Signed-off-by: Julius Linus <julius.linus@nextcloud.com>
2024-03-21 16:39:16 +01:00
Marcel Hibbe
2cec1637e8
hide call notification setting for federated rooms
because right now it's response is http 406 as calls are not implemented for federation

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-03-20 17:38:43 +01:00
Marcel Hibbe
7e57ecaf79
hide shared items for federated rooms.
because right now it's response is http 406

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-03-20 15:57:32 +01:00
Marcel Hibbe
611dcb7911
fix error handling for shared items.
Before this with http 406 it threw a NPE and UI was shown as loading state.
With this commit an empty list is returned when there is a http error.

http 406 happens for federated rooms for now. So it might be that Shared items screen will be hidden by additional commits.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-03-20 15:53:39 +01:00
Marcel Hibbe
5fead79743
hide actions for federated rooms
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-03-20 15:22:24 +01:00
Marcel Hibbe
d15d8d29e6
fix to mark federated rooms as read
As lastMessageId is not available for federatedRooms, the API on server side now allows the messageID to be optional. This is done by this commit: messageId is null when it's a federated room.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-03-20 13:27:48 +01:00
sowjanyakch
d80200906d
ktlintFormat
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-03-19 13:19:55 +01:00
sowjanyakch
2b1a16415c
Implemented delete-messages-unlimited feature
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-03-19 13:19:55 +01:00
Marcel Hibbe
2e317b134c
use X-Chat-Last-Common-Read to fix read status
Without this commit, the read status was broken as X-Chat-Last-Common-Read was not used. It was removed by
https://github.com/nextcloud/talk-android/pull/3630

As a result all messages were marked as unread after waiting for 30 seconds.

With this commit the X-Chat-Last-Common-Read is used again.
Messages are marked as read again also after 30 seconds.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-03-19 13:18:09 +01:00
Andy Scherzinger
4b0daa6978
Fix kotlin fomatting
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-03-17 14:41:36 +01:00
Giacomo Pacini
ee6722bc6f
Merge branch 'master' into master 2024-03-14 15:25:22 +01:00
Sowjanya Kota
a8d9009106
Merge pull request #3712 from nextcloud/bugfix/noid/fixConversationListItemsAfterSearch
fix to hide open conversations after returning from search
2024-03-14 15:23:46 +01:00
Giacomo Pacini
2deefb3c0a
Merge remote-tracking branch 'upstream/master' 2024-03-13 18:50:32 +01:00
Giacomo Pacini
064c3809b0
removed some comments, modified indentation, moved some strings to companion object
Signed-off-by: Giacomo Pacini <giacomopacini98@gmail.com>
2024-03-13 18:47:51 +01:00
Giacomo Pacini
ca5a379883
save audio message id and position when activity is destroyed,
also restores view position to that message and then resumes audio playback if was playing.
it allows to continue playing audio on screen rotation.

Signed-off-by: Giacomo Pacini <giacomopacini98@gmail.com>
2024-03-13 18:47:51 +01:00
Giacomo Pacini
b44641c0c7
removed stopMediaPlayer method call in onStop(),
so that audio continues playing when activity in background.
if backpressed, stops mediaplayer

Signed-off-by: Giacomo Pacini <giacomopacini98@gmail.com>
2024-03-13 18:47:50 +01:00
sowjanyakch
353cabc442 Fix Recents Screen
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-03-13 17:37:56 +01:00
Marcel Hibbe
5d0c409d7b
fix to hide open conversations after returning from search
How to test:

pre-requirement:
There are open conversations

without this commit:
1. go to search screen
2. go back to conversation list
-> all open conversations are listed below own conversations

with this commit:
1. go to search screen
2. go back to conversation list
-> only own conversations are listed

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-03-13 13:07:42 +01:00
Marcel Hibbe
445721487e
dont hide message reactions in MessageActionsDialog for federated rooms
works out of the box after server implemented federated reactions. no client changes needed

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-03-13 10:25:17 +01:00
Andy Scherzinger
13a5c9444f
Migrate to latest bottom sheet theming implementation
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-03-12 20:21:17 +01:00
Marcel Hibbe
625de657d4
hide features if federation is not available
+ add capability queries (not yet used)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-03-12 10:52:58 +01:00
parneet-guraya
3866beed92
fix remind me later dialog
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
2024-03-11 15:28:38 +01:00
parneet-guraya
e7ef618119
fix filter dialog
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
2024-03-11 15:28:38 +01:00
Julius Linus
a74c8c552d Popup bubbles now show up + Fixed bugs with images + added new string resource
Signed-off-by: Julius Linus <julius.linus@nextcloud.com>
2024-03-05 09:25:56 -06:00
Marcel Hibbe
ba812cabdc
add rest of SpreedFeatures to Enums
delete method hasSpreedFeatureCapability that accepts capability name as string

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-03-05 13:31:23 +01:00
parneet-guraya
a483fb7017
add shimmer on top of list & refactoring
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
2024-03-05 13:26:11 +01:00
sowjanyakch
8ff4771e60
Renaming strings from circles to teams.
Signed-off-by: Sowjanya Kota<sowjanya.kch@gmail.com>
2024-03-05 13:20:17 +01:00
parneet-guraya
82a46572d9
wrap inside scroll view
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
2024-03-05 10:48:57 +01:00
parneet-guraya
1881676538
use default constructor for fragment
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
2024-03-05 10:48:56 +01:00
Marcel Hibbe
fcf6c845a7
add compatibility for janus 1.x
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-03-04 12:59:35 +01:00
Andy Scherzinger
a9cbb657ee
fix comment
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-03-01 18:05:32 +01:00
Marcel Hibbe
754b825096
pass spreedCapabilities instead user to CapabilitiesUtil
To support federated rooms, capabilities have to be checked from the room which now also has capabilities.
If room is not federated, capabilities fromuser are still checked.
This is why CapabilitiesUtil had to be refactored to accept SpreedCapabilities which can come from room or user.

Other than that, many other changes were made as a result of this change.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-03-01 11:25:11 +01:00
Julius Linus
dcc8fc6954
Major refactoring, implements ChatActivity in MVVM to prepare for federation and offline chatting.
Signed-off-by: Julius Linus <julius.linus@nextcloud.com>
2024-02-27 17:52:30 +01:00
Marcel Hibbe
a3ecd82d13
rename MagicWebRTCUtils to WebRTCUtils
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-02-27 15:23:11 +01:00
Marcel Hibbe
dd6991e39e
remove hardcoded devices for webrtc audio setup
android-talk-webrtc in version 121.6167.0 doesn't allow access to
WebRtcAudioManager
WebRtcAudioUtils
anymore.

These classes were used for
HARDWARE_AEC_EXCLUDE_SET
and
OPEN_SL_ES_INCLUDE_SET
lists, which were not updated for years.

For these reasons the checks for HARDWARE_AEC_EXCLUDE_SET and OPEN_SL_ES_INCLUDE_SET are removed.
If people are complaining about different behaviour of audio performance/echoes, it's worth to have a closer look at the changes again.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-02-27 15:23:11 +01:00
Marcel Hibbe
8c47b89ce5
fix ktlint warnings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-02-27 15:15:56 +01:00
Marcel Hibbe
fde635d61b
show test notification + modify doc
show test notification from
occ notification:test-push --talk username

This will directly show the push notification without to fetch any data from nextcloud instance.

Additionally some additions to documentation were made

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-02-26 16:52:41 +01:00
Marcel Hibbe
c13f2589ff
handle federation invitations
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-02-26 16:45:55 +01:00
Marcel Hibbe
9a4bf14e09
Merge remote-tracking branch 'origin/master' into feature/edit_messages 2024-02-16 17:09:03 +01:00
Marcel Hibbe
2a856bc77a
avoid to send "speaking" data channel message when mic is muted
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-02-16 13:06:56 +01:00
parneet-guraya
d63fc58a62
remove class level notification property
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
2024-02-16 11:30:03 +01:00
parneet-guraya
d6201cf796
use new builder for failure notification
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
2024-02-16 11:30:03 +01:00
parneet-guraya
94a1238f28
create notification group using summary notification
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
2024-02-16 11:30:03 +01:00
sowjanyakch
861b565c01 Added date to editor details and changes related to design.
Signed-off-by: Sowjanya Kota<sowjanya.kch@gmail.com>
2024-02-14 16:08:13 +01:00
sowjanyakch
8d4c0fb57c Minor UI improvements
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-02-13 11:47:39 +01:00
Marcel Hibbe
6708aeebad
fix to show message as edited after editing on own device
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-02-09 11:16:21 +01:00
Marcel Hibbe
4e4cb26862
fix to update adapter for "edited messages" by system message
This will update the message when an edit was made on other devices.
So the system message will trigger that you are informed about a change. But instead to show the system message, you use it's information to immediately update the adapter.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-02-09 11:14:00 +01:00
sowjanyakch
683f924556 Add editor name and message timestamp to MessageActionsDialog
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-02-09 10:05:54 +01:00
parneet-guraya
86cd617c6a
handle becoming noisy manually
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
2024-02-07 15:35:44 +05:30
parneet-guraya
91d5217b1e
handle audio focus and becoming noisy
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
2024-02-07 15:35:42 +05:30
sowjanyakch
6a0f23c39b Merge remote-tracking branch 'origin/feature/edit_messages' into feature/edit_messages
# Conflicts:
#	app/src/main/java/com/nextcloud/talk/api/NcApi.java
#	app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt
#	app/src/main/java/com/nextcloud/talk/ui/MessageInput.kt
#	app/src/main/java/com/nextcloud/talk/ui/dialog/MessageActionsDialog.kt
#	app/src/main/res/drawable/ic_check_24.xml
#	app/src/main/res/values/strings.xml
2024-02-05 23:01:25 +01:00
sowjanyakch
d27c7a6212 UI improvements 2024-02-05 22:46:30 +01:00
sowjanyakch
426c8823c5 add (edited) tag in incoming and outgoing messages layout 2024-02-05 22:46:30 +01:00
sowjanyakch
eb27b7039f Update Edit Message 2024-02-05 22:46:30 +01:00
sowjanyakch
80c843227e System Messages and Error handling 2024-02-05 22:46:30 +01:00
sowjanyakch
718369d80e Edit inputText view refactoring 2024-02-05 22:46:30 +01:00
sowjanyakch
5ecfd3cd3b Basic Edit feature 2024-02-05 22:46:30 +01:00
Sowjanya Kota
96a244408e Checking Edit Capability 2024-02-05 22:46:29 +01:00
Sowjanya Kota
0e13c1f3ce
Merge branch 'master' into feature/edit_messages
Signed-off-by: Sowjanya Kota <sowjanya.kch@gmail.com>
2024-02-02 17:09:42 +01:00
sowjanyakch
6db42115ba add (edited) tag in incoming and outgoing messages layout
Signed-off-by:Sowjanya Kota <sowjanya.kch@gmail.com>
2024-02-01 22:37:41 +01:00
sowjanyakch
253c3fe024 Update Edit Message
Signed-off-by: Sowjanya Kota <sowjanya.kch@gmail.com>
2024-02-01 13:34:13 +01:00
Julius Linus
d45277beaf
Impl "Add to Notes Action"
- Note to self option should only appear if conversation is available
- Added ic_edit_note_24_xml
- Implemented MVVM functions for cleaner data flow
- Added the option to the XML
- Works for Voice Messages
- Works for Files(and Gifs) + captions
- Works for GeoLocation Messages
- Added SnackBar

Signed-off-by: Julius Linus <julius.linus@nextcloud.com>
2024-02-01 12:18:06 +01:00
Andy Scherzinger
f2b838f8b7 properly name context variable
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-01-30 14:26:08 +01:00
Andy Scherzinger
7fe6dd066b Register ReceiverFlags when registering receivers for Android 13+
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-01-30 14:26:08 +01:00
Andy Scherzinger
f931407d56 Add general receiver registration implementation
Signed-off-by: alperozturk <alper_ozturk@proton.me>
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-01-30 14:26:08 +01:00
sowjanyakch
2b24c69cbf System Messages and Error handling
Signed-off-by: Sowjanya Kota <101803542+sowjanyakch@users.noreply.github.com>
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-01-30 09:45:15 +01:00
sowjanyakch
33de105048 Edit inputText view refactoring
Signed-off-by: Sowjanya Kota <101803542+sowjanyakch@users.noreply.github.com>
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2024-01-25 17:47:21 +01:00
sowjanyakch
337f07abfe Basic Edit feature
Signed-off-by: Sowjanya Kota <101803542+sowjanyakch@users.noreply.github.com>
2024-01-24 14:00:27 +01:00
Sowjanya Kota
d8d1de2f35 Checking Edit Capability
Signed-off-by:Sowjanya Kota <101803542+sowjanyakch@users.noreply.github.com>
2024-01-19 18:12:31 +01:00
parneet-guraya
6f88c8bcbd
add cancel upload functionality
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
2024-01-17 09:21:32 +01:00
Julius Linus
30c6ad5ab6
save cursor position
Signed-off-by: Julius Linus <julius.linus@nextcloud.com>
2024-01-15 15:16:32 +01:00
Marcel Hibbe
f232fda7c1
set string "Build flavor" to translatable=false
otherwise translators won't understand what this is.
As translations were already made a new key was introduced to avoid "Translated Untranslatable" warnings

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-01-15 12:51:29 +01:00
Marcel Hibbe
c7a72aaf4a
add diagnose screen and permission warnings in settings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2024-01-12 09:54:28 +01:00
Sowjanya Kota
ffda98632e
Share message text to other apps
Signed-off-by: Sowjanya Kota <sowjanya.kch@gmail.com>
2024-01-04 11:18:24 +01:00
Sowjanya Kota
ccf6337bb0 Using finish() to handle only forward message back button 2023-12-27 15:34:27 +01:00
Julius Linus
49d65786ea
guarantee AudioUtils stop executing after 3 seconds, sharp, regardless of state of MediaCodec
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2023-12-22 16:03:46 +01:00
tobiasKaminsky
a77ad7bf74 Add WebAuthN support
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2023-12-18 09:49:00 +01:00
Andy Scherzinger
9621f943f1
theme background for dialog-based BottomSheet
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-12-15 09:55:55 +01:00
Marcel Hibbe
8507e96bc5
Merge pull request #3502 from nextcloud/bugfix/3491/fixErrorWhenDecliningRecConsent
avoid error when declining recording consent
2023-12-05 18:57:35 +01:00
Andy Scherzinger
12a1b7e6f8
ktlint: Property name should use the screaming snake case notation when the value can not be changed
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-12-05 16:50:58 +01:00
Andy Scherzinger
5356edf4a9
ktlint: Empty parentheses in function call followed by lambda are unnecessary
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-12-05 16:45:24 +01:00
Andy Scherzinger
565d0cf61b
ktlint: statement fits in a single line
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-12-05 16:45:02 +01:00
Andy Scherzinger
3f911965bd
ktlint: Property name should start with a lowercase letter and use camel case
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-12-05 16:37:53 +01:00
Andy Scherzinger
d7f8d1ecb2
ktlint: Single space expected between colon and return type
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-12-05 16:35:43 +01:00
Andy Scherzinger
9395a35af6
ktlint: Newline expected after opening parenthesis
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-12-05 16:34:54 +01:00
Andy Scherzinger
67b2752360
ktlint: Expected a single space
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-12-05 16:32:21 +01:00
Andy Scherzinger
59e8f4b550
ktlint: No comment expected at this location
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-12-05 16:31:34 +01:00
Andy Scherzinger
29db97c8bc
ktlint: Missing newline before/after '{'
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-12-05 16:30:25 +01:00
Andy Scherzinger
ae9c092997
ktlint: A comment in a 'value_argument_list' is only allowed when placed on a separate line
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-12-05 16:29:33 +01:00
Andy Scherzinger
f2da9b93de
ktlint: First line of body expression fits on same line as function signature
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-12-05 16:28:49 +01:00
Andy Scherzinger
88970c59a5
ktlint: Newline expected before expression body
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-12-05 16:26:33 +01:00
Marcel Hibbe
6ac9fa5fff
avoid error when declining recording consent
When declining recording consent, 404 might be returned when leaving the call (because the call was not joined before).
It might not be the best option to handle this via onError, but for the moment (18.0.0 release) it's the most robust/lowest-risk solution without to change some state handling to check if the call was joined).
finish was added which makes sense anyway, but for declining recording consent the error snackbar was removed.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-12-05 16:20:28 +01:00
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
Andy Scherzinger
f2b86a9d86
ktlint: Enum entry should start on a separate line
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-12-05 16:01:00 +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
cc6f3fff9a
avoid crash when NC notification could not be retrieved
crash:

              E  Failed to get NC notification
                                                                                                    retrofit2.adapter.rxjava2.HttpException: HTTP 404
                                                                                                    	at retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:57)
                                                                                                    	at retrofit2.adapter.rxjava2.BodyObservable$BodyObserver.onNext(BodyObservable.java:38)
                                                                                                    	at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:48)
                                                                                                    	at io.reactivex.Observable.subscribe(Observable.java:12284)
                                                                                                    	at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:35)
                                                                                                    	at io.reactivex.Observable.subscribe(Observable.java:12284)
                                                                                                    	at io.reactivex.internal.operators.observable.ObservableSubscribeOn$SubscribeTask.run(ObservableSubscribeOn.java:96)
                                                                                                    	at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:608)
                                                                                                    	at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
                                                                                                    	at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
                                                                                                    	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
                                                                                                    	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
                                                                                                    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
                                                                                                    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
                                                                                                    	at java.lang.Thread.run(Thread.java:919)
2023-11-30 10:48:11.049  5352-5597  WM-WorkerWrapper        com.nextcloud.talk2                  I  Worker result SUCCESS for Work [ id=f899eadb-9fd0-4bdf-8cdf-a1ea4a1aa11b, tags={ com.nextcloud.talk.jobs.NotificationWorker } ]
2023-11-30 10:48:11.056  5352-5352  AndroidRuntime          com.nextcloud.talk2                  D  Shutting down VM
2023-11-30 10:48:11.058  5352-5352  AndroidRuntime          com.nextcloud.talk2                  E  FATAL EXCEPTION: main
                                                                                                    Process: com.nextcloud.talk2, PID: 5352
                                                                                                    java.lang.IllegalArgumentException: No suitable parent found from the given view. Please provide a valid view.
                                                                                                    	at com.google.android.material.snackbar.Snackbar.makeInternal(Snackbar.java:200)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-11-30 11:44:52 +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
2adad16914
small adjustments
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2023-11-29 11:38:26 +01:00
Julius Linus
b5f49ccfaa
fixed bug - Note to Self Now allows messages to expire and be deleted
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2023-11-29 11:38:25 +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
23ea4d8803
remove unnecessary code
(seemed to be caused by c&p)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-11-27 14:10:22 +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
Marcel Hibbe
fce209695a
close Call notification when onError is triggered.
How to test:
add

.doOnNext {
	throw (RuntimeException("Exception!!!!!!!!!!!!!!!!!!!!!"))
}

after
.subscribeOn(Schedulers.io())

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-11-23 12:44:03 +01:00
Marcel Hibbe
423ce97b4e
Fix to delete user when unregister for notifications failed
Whenever there was an error when unregistering from notifications, the user was not deleted.
This could lead to multiple bugs.

Furthermore, external signaling server connection and arbitrary storage is now always handled for user deletion, which was not the case before.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-11-21 10:35:30 +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
Julius Linus
5e362ae129
file captions
- Added dialog_file_attachment_preview.xml
- Added FileAttachmentPreviewFragment.kt
- Edited ChatActivity to add captions to uploaded files, also refactored some code
- Edited the Outgoing, Incoming, and Generic Preview holders to have a caption
- Fixed some bugs with RemoteFileBrowser

Signed-off-by: Julius Linus <julius.linus@nextcloud.com>
2023-11-16 15:46:18 +01:00
Andy Scherzinger
62adb46f49
Merge pull request #3433 from nextcloud/feature/3416/saveFileFollowup
followup changes to save file feature
2023-11-08 15:45:04 +01:00
parneet-guraya
f23075b2dd
update the correct observable
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
2023-11-08 19:16:42 +05:30
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
d5672d6434
fix linebreak in strings.xml + fix lint warnings
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-11-08 09:20:36 +01:00
fariba khandani
dd9eb35e72 saveFiles to internal storage 2023-11-07 13:31:58 +01:00
Sowjanya Kota
305ec470c8 format code and suppress KtLint CheckResult rule 2023-11-06 15:20:15 +01:00
Sowjanya Kota
ce248a7fc0 hide "unread mention" bubble in search mode 2023-11-06 15:20:15 +01:00
Marcel Hibbe
68ab275efc
Avoid Npe for call with a guest without name
11-02 03:45:20.115 27450 27450 D CallActivity: initGridAdapter
11-02 03:45:20.116 27450 27450 D CallActivity: removeParticipantDisplayItem
11-02 03:45:20.116 27450 27450 D CallActivity: removeParticipantDisplayItem
11-02 03:45:20.119 27450 27450 W MagicWebRTCUtils: No payload types with name H264
11-02 03:45:20.141 27450 27450 W System.err: java.lang.NullPointerException: Parameter specified as non-null is null: method com.nextcloud.talk.activities.CallActiv
ity$OfferAnswerNickProvider$WebRtcMessageListener.onOffer, parameter nick
11-02 03:45:20.141 27450 27450 W System.err:    at com.nextcloud.talk.activities.CallActivity$OfferAnswerNickProvider$WebRtcMessageListener.onOffer(Unknown Source:7
)
11-02 03:45:20.141 27450 27450 W System.err:    at com.nextcloud.talk.signaling.WebRtcMessageNotifier.notifyOffer(WebRtcMessageNotifier.java:99)
11-02 03:45:20.141 27450 27450 W System.err:    at com.nextcloud.talk.signaling.SignalingMessageReceiver.processSignalingMessage(SignalingMessageReceiver.java:746)
11-02 03:45:20.142 27450 27450 W System.err:    at com.nextcloud.talk.activities.CallActivity$InternalSignalingMessageReceiver.process(CallActivity.kt:2707)
11-02 03:45:20.142 27450 27450 W System.err:    at com.nextcloud.talk.activities.CallActivity.receivedSignalingMessage(CallActivity.kt:1889)
11-02 03:45:20.142 27450 27450 W System.err:    at com.nextcloud.talk.activities.CallActivity.receivedSignalingMessages(CallActivity.kt:1865)
11-02 03:45:20.142 27450 27450 W System.err:    at com.nextcloud.talk.activities.CallActivity.access$receivedSignalingMessages(CallActivity.kt:190)
11-02 03:45:20.142 27450 27450 W System.err:    at com.nextcloud.talk.activities.CallActivity$pullSignalingMessages$5.onNext(CallActivity.kt:1768)
11-02 03:45:20.142 27450 27450 W System.err:    at com.nextcloud.talk.activities.CallActivity$pullSignalingMessages$5.onNext(CallActivity.kt:1762)
11-02 03:45:20.142 27450 27450 W System.err:    at io.reactivex.internal.util.HalfSerializer.onNext(HalfSerializer.java:107)
11-02 03:45:20.143 27450 27450 W System.err:    at io.reactivex.internal.operators.observable.ObservableRetryWhen$RepeatWhenObserver.onNext(ObservableRetryWhen.java
:100)
11-02 03:45:20.143 27450 30048 W MagicWebRTCUtils: No payload types with name H264
11-02 03:45:20.143 27450 27450 W System.err:    at io.reactivex.internal.operators.observable.ObservableDoOnEach$DoOnEachObserver.onNext(ObservableDoOnEach.java:101
)
11-02 03:45:20.143 27450 27450 W System.err:    at io.reactivex.internal.operators.observable.ObservableTakeWhile$TakeWhileObserver.onNext(ObservableTakeWhile.java:
88)
11-02 03:45:20.143 27450 27450 W System.err:    at io.reactivex.internal.util.HalfSerializer.onNext(HalfSerializer.java:107)
11-02 03:45:20.143 27450 27450 W System.err:    at io.reactivex.internal.operators.observable.ObservableRepeatWhen$RepeatWhenObserver.onNext(ObservableRepeatWhen.ja
va:100)
11-02 03:45:20.143 27450 27450 W System.err:    at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.drainNormal(ObservableObserveOn.
java:201)
11-02 03:45:20.143 27450 27450 W System.err:    at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run(ObservableObserveOn.java:255
)
11-02 03:45:20.144 27450 27450 W System.err:    at io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run(HandlerScheduler.java:124)
11-02 03:45:20.144 27450 27450 W System.err:    at android.os.Handler.handleCallback(Handler.java:938)
11-02 03:45:20.144 27450 27450 W System.err:    at android.os.Handler.dispatchMessage(Handler.java:99)
11-02 03:45:20.144 27450 27450 W System.err:    at android.os.Looper.loop(Looper.java:223)
11-02 03:45:20.144 27450 27450 W System.err:    at android.app.ActivityThread.main(ActivityThread.java:7664)
11-02 03:45:20.144 27450 27450 W System.err:    at java.lang.reflect.Method.invoke(Native Method)
11-02 03:45:20.144 27450 27450 W System.err:    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
11-02 03:45:20.144 27450 27450 W System.err:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
11-02 03:45:20.145 27450 27450 E AndroidRuntime: FATAL EXCEPTION: main

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-11-03 10:44:39 +01:00
Marcel Hibbe
f03b212369
fix crash when trying to upload from nextcloud
this is just a quickfix to get the correct context. However a better way would be to avoid using a context inside viewModel.

stacktrace:

303-13303 AndroidRuntime          com.nextcloud.talk2                  E  FATAL EXCEPTION: main
                                                                                                    Process: com.nextcloud.talk2, PID: 13303
                                                                                                    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.nextcloud.talk2/com.nextcloud.talk.remotefilebrowser.activities.RemoteFileBrowserActivity}: android.content.res.Resources$NotFoundException: String resource ID #0x7f1301f3
                                                                                                    	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3311)
                                                                                                    	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3460)
                                                                                                    	at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
                                                                                                    	at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
                                                                                                    	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
                                                                                                    	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2047)
                                                                                                    	at android.os.Handler.dispatchMessage(Handler.java:107)
                                                                                                    	at android.os.Looper.loop(Looper.java:224)
                                                                                                    	at android.app.ActivityThread.main(ActivityThread.java:7590)
                                                                                                    	at java.lang.reflect.Method.invoke(Native Method)
                                                                                                    	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
                                                                                                    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
                                                                                                    Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x7f1301f3
                                                                                                    	at android.content.res.Resources.getText(Resources.java:381)
                                                                                                    	at android.content.res.MiuiResources.getText(MiuiResources.java:97)
                                                                                                    	at android.content.res.Resources.getString(Resources.java:474)
                                                                                                    	at com.nextcloud.talk.remotefilebrowser.viewmodels.RemoteFileBrowserItemsViewModel.<init>(RemoteFileBrowserItemsViewModel.kt:99)
                                                                                                    	at com.nextcloud.talk.remotefilebrowser.viewmodels.RemoteFileBrowserItemsViewModel_Factory.newInstance(RemoteFileBrowserItemsViewModel_Factory.java:50)
                                                                                                    	at com.nextcloud.talk.remotefilebrowser.viewmodels.RemoteFileBrowserItemsViewModel_Factory.get(RemoteFileBrowserItemsViewModel_Factory.java:39)
                                                                                                    	at com.nextcloud.talk.remotefilebrowser.viewmodels.RemoteFileBrowserItemsViewModel_Factory.get(RemoteFileBrowserItemsViewModel_Factory.java:12)
                                                                                                    	at com.nextcloud.talk.dagger.modules.ViewModelFactory.create(ViewModelModule.kt:53)
                                                                                                    	at androidx.lifecycle.ViewModelProvider$Factory.create(ViewModelProvider.kt:83)
                                                                                                    	at androidx.lifecycle.ViewModelProvider.get(ViewModelProvider.kt:187)
                                                                                                    	at androidx.lifecycle.ViewModelProvider.get(ViewModelProvider.kt:153)
                                                                                                    	at com.nextcloud.talk.remotefilebrowser.activities.RemoteFileBrowserActivity.initViewModel(RemoteFileBrowserActivity.kt:124)
                                                                                                    	at com.nextcloud.talk.remotefilebrowser.activities.RemoteFileBrowserActivity.onCreate(RemoteFileBrowserActivity.kt:110)
                                                                                                    	at android.app.Activity.performCreate(Activity.java:7893)
                                                                                                    	at android.app.Activity.performCreate(Activity.java:7880)
                                                                                                    	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1307)
                                                                                                    	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3286)
                                                                                                    	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3460) 
                                                                                                    	at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) 
                                                                                                    	at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 
                                                                                                    	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 
                                                                                                    	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2047) 
                                                                                                    	at android.os.Handler.dispatchMessage(Handler.java:107) 
                                                                                                    	at android.os.Looper.loop(Looper.java:224) 
                                                                                                    	at android.app.ActivityThread.main(ActivityThread.java:7590) 
                                                                                                    	at java.lang.reflect.Method.invoke(Native Method) 
                                                                                                    	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539) 
                                                                                                    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950) 
2023-10-26 14:29:28.357 13303-13303 nextcloud.talk          com.nextcloud.talk2                  W  Attempt to remove non-JNI local reference, dumping thread

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-11-02 12:10:21 +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
Andy Scherzinger
357b580a84
Bump room to 2.6.0 and rename paramter to match super class in case of use of names paramters
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-10-19 10:55:20 +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
cbef8f7cdf
fix emoji size in markdown headlines
androidx.emoji2:emoji2:1.4.0 seems to fix the bug that emojis in markdown headlines are rendered too large.

To use v1.4.0 of emoji2 it was necessary to bump compileSdk to v34, which in turn required the minor changes to the overwritten
onDraw of View class.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-10-12 13:31:39 +02:00
parneet-guraya
665711afa5
fix warnings
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
2023-10-11 16:13:28 +05:30
parneet-guraya
bb81da23a1
remove deprecated way of going in/out immersive
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
2023-10-11 16:13:27 +05:30
Marcel Hibbe
2975f6d1bf
theme dialogs (rename and create conversation)
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-10-10 18:25:20 +02:00
Marcel Hibbe
aec9844fca
change headings of conversation dialogs and add hints to TextInputLayout
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-10-10 18:25:20 +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
22cba480f4 Small bug fix + cleaned up SettingsActivity a bit because it was annoying me
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2023-10-05 09:50:09 -05:00
Julius Linus
98c6ac34ae
Quick bug fix
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2023-10-04 13:17:39 +02:00
Julius Linus
325d793540
Bugfix for accept call button
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2023-10-04 11:00:50 +02:00
Andy Scherzinger
6fa85493f8
Merge pull request #3354 from nextcloud/bugfix/3283/quoteColor
Use primary color for quoted, own messages
2023-10-04 10:06:34 +02:00
Andy Scherzinger
f85aea157c
Merge pull request #3349 from nextcloud/LIveData
use MVVM for Geocoding
2023-10-03 16:24:57 +02:00
Andy Scherzinger
dab9402f6f
Use primary color for quoted, own messages
Resolves #3283

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-10-02 20:21:09 +02:00
Julius Linus
6db2f34a25 Show Accept Call Button in Chat
- added call_started_message.xml
- added CallStartedViewHolder.kt
- added CallStartedMessageInterface.kt
- Both join audio and join video buttons
- Gets destroyed if call ends, persists despite state changes

Signed-off-by: Julius Linus <julius.linus@nextcloud.com>
2023-10-02 09:11:28 -05:00
Marcel Hibbe
8f15c3c1e7
avoid usage of instanceState (use viewmodel instead)
use viewModel to keep track of query

change handling for textChanged listener

minor changes

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-10-02 15:07:32 +02:00
Smarshal21
b652e45edb
Fixed deletion of voice, video, image, contact and location messages
Signed-off-by: Smarshal21 <lcb2021048@iiitl.ac.in>
2023-10-02 11:00:51 +02:00
Smarshal21
16f6e3c0cd Fixed the Suggested Changes
Signed-off-by: Smarshal21 <lcb2021048@iiitl.ac.in>
2023-09-29 22:55:54 +05:30
Julius Linus
79af073d5a
handling error 429 in phonebook sync
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2023-09-29 10:30:19 +02:00
Smarshal21
25e2cabbdf Fixed Codacy Static and ktlint errors 2023-09-28 11:21:33 +05:30
Smarshal21
4d4eb2149c Implemented LiveData 2023-09-28 04:01:28 +05:30
Marcel Hibbe
e4571be0ed
fix endless loop when opening urls and files app is not installed.
Without this fix, the ChatActivity would be started again in FileViewerUtils. There was an endless loop between ChatActivity and FileViewerUtils because of the wrong context.
Instead to open the browser, the app did nothing or freezed.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-09-27 11:31:15 +02:00
Smarshal21
d2a1cf9e8c Fixed OnClickListener for the GeocodingAdapter 2023-09-26 19:39:14 +05:30
Smarshal21
a60082b96c
Replaced ListView with RecyclerView 2023-09-26 09:58:35 +02:00
Andy Scherzinger
94bdd22432
user proper id for mention
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-09-21 23:27:27 +02:00
Andy Scherzinger
bb9925b12c
Fix code formatting for kotlin files
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-09-21 23:27:27 +02:00
Andy Scherzinger
079e527f21
Add DB migration
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-09-21 23:27:27 +02:00
tobiasKaminsky
3c20251047
primary key
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2023-09-21 23:27:27 +02:00
tobiasKaminsky
e926feabc7
wip
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2023-09-21 23:27:26 +02:00
tobiasKaminsky
91260ac9cb
Save filter state
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2023-09-21 23:27:23 +02:00
Andy Scherzinger
28ec0bae63
Merge pull request #3329 from nextcloud/feature/noid/openFileShareLinkInFilesApp
Open internal file share links in chat via files client
2023-09-21 23:17:43 +02:00
Julius Linus
7df2b95768 bug fix, allows time picker to use 24hr format instead of default 12hr
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2023-09-21 08:53:14 -05: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
Andy Scherzinger
2e678252bd
Implement first steps for sending file share links to files client
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-09-20 15:51:05 +02:00
Smarshal21
e5debca7c1 Added Instrumentation Test and Unit Tests 2023-09-19 11:48:03 +05:30
Julius Linus
c78cb1bff5 fixed bug with audio messages not sending after pausing in continuous recording mode
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2023-09-17 17:29:45 -06:00
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
a58a5df3ec
detect when user is talking and send data channel message
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
Smarshall
48135f3fab
Merge branch 'master' into Share 2023-09-01 18:55:57 +05:30
Smarshall
ab64a30957 Merge remote-tracking branch 'origin/Share' into Share 2023-09-01 18:46:21 +05:30
Smarshall
1690ad9216 Fixed media/photo share functionality if not downloaded before 2023-09-01 18:45:49 +05:30
Marcel Hibbe
e5794eb456
group and collapse/expand system messages
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-08-31 20:31: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
ad12ae6963
Merge branch 'master' into Share 2023-08-30 15:47:49 +05:30
Smarshall
7de538be95 Merge remote-tracking branch 'origin/Share' into Share 2023-08-30 15:42:57 +05:30
Smarshall
9c8f05fa04 Fixed media/photo share functionality 2023-08-30 15:42:47 +05:30
parneet-guraya
5f8ef074cd
remove player listener
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
2023-08-30 11:49:44 +02:00
Smarshall
762288e3da
Merge branch 'master' into Share 2023-08-29 01:28:46 +05:30
Smarshall
85833c6f41 Implemented media/photo share functionality 2023-08-29 01:22:57 +05:30
Julius Linus
e1f538a9e6 message draft bug fix
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2023-08-28 10:30:24 -05:00
Marcel Hibbe
ba8df45bc7
avoid falsely shown "Account scheduled for deletion" info
...by setting the correct context.

In removeCurrentAccount
the

WorkManager.getInstance(this) (introduced with commit 943286dd)

must be

WorkManager.getInstance(applicationContext)

because otherwise the worker is dropped when the activity is finished and might not do it's work beforehand (race condition?).
This results in users that keep the

scheduledForDeletion = true

so the next time someone tries to login with this user,

userManager.checkIfUserIsScheduledForDeletion(loginData.username!!, baseUrl!!).blockingGet()

in WebViewLoginController#parseAndLoginFromWebView

is true and

ApplicationWideMessageHolder.getInstance().messageType
is set to

ApplicationWideMessageHolder.MessageType.ACCOUNT_SCHEDULED_FOR_DELETION

which results in the "The account is scheduled for deletion, and cannot be changed" message in ServerSelectionController.

This is just a guess and i was not able to reproduce it.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-08-25 11:24:28 +02:00
Marcel Hibbe
2c936aaf5b
Merge pull request #3272 from parneet-guraya/issue/save-media-playback-state
Save media playback state
2023-08-25 10:43:57 +02:00
Julius Linus
e29ad8f734
detekt
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2023-08-25 10:03:30 +02:00
rapterjet2004
cc0815de0f
fixed media recorder bug
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2023-08-25 10:03:29 +02:00
parneet-guraya
3b557be58f
save media playback state
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
2023-08-25 13:16:53 +05:30
parneet-guraya
7e07cbd12a
make player reference null after releasing
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
2023-08-25 13:16:52 +05:30
Marcel Hibbe
bc425bc0d3
apply changes by ktlintFormat
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-08-24 09:45:57 +02:00
Marcel Hibbe
68bf1ba7f2
avoid file storage permission warning.
"Sharing files from storage is not possible without permission" popped up after app startup because notification permission was requested.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-08-24 09:36:19 +02:00
parneet-guraya
7ea075ea13 migrate to media3
Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
2023-08-23 16:22:51 +02:00
Smarshall
5e1cd4f718 Fixed Codacy Static Code Analysis issue 2023-08-23 17:51:12 +05:30
Smarshall
62a79fa144 Fixed Unresolved reference: ColorRole and Exceeded max line length issue 2023-08-23 17:04:28 +05:30
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
9a1d501952 reformat code
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-08-12 17:05:42 +02:00
Andy Scherzinger
1b10c08d7e fix markdown checked item theming
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-08-12 17:05:42 +02:00
Andy Scherzinger
dea6645002 fix mention rendering
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-08-12 17:05:42 +02:00
rapterjet2004
c278183382 detekt
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2023-08-10 14:47:17 +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
Julius Linus
e5afa96e26 In this PR
- Drafts are now saved in between rooms.

Signed-off-by: Julius Linus <julius.linus@nextcloud.com>
2023-08-01 10:34:49 -05:00
Marcel Hibbe
8dd8f745cb show 1h call duration info when screen is reopenend
+ make call duration bold for >= 1hour

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-07-28 18:02:37 +02: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
Marcel Hibbe
75c154acf3
Avoid to fetchSignalingSettings in onMicrophoneClick
this led to duplicated call of fetchSignalingSettings.
because it's already called from checkDevicePermissions().
From my pov it shouldn't be triggered in onMicrophoneClick() again, at least i can not think of any scenario and while testing everything worked as expected.

The duplicated call was there since ever(?), but after implementing #3216 this also caused the call duration timer to be run twice.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-07-28 13:46:28 +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
4b89ceeb54
Implement status infos on chat view
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-07-28 10:04:29 +02:00
Andy Scherzinger
efc8a1a2dd Fix some magic numbers, bump score
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-07-27 12:40:12 +02:00
Marcel Hibbe
a941945400 convert CallActivity to kotlin
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-07-27 12:40:12 +02:00
Marcel Hibbe
b5529f869a convert CallActivity to kotlin
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-07-27 12:40:12 +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
rapterjet2004
6654f6aa74 WIP
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2023-07-19 20:18:27 -05:00
rapterjet2004
21dbd65870 Fixed MicInputCloud + Detekt issues
Signed-off-by: Julius Linus <julius.linus@nextcloud.com>
2023-07-19 13:24:53 -05:00
Julius Linus
f0ba16a275
Issue 2790, allows for continuous voice recording on swipe up, and for previewing messages
- I did a bunch of UI logic in ChatActivity and view_message_input, mainly in setting up the recording interface
- I created a custom component, MicInputCloud, under the hood it's 3 ovals, with a hole cut in the center for the icon. The ovals are at around 50% opacity, and they each have their own rotations and size changes animated. General rotation speed and colors can be overridden by the activity implementing it.
- I also added a floating action button to activity_chat, to show when the voice recording is locked or not.
- I can replay or pause preview voice recordings before sending or deleting
- Preview voice recording is now smoother and click boxes are bigger and well defined
Signed-off-by: Julius Linus <julius.linus@nextcloud.com>
2023-07-19 11:42:41 +02:00
Marcel Hibbe
61ff44a643 add logging and minor refactoring
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-07-18 13:15:01 +02:00
Marcel Hibbe
4e52b7a7bd add checks to reconnect websocket
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-07-18 13:15:01 +02:00
Marcel Hibbe
2f32357b78 check if existing websocket is Connected
+ refactoring

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-07-18 13:15:01 +02:00
Julius Linus
bb45ebd3b8 Issue 3142
- Added duration of the voice message playing
- Fixed the seekbar bug, and made it more smoother

Signed-off-by: Julius Linus <julius.linus@nextcloud.com>
2023-07-14 11:32:15 -05:00
Andy Scherzinger
dcbc1771c6
remove ports from translatable strings
Resolves #3187

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2023-07-14 17:19:51 +02:00
Marcel Hibbe
e6a95d7190
fix typo in sessionId
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-07-13 16:02:55 +02:00