From 8409c518425fcf3f0442c0732577f3520522ee6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A5=D0=B0=D0=BB=D0=B8=D0=BC=D0=BE=D0=B2=20=D0=A0=D1=83?= =?UTF-8?q?=D1=81=D1=82=D0=B0=D0=BC?= Date: Wed, 15 Apr 2026 02:40:52 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D1=83=D1=88=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../8.5/executionHistory/executionHistory.bin | Bin 8881188 -> 8881188 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .../.gradle/8.5/fileHashes/fileHashes.bin | Bin 504941 -> 514991 bytes .../.gradle/8.5/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../8.5/fileHashes/resourceHashesCache.bin | Bin 412811 -> 417537 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes .../buildOutputCleanup/outputFiles.bin | Bin 1207889 -> 1208213 bytes .../kotlin/com/knot/messenger/MainActivity.kt | 21 ++++++- .../signalr/SignalRNotificationObserver.kt | 54 +++++++++++++++++ .../chat_detail/ChatDetailViewModel.kt | 3 + .../chat_list/ChatListViewModel.kt | 18 ++++++ .../notifications/data/ActiveChatTracker.kt | 17 ++++++ .../data/ForkFirebaseMessagingService.kt | 37 ++---------- .../notifications/data/NotificationHelper.kt | 55 ++++++++++++++++++ client-mobile/core/utils/NavigationManager.kt | 19 ++++++ client-mobile/navigation/AppNavigation.kt | 17 +++++- 16 files changed, 207 insertions(+), 34 deletions(-) create mode 100644 client-mobile/chats/data/remote/signalr/SignalRNotificationObserver.kt create mode 100644 client-mobile/core/notifications/data/ActiveChatTracker.kt create mode 100644 client-mobile/core/notifications/data/NotificationHelper.kt create mode 100644 client-mobile/core/utils/NavigationManager.kt diff --git a/client-mobile/.gradle/8.5/executionHistory/executionHistory.bin b/client-mobile/.gradle/8.5/executionHistory/executionHistory.bin index a59bf57e09509e1e0808c6af7e10def84e07edcb..9ea1f9bd7615326d6326e6d6d58784a79912017a 100644 GIT binary patch delta 78205 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 delta 59870 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 WGhv$r+ick8z&2MI&}-hUe*X`Uav6dE diff --git a/client-mobile/.gradle/8.5/executionHistory/executionHistory.lock b/client-mobile/.gradle/8.5/executionHistory/executionHistory.lock index 2cc77aca40b1bd42290566c5d82d3a789b2ebefb..a96186d89a2cf04256a575f84735a6eb77078d83 100644 GIT binary patch literal 17 VcmZSf*f#f{_2 diff --git a/client-mobile/.gradle/8.5/fileHashes/fileHashes.bin b/client-mobile/.gradle/8.5/fileHashes/fileHashes.bin index 65e22f6a808c7768f3a45786d7577ffd047b6f82..4f988c90347df8e01b31a5575f718177ad08138a 100644 GIT binary patch delta 54203 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

<5AzV{H97d09-88uENL{71bk;?*}P{&zxWLJdm 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 UJ~CQaV#i@8(t@!U;IH9-0qz;}lK=n! delta 43374 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 Mcfv?2)k7@*2U(h5XaE2J diff --git a/client-mobile/.gradle/8.5/fileHashes/fileHashes.lock b/client-mobile/.gradle/8.5/fileHashes/fileHashes.lock index 2bbac3b3fbc05106f92be8b8e12435e7595219da..7cff6dbcb68a2710c5258280737db4ee4a32ecc4 100644 GIT binary patch literal 17 WcmZSH&R@;(a=)o00|+qP)c^o1vjj>2 literal 17 WcmZSH&R@;(a=)o00|+pkQUL%fi3BqM diff --git a/client-mobile/.gradle/8.5/fileHashes/resourceHashesCache.bin b/client-mobile/.gradle/8.5/fileHashes/resourceHashesCache.bin index ad99699df626cf0cf34a60678146963c285cc2ef..4fb23a52759b6b23a16f8974129e39c567dd3859 100644 GIT binary patch delta 5219 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 OdG+5{-yGFn=J9`R1Ug>; delta 1377 zcmXX_drZ}J6z81p`CcxMfLz+e(C!6Hbn-MoFbQ-sPkxYwU~@G->cN|Pa=z%`eFQ$%e8ah1%Hes^{LI6L3R&gXp2`JA#A{{uDt z_P0$Cr_C~rg0^5{2x|KRj(BR(Q_Y|ihS&_+gzyGKbOj{KKKcl)R#}FM9uh}!Z~Fhm@8ok7mi0O@X!Rbdoo+F z*^Bpwq8a#N7&aqUMxq^f*-ZQx@y$#8b+`=GkI`89Dy-#)@8LAbAt~4@&SYSc;M`0c z7HVxa+So4#&7PdJ8vBS7)}lY6rBfyDpebtS4yxq*by(*I>p5^cMhaE16Nh-yF6<{& zum^{E^Ilg4-|j=5$cb`v3a&ngCEgrVgGQ*I{{;&5;Zf|zz({rB6lJMIjlxyAMv)3m zlRrnDrY2CMKah#9AH&@~u#3|gu?%>y$;HO*zz*air_p9m3FondJI>=Es*Vt;L|6?NeAZ#f z_TrkKW2o9PA(_`qCO_nZX0i#jA{$J+ zIG7qdly?{fLaf8$^kC~T3Pau!OB+BJ(m)&~=n|SsHN-=Sl<%$zlj$~pw2)c_$D~q& zQ08tlDc>dJRQ7I+P~q>>uxjqX2+q$Wv)-NCdUzw-Ri5n^%;mHXsFN@#!(nOlRyvr^ znF3l)u$)&E5g5353)w-%Z>17$-%7{5)L^0MTc5&h{{n7RO-qtw$U{-I~cuy@HY+Z=zCFE6oxtx_QKK&(xkdL3u$s5uarJqAA6?>r zeo6!0eUCFRI;~G~gaksBL^%|tB@?fdM2FniQ z&Z%-x_tRxL^2ShE3hWUs{e_B)lHuz07@gU*D5-DFv}id^s&#W@FROT6;Jj_FEG4yn z9yajVd9q61yefyK)X&BEFmlK;xh4Uk`H+%1$S-STiQvzUN~cHl(z&^Ow_X~lx;-J6 cSAHjBh`+bXuaNUJ*#%&6Scb>B>K)nhF9mH5bN~PV diff --git a/client-mobile/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/client-mobile/.gradle/buildOutputCleanup/buildOutputCleanup.lock index dc6ebff6da3997a49c75e2ad080b5f1b87c234b4..f419ebb2b6c60be7a5f4f048da29d0ee1f2e31f7 100644 GIT binary patch literal 17 VcmZSf+M}~b{lVOB1~4e{001&C1i=6R literal 17 VcmZSf+M}~b{lVOB1~4eR1OPI(1xf$_ diff --git a/client-mobile/.gradle/buildOutputCleanup/outputFiles.bin b/client-mobile/.gradle/buildOutputCleanup/outputFiles.bin index 9172f5f1e5fbf6f3f5f937ab3873062a76321c95..5ac3a648b28078014c22f338ac90d62eeec68ca3 100644 GIT binary patch delta 1096 zcmYLHdrVVz6!zTPOMBb|S1yFJi+3_PKhV{L21dxLk!H@{xGO8JtSc7_&%v>AFrkG~tc0v}=c2#h8O z8$Xy$T(cZcX*`V;9tdSX3mF+T9hWBjfD?Y|K^JsjxPZ2<6<_#s-B{ViG%dXxr?$~H z2CC4wgMK;*4&u6I+L|Idw{GWd%s!51HMOAq6FQxTa>?CCqq|SHjL?RA9n29%wB*#D zYh1NK%S^?4PG&L#8pyWI#w=WEWKM{10KaT!fD>Qser8;ErP8%5T{%PaGTp9ZAP2(L#=y$9=zS`3Wa)8)q{AM}0_& zx=bE&y^L=UyVy9k{75H7%nj5Xbe6KYpzcGS#d%QifnY4%G?Xe<7GA4QKJ`E&olV>+ z306FnXQ~yTAZU%Sq~?904WECC5de$U(|dq;FT)?bl?x=6M;WAXrwPZMTyhq;acVy| zpDxDEl)h1(^N+@LKYr1}{i=r_g4Q=VRRMIC29yGCFrg6sV&J<^{Iz1=f&M;b6)wk zZcI~#!I|Uy&t~CZ_*Q=H360ISIOym1(b#iMs1oAc#a46`puQqgilAkXih{~hHrpk~ zuxy0tkh;+hU1~v5l1Ui}7d8)5xw6`;Wh)i6EXuG9D}4?tM*HFea%h?_JOi8X8@I5; zh-po|N4FkDjhBRj9fBhb>_O{Qv*KX!fQy|}>!bz0AcrW285jJCtrJ-Dj;zyv;YFO@ delta 856 zcmYLGTSydP6!y&Q@6OE5P3@xHbgcBPw0vkQ=pINBt3_r}Y!4Ny5n5JirCq2|qncLq zC#XyfM5|>tYfo6D_)tV-ZY8UfWe|~F7m|V!YIZj0;rwv;&-rer;Z1JnRj$9}BAn|i zy;w1^lezgzfeNaO39~ze-fIux1O{uNBOc2QXrB&+^lXRYw%+Xn?DjD~>fksAovfCM z-!`#R2rQ$8r-Tel-o_>;!a>X~VYNwEbc#)sz)8=%cI?(e^(=hHQaGK9yPd>2__Ub{)c+Lsd;+%Du>~#{K-DhaqB)|bSBO8ux@&v3PpJSiCpNQ zu3{mTx^nnIRLjJb;4NseI(nr92GRIzA7e0U6%RmNGl9eJ*My(*Osr3@g^vWkyb~VH z_>c3Gsvf4QUVUNE{v5&FP7~$%tkRS;1(Q7S1JJ`NsfHRThL&^LL)||I+`bA z`+P^G3|c^o@YH=suE4BxA_JPs8_jn$KLj)~pW*Z_mjk<8V$y6ljD7pXp{dmW9p>WK z^J1$V0s+k}TE4KSkxw%%#aJ-dChqEhEjS}zYGyFJK^n2)(?TgR1ug`%awW>Rg7()r zZqbnh@}TiUf?>(_x@Xa}qs(UNc1ebrPs~9yC^Mrf>K6H1))(~;*v!@?J&2AQ4gK6W z?XQ7h?D?STriwO8JM6&IhLk7a*d^(aiUU5$!$NI9tC3@pvqHAZfc|R!I)m;`TP4t? z$GAcC1MfF)V5W#AH-6QfS j!Fwm<jMj&p>^)}TJ@lg(1hQgPUqP}cny_@Gj* diff --git a/client-mobile/app/src/main/kotlin/com/knot/messenger/MainActivity.kt b/client-mobile/app/src/main/kotlin/com/knot/messenger/MainActivity.kt index 7695c05..ed22760 100644 --- a/client-mobile/app/src/main/kotlin/com/knot/messenger/MainActivity.kt +++ b/client-mobile/app/src/main/kotlin/com/knot/messenger/MainActivity.kt @@ -13,9 +13,21 @@ import core.presentation.theme.ForkMessengerTheme @AndroidEntryPoint class MainActivity : ComponentActivity() { + @javax.inject.Inject + lateinit var navigationManager: core.utils.NavigationManager + + @javax.inject.Inject + lateinit var signalrNotificationObserver: chats.data.remote.signalr.SignalRNotificationObserver + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) + signalrNotificationObserver.start() + + intent.getStringExtra("chatId")?.let { chatId -> + navigationManager.navigateToChat(chatId) + } + // Request notifications permission for Android 13+ if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.TIRAMISU) { androidx.core.app.ActivityCompat.requestPermissions( @@ -31,9 +43,16 @@ class MainActivity : ComponentActivity() { modifier = Modifier.fillMaxSize(), color = MaterialTheme.colorScheme.background ) { - AppNavigation() + AppNavigation(navigationManager = navigationManager) } } } } + + override fun onNewIntent(intent: android.content.Intent?) { + super.onNewIntent(intent) + intent?.getStringExtra("chatId")?.let { chatId -> + navigationManager.navigateToChat(chatId) + } + } } diff --git a/client-mobile/chats/data/remote/signalr/SignalRNotificationObserver.kt b/client-mobile/chats/data/remote/signalr/SignalRNotificationObserver.kt new file mode 100644 index 0000000..cdc9197 --- /dev/null +++ b/client-mobile/chats/data/remote/signalr/SignalRNotificationObserver.kt @@ -0,0 +1,54 @@ +package chats.data.remote.signalr + +import android.content.Context +import core.notifications.data.ActiveChatTracker +import core.notifications.data.NotificationHelper +import core.security.TokenManager +import dagger.hilt.android.qualifiers.ApplicationContext +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.SupervisorJob +import kotlinx.coroutines.flow.filterIsInstance +import kotlinx.coroutines.flow.launchIn +import kotlinx.coroutines.flow.onEach +import javax.inject.Inject +import javax.inject.Singleton + +@Singleton +class SignalRNotificationObserver @Inject constructor( + private val signalrClient: ChatHubClient, + private val activeChatTracker: ActiveChatTracker, + private val tokenManager: TokenManager, + @ApplicationContext private val context: Context +) { + private val scope = CoroutineScope(SupervisorJob() + Dispatchers.Main) + private var isStarted = false + + fun start() { + if (isStarted) return + isStarted = true + + signalrClient.events + .filterIsInstance() + .onEach { event -> + val currentUserId = tokenManager.getUserId() + val message = event.message + + // Don't show if it's our message + if (message.senderId == currentUserId) return@onEach + + // Don't show if this chat is currently open + if (activeChatTracker.currentChatId.value == message.chatId) return@onEach + + NotificationHelper.showNotification( + context = context, + title = message.sender?.displayName ?: "Новое сообщение", + body = message.content ?: "Вам прислали вложение", + type = "chat", + chatId = message.chatId, + notificationId = message.id.hashCode() + ) + } + .launchIn(scope) + } +} diff --git a/client-mobile/chats/presentation/chat_detail/ChatDetailViewModel.kt b/client-mobile/chats/presentation/chat_detail/ChatDetailViewModel.kt index 25b050c..1fc304d 100644 --- a/client-mobile/chats/presentation/chat_detail/ChatDetailViewModel.kt +++ b/client-mobile/chats/presentation/chat_detail/ChatDetailViewModel.kt @@ -50,6 +50,7 @@ class ChatDetailViewModel @Inject constructor( private val signalrClient: ChatHubClient, private val serverConfig: ServerConfig, private val tokenManager: TokenManager, + private val activeChatTracker: core.notifications.data.ActiveChatTracker, @dagger.hilt.android.qualifiers.ApplicationContext private val context: android.content.Context ) : ViewModel() { @@ -88,6 +89,7 @@ class ChatDetailViewModel @Inject constructor( fun setChatId(chatId: String) { if (currentChatId == chatId) return currentChatId = chatId + activeChatTracker.setChatId(chatId) _state.update { it.copy( messages = emptyList(), @@ -248,6 +250,7 @@ class ChatDetailViewModel @Inject constructor( signalrEventsJob?.cancel() signalrEventsJob = null currentChatId = null + activeChatTracker.setChatId(null) _state.update { it.copy(messages = emptyList(), isLoading = false) } } diff --git a/client-mobile/chats/presentation/chat_list/ChatListViewModel.kt b/client-mobile/chats/presentation/chat_list/ChatListViewModel.kt index 5d318c2..853a791 100644 --- a/client-mobile/chats/presentation/chat_list/ChatListViewModel.kt +++ b/client-mobile/chats/presentation/chat_list/ChatListViewModel.kt @@ -24,6 +24,7 @@ data class ChatListState( @HiltViewModel class ChatListViewModel @Inject constructor( private val repository: ChatRepository, + private val authRepository: auth.domain.repository.AuthRepository, private val signalrClient: ChatHubClient, private val serverConfig: ServerConfig, private val tokenManager: TokenManager @@ -33,6 +34,8 @@ class ChatListViewModel @Inject constructor( val state: StateFlow = _state.asStateFlow() init { + updatePushToken() + val isStoriesEnabled = try { serverConfig.getServerConfig().features.stories } catch (e: Exception) { @@ -50,6 +53,21 @@ class ChatListViewModel @Inject constructor( observeSignalREvents() } + private fun updatePushToken() { + com.google.firebase.messaging.FirebaseMessaging.getInstance().token.addOnCompleteListener { task -> + if (task.isSuccessful) { + val token = task.result + viewModelScope.launch { + try { + authRepository.updatePushToken(token) + } catch (e: Exception) { + android.util.Log.e("ChatListVM", "Failed to update push token: ${e.message}") + } + } + } + } + } + private fun getCurrentUserId(): String = tokenManager.getUserId() ?: "" diff --git a/client-mobile/core/notifications/data/ActiveChatTracker.kt b/client-mobile/core/notifications/data/ActiveChatTracker.kt new file mode 100644 index 0000000..4ae5ef9 --- /dev/null +++ b/client-mobile/core/notifications/data/ActiveChatTracker.kt @@ -0,0 +1,17 @@ +package core.notifications.data + +import javax.inject.Inject +import javax.inject.Singleton +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.asStateFlow + +@Singleton +class ActiveChatTracker @Inject constructor() { + private val _currentChatId = MutableStateFlow(null) + val currentChatId: StateFlow = _currentChatId.asStateFlow() + + fun setChatId(chatId: String?) { + _currentChatId.value = chatId + } +} diff --git a/client-mobile/core/notifications/data/ForkFirebaseMessagingService.kt b/client-mobile/core/notifications/data/ForkFirebaseMessagingService.kt index 62c4c6d..142cb73 100644 --- a/client-mobile/core/notifications/data/ForkFirebaseMessagingService.kt +++ b/client-mobile/core/notifications/data/ForkFirebaseMessagingService.kt @@ -40,46 +40,19 @@ class ForkFirebaseMessagingService : FirebaseMessagingService() { override fun onMessageReceived(message: RemoteMessage) { super.onMessageReceived(message) + android.util.Log.d("FCM", "Message received: ${message.data}") val title = message.notification?.title ?: message.data["title"] val body = message.notification?.body ?: message.data["body"] val type = message.data["type"] // "chat", "call", "story" + val chatId = message.data["chatId"] + val messageId = message.data["id"] ?: message.messageId - showNotification(title, body, type) + NotificationHelper.showNotification(this, title, body, type, chatId, messageId?.hashCode()) } private fun showNotification(title: String?, body: String?, type: String?) { - val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager - val channelId = "fork_notifications_channel" - - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - val channel = NotificationChannel( - channelId, - "Fork Messenger Notifications", - NotificationManager.IMPORTANCE_HIGH - ) - notificationManager.createNotificationChannel(channel) - } - - // Create intent to open MainActivity - val intent = Intent(this, com.knot.messenger.MainActivity::class.java).apply { - flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK - putExtra("type", type) - } - val pendingIntent = PendingIntent.getActivity( - this, 0, intent, - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) PendingIntent.FLAG_IMMUTABLE else 0 - ) - - val notificationBuilder = NotificationCompat.Builder(this, channelId) - .setSmallIcon(android.R.drawable.ic_dialog_info) - .setContentTitle(title) - .setContentText(body) - .setAutoCancel(true) - .setPriority(NotificationCompat.PRIORITY_HIGH) - .setContentIntent(pendingIntent) - - notificationManager.notify(System.currentTimeMillis().toInt(), notificationBuilder.build()) + NotificationHelper.showNotification(this, title, body, type) } override fun onDestroy() { diff --git a/client-mobile/core/notifications/data/NotificationHelper.kt b/client-mobile/core/notifications/data/NotificationHelper.kt new file mode 100644 index 0000000..3b58b26 --- /dev/null +++ b/client-mobile/core/notifications/data/NotificationHelper.kt @@ -0,0 +1,55 @@ +package core.notifications.data + +import android.app.NotificationChannel +import android.app.NotificationManager +import android.app.PendingIntent +import android.content.Context +import android.content.Intent +import android.os.Build +import androidx.core.app.NotificationCompat + +object NotificationHelper { + private const val CHANNEL_ID = "fork_notifications_channel" + + fun showNotification(context: Context, title: String?, body: String?, type: String?, chatId: String? = null, notificationId: Int? = null) { + val notificationManager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager + + val finalNotificationId = notificationId ?: (System.currentTimeMillis() % Int.MAX_VALUE).toInt() + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + val channel = NotificationChannel( + CHANNEL_ID, + "Fork Messenger Notifications", + NotificationManager.IMPORTANCE_HIGH + ).apply { + description = "Chat and system notifications" + } + notificationManager.createNotificationChannel(channel) + } + + // Find our launcher activity via package manager to avoid static dependency on MainActivity + val intent = context.packageManager.getLaunchIntentForPackage(context.packageName)?.apply { + action = Intent.ACTION_MAIN + addCategory(Intent.CATEGORY_LAUNCHER) + addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_SINGLE_TOP) + putExtra("type", type) + putExtra("chatId", chatId) + } ?: return + + val pendingIntent = PendingIntent.getActivity( + context, System.currentTimeMillis().toInt(), intent, + PendingIntent.FLAG_UPDATE_CURRENT or (if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) PendingIntent.FLAG_IMMUTABLE else 0) + ) + + val notificationBuilder = NotificationCompat.Builder(context, CHANNEL_ID) + .setSmallIcon(android.R.drawable.ic_dialog_info) + .setContentTitle(title) + .setContentText(body) + .setAutoCancel(true) + .setPriority(NotificationCompat.PRIORITY_HIGH) + .setDefaults(NotificationCompat.DEFAULT_ALL) + .setContentIntent(pendingIntent) + + notificationManager.notify(finalNotificationId, notificationBuilder.build()) + } +} diff --git a/client-mobile/core/utils/NavigationManager.kt b/client-mobile/core/utils/NavigationManager.kt new file mode 100644 index 0000000..c2ce6d7 --- /dev/null +++ b/client-mobile/core/utils/NavigationManager.kt @@ -0,0 +1,19 @@ +package core.utils + +import javax.inject.Inject +import javax.inject.Singleton +import kotlinx.coroutines.flow.MutableSharedFlow + +sealed class NavEvent { + data class OpenChat(val chatId: String) : NavEvent() +} + +@Singleton +class NavigationManager @Inject constructor() { + private val _events = MutableSharedFlow(extraBufferCapacity = 1) + val events = _events + + fun navigateToChat(chatId: String) { + _events.tryEmit(NavEvent.OpenChat(chatId)) + } +} diff --git a/client-mobile/navigation/AppNavigation.kt b/client-mobile/navigation/AppNavigation.kt index df77805..1600736 100644 --- a/client-mobile/navigation/AppNavigation.kt +++ b/client-mobile/navigation/AppNavigation.kt @@ -51,12 +51,27 @@ sealed class Screen(val route: String) { @Composable fun AppNavigation( - navController: NavHostController = rememberNavController() + navController: NavHostController = rememberNavController(), + navigationManager: core.utils.NavigationManager? = null ) { val authViewModel: AuthViewModel = hiltViewModel() val authState by authViewModel.state.collectAsState() val startDestination = if (authState.isAuthenticated) Screen.ChatList.route else Screen.Login.route + androidx.compose.runtime.LaunchedEffect(navigationManager) { + navigationManager?.events?.collect { event -> + when (event) { + is core.utils.NavEvent.OpenChat -> { + if (authState.isAuthenticated) { + navController.navigate(Screen.ChatDetail.createRoute(event.chatId, "Chat")) { + launchSingleTop = true + } + } + } + } + } + } + val navBackStackEntry by navController.currentBackStackEntryAsState() val currentRoute = navBackStackEntry?.destination?.route