Commit Graph

4168 Commits

Author SHA1 Message Date
sowjanyakch
0e118dbfd1
refactor code
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2025-04-04 14:47:06 +02:00
sowjanyakch
2b939f9a9a
edit message on clicking checkboxes
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2025-04-04 14:47:06 +02:00
sowjanyakch
7fe6901fa2
use interactive checkbox
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2025-04-04 14:47:06 +02:00
Marcel Hibbe
8646dd3450
remove permission checks for new photo picker
The new photo picker does not need files permission. For other features, the permissions are already checked elsewhere

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-03-28 14:07:12 +01:00
Marcel Hibbe
8009cc1013
Add new photo picker
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-03-27 23:59:08 +01:00
Marcel Hibbe
fbad489ecb
fix no sound after mic permission granted
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-03-21 11:39:27 +01:00
Andy Scherzinger
db944ec1bd
style(lint): Migrate to KTX extension function
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2025-03-19 18:07:35 +01:00
github-actions
743d4a0a4e
hide already selected participants
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
Signed-off-by: github-actions <github-actions@github.com>
2025-03-14 15:39:39 +01:00
Marcel Hibbe
23b03eead8
rename ContactsActivityCompose to ContactsActivity
the old ContactsActivity was deleted, so ContactsActivityCompose becomes ContactsActivity now

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-03-14 15:37:24 +01:00
Marcel Hibbe
1c7d84f90b
remove old ContactsActivity and use ContactsActivityCompose
for ConversationInfoActivity, the old ContactsActivity was still used to add participants. This is now replaced by the ContactsActivityCompose, so ContactsActivity is now deleted

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-03-14 15:37:24 +01:00
Marcel Hibbe
af0294bb00
show maintenance warning in conv list on top
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-03-13 11:05:21 +01:00
Marcel Hibbe
c90f138f42
rename SetStatusBarColor to SetupSystemBars
(as it also colors the navigation bar buttons..)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-03-13 09:52:44 +01:00
Marcel Hibbe
7b5e404814
use common SetStatusBarColor component also for ConversationCreationActivity
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-03-13 09:52:43 +01:00
Marcel Hibbe
773a6295ba
color navigation buttons
(= set more contrast by fixing dark mode logic)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-03-13 09:52:43 +01:00
Marcel Hibbe
aeb50c6b68
fix to color status-bar with theming
SetStatusBarColor() was called outside of the MaterialTheme() block

Also, "surface" has to be used to get the 'light primary color'

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-03-13 09:52:42 +01:00
Marcel Hibbe
869c8154d7
Merge pull request #4761 from nextcloud/edit_bot_messages
Edit bot messages in 1:1 conversations
2025-03-06 12:45:47 +00:00
sowjanyakch
2604c56263
edit bot messages
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2025-03-06 13:30:18 +01:00
sowjanyakch
546e6abec4
fix detekt
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2025-03-06 13:22:06 +01:00
sowjanyakch
2ef4ff6e40
ktlintFormat
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2025-03-06 13:22:06 +01:00
sowjanyakch
c0376c8eed
uploading file works for first time users
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2025-03-06 13:22:05 +01:00
sowjanyakch
2081a501a4
use proper url
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2025-03-06 13:22:05 +01:00
sowjanyakch
ef4d83a691
create a new folder
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2025-03-06 13:22:05 +01:00
sowjanyakch
bb581d0862
didn't set read timeout
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2025-03-06 13:22:05 +01:00
sowjanyakch
40cac86350
create folder for new users
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2025-03-06 13:22:04 +01:00
Marcel Hibbe
2b0a38240c
move AppBar component to component package on root level
+ add string
+ remove unused resources

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-03-06 09:12:06 +01:00
Marcel Hibbe
c2177f689b
move SetStatusBarColor component to component package on root level
however, the color still needs to be fixed

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-03-06 09:12:06 +01:00
Marcel Hibbe
3723599c68
move filebrowser package out of components package
... as "components" package should be used for jetpack compose components that can be shared for multiple screens

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-03-06 09:12:06 +01:00
Marcel Hibbe
6ed17603d6
migrate dropdown menu
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-03-06 09:12:05 +01:00
Marcel Hibbe
84ce5df2d7
migrate diagnosis screen to compose
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-03-06 09:12:05 +01:00
rapterjet2004
d26697b932
Abstracting away media player functionality to MediaPlayerManager
- Most code removed from ChatActivity
- Most work in MediaPlayerManager
- Added BackgroundVoiceMessageCard

Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
2025-03-04 16:02:12 -06:00
Marcel Hibbe
17f43e8b42
avoid Npe for adapter.
A NPE was reported for ConversationsListActivity.kt:537

Adapter is accessed with !! while it is not safe to access in term of lifecycle.
So there could have been a race condition.
The overall problem is not solved and may even have to wait for migration to Compose.
This is just a quickfix for v21.0.0

Reported crash was :

Exception java.lang.NullPointerException:
  at com.nextcloud.talk.conversationlist.ConversationsListActivity.filterConversation (ConversationsListActivity.kt:537)
  at com.nextcloud.talk.conversationlist.ConversationsListActivity.setConversationList (ConversationsListActivity.kt:472)
  at com.nextcloud.talk.conversationlist.ConversationsListActivity.access$setConversationList (ConversationsListActivity.kt:158)
  at com.nextcloud.talk.conversationlist.ConversationsListActivity$initObservers$5$1.invokeSuspend (ConversationsListActivity.kt:398)
  at com.nextcloud.talk.conversationlist.ConversationsListActivity$initObservers$5$1.invoke (Unknown Source:8)
  at com.nextcloud.talk.conversationlist.ConversationsListActivity$initObservers$5$1.invoke (Unknown Source:4)
  at kotlinx.coroutines.flow.FlowKt__TransformKt$onEach$$inlined$unsafeTransform$1$2.emit (Emitters.kt:219)
  at kotlinx.coroutines.flow.FlowKt__ErrorsKt$catchImpl$2.emit (Errors.kt:154)
  at kotlinx.coroutines.flow.FlowKt__TransformKt$onEach$$inlined$unsafeTransform$1$2.emit (Emitters.kt:220)
  at kotlinx.coroutines.flow.SharedFlowImpl.collect$suspendImpl (SharedFlow.kt:392)
  at kotlinx.coroutines.flow.SharedFlowImpl.collect (Unknown Source)
  at kotlinx.coroutines.flow.FlowKt__TransformKt$onEach$$inlined$unsafeTransform$1.collect (SafeCollector.common.kt:112)
  at kotlinx.coroutines.flow.FlowKt__ErrorsKt.catchImpl (Errors.kt:152)
  at kotlinx.coroutines.flow.FlowKt.catchImpl (Unknown Source:1)
  at kotlinx.coroutines.flow.FlowKt__ErrorsKt$catch$$inlined$unsafeFlow$1.collect (SafeCollector.common.kt:112)
  at kotlinx.coroutines.flow.FlowKt__TransformKt$onEach$$inlined$unsafeTransform$1.collect (SafeCollector.common.kt:112)
  at kotlinx.coroutines.flow.FlowKt__CollectKt.collect (Collect.kt:26)
  at kotlinx.coroutines.flow.FlowKt.collect (Unknown Source:1)
  at com.nextcloud.talk.conversationlist.ConversationsListActivity$initObservers$5.invokeSuspend (ConversationsListActivity.kt:399)
  at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith (ContinuationImpl.kt:33)
  at kotlinx.coroutines.internal.DispatchedContinuationKt.resumeCancellableWith (DispatchedContinuation.kt:363)
  at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable (Cancellable.kt:26)
  at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable$default (Cancellable.kt:21)
  at kotlinx.coroutines.CoroutineStart.invoke (CoroutineStart.kt:88)
  at kotlinx.coroutines.AbstractCoroutine.start (AbstractCoroutine.kt:123)
  at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch (Builders.common.kt:52)
  at kotlinx.coroutines.BuildersKt.launch (Unknown Source:1)
  at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch$default (Builders.common.kt:43)
  at kotlinx.coroutines.BuildersKt.launch$default (Unknown Source:1)
  at com.nextcloud.talk.conversationlist.ConversationsListActivity.initObservers (ConversationsListActivity.kt:395)
  at com.nextcloud.talk.conversationlist.ConversationsListActivity.onCreate (ConversationsListActivity.kt:261)
  at android.app.Activity.performCreate (Activity.java:9149)
  at android.app.Activity.performCreate (Activity.java:9127)
  at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1526)
  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:4152)
  at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:4361)
  at android.app.ActivityThread.handleRelaunchActivityInner (ActivityThread.java:6446)
  at android.app.ActivityThread.handleRelaunchActivity (ActivityThread.java:6329)
  at android.app.servertransaction.ActivityRelaunchItem.execute (ActivityRelaunchItem.java:82)
  at android.app.servertransaction.ActivityTransactionItem.execute (ActivityTransactionItem.java:60)
  at android.app.servertransaction.TransactionExecutor.executeNonLifecycleItem (TransactionExecutor.java:174)
  at android.app.servertransaction.TransactionExecutor.executeTransactionItems (TransactionExecutor.java:109)
  at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:81)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2747)
  at android.os.Handler.dispatchMessage (Handler.java:112)
  at android.os.Looper.loopOnce (Looper.java:268)
  at android.os.Looper.loop (Looper.java:384)
  at android.app.ActivityThread.main (ActivityThread.java:8921)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:580)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:907)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-02-21 12:35:20 +01:00
Marcel Hibbe
7615b92f14
extract Composables to files and simplify passed parameters
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-02-20 15:31:35 +01:00
Sowjanya Kota
e648b8846a
Merge pull request #4740 from nextcloud/bugfix/noid/improveContactsActivityDesign
Bugfix/noid/improve contacts activity design
2025-02-18 17:39:20 +01:00
Sowjanya Kota
8d7ce9fc5e
Merge pull request #4738 from nextcloud/bugfix/4701/avoidUninitializedInternalConvId
init other data earlier than ConversationModel
2025-02-18 15:50:00 +01:00
Marcel Hibbe
c5517c8426
fix background color for conversation creation
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-02-18 14:55:10 +01:00
Marcel Hibbe
903bed8fb4
improve colors for searchbar
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-02-18 14:55:10 +01:00
Marcel Hibbe
83c0d0b150
fix colors for header
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-02-18 14:55:10 +01:00
Marcel Hibbe
f76634511c
fix background color for contacts activity
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-02-18 14:55:09 +01:00
Marcel Hibbe
754e8a86fd
check if scope is initialized before canceling
without this fix, the scope may not have been initialized which threw the following exception:

Exception java.lang.RuntimeException:
  at android.app.ActivityThread.callActivityOnStop (ActivityThread.java:5658)
  at android.app.ActivityThread.performStopActivityInner (ActivityThread.java:5630)
  at android.app.ActivityThread.handleStopActivity (ActivityThread.java:5695)
  at android.app.servertransaction.StopActivityItem.execute (StopActivityItem.java:43)
  at android.app.servertransaction.ActivityTransactionItem.execute (ActivityTransactionItem.java:60)
  at android.app.servertransaction.TransactionExecutor.executeLifecycleItem (TransactionExecutor.java:282)
  at android.app.servertransaction.TransactionExecutor.executeTransactionItems (TransactionExecutor.java:150)
  at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:93)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2595)
  at android.os.Handler.dispatchMessage (Handler.java:107)
  at android.os.Looper.loopOnce (Looper.java:232)
  at android.os.Looper.loop (Looper.java:317)
  at android.app.ActivityThread.main (ActivityThread.java:8592)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:580)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:878)
Caused by kotlin.UninitializedPropertyAccessException: lateinit property scope has not been initialized
  at com.nextcloud.talk.chat.data.network.OfflineFirstChatRepository.handleOnStop (OfflineFirstChatRepository.kt:807)
  at com.nextcloud.talk.chat.viewmodels.ChatViewModel.onStop (ChatViewModel.kt:103)
  at androidx.lifecycle.DefaultLifecycleObserverAdapter.onStateChanged (DefaultLifecycleObserverAdapter.kt:28)
  at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent (LifecycleRegistry.jvm.kt:320)
  at androidx.lifecycle.LifecycleRegistry.backwardPass (LifecycleRegistry.jvm.kt:272)
  at androidx.lifecycle.LifecycleRegistry.sync (LifecycleRegistry.jvm.kt:289)
  at androidx.lifecycle.LifecycleRegistry.moveToState (LifecycleRegistry.jvm.kt:142)
  at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent (LifecycleRegistry.jvm.kt:124)
  at androidx.lifecycle.ReportFragment$Companion.dispatch$lifecycle_runtime_release (ReportFragment.android.kt:190)
  at androidx.lifecycle.ReportFragment$LifecycleCallbacks.onActivityPreStopped (ReportFragment.android.kt:135)
  at android.app.Activity.dispatchActivityPreStopped (Activity.java:1633)
  at android.app.Activity.performStop (Activity.java:9197)
  at android.app.ActivityThread.callActivityOnStop (ActivityThread.java:5650)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-02-18 11:36:39 +01:00
Marcel Hibbe
1bcdeb2d46
init other data earlier than ConversationModel
because setData was called too late (after sendTempChatMessages was called from messageInputFragment, internalConversationId was not initialized in repository).
With this change, internalConversationId, credentials and urlForChatting are initialized earlier which should avoid the issue.
However conversationModel is still initialized quite late and should be accessed with caution. This could may be improved by better architecture..

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-02-18 10:48:17 +01:00
sowjanyakch
ef957508a3
make link clickable
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-02-18 09:55:46 +01:00
Marcel Hibbe
d387b2f5a7
Merge pull request #4734 from nextcloud/bugfix/4673/fixDuplicatedMessages
Avoid duplicated messages when activity is in background.
2025-02-17 16:58:31 +00:00
sowjanyakch
80e98a0d8b
ktlintFormat
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2025-02-17 16:41:46 +01:00
sowjanyakch
ea608781c4
remove unused constant
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2025-02-17 16:40:23 +01:00
sowjanyakch
edcadbcd37
fix detekt
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2025-02-17 16:36:40 +01:00
Marcel Hibbe
30caa435ae
Avoid duplicated messages when activity is in background.
onDestroy is not called when navigating to the next activity or bringing the app to background. That's why the adapter was not set to null and all messages were added another time the next time the activity comes to foreground. With this fix, the adapter is set to null in onStop.

All in all, the adapter handling may not be the best, but will be replaced by Compose anyway..

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2025-02-17 14:59:15 +01:00
sowjanyakch
f418955e1d
label styling
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2025-02-17 13:09:29 +01:00
sowjanyakch
a133804f65
format code
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2025-02-17 13:09:29 +01:00
sowjanyakch
1ad186b94b
display label in the placeholder
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2025-02-17 13:09:28 +01:00
sowjanyakch
00b1b1fe51
ktlintFormat
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
2025-02-17 12:25:43 +01:00