mirror of
https://github.com/anyproto/anytype-kotlin.git
synced 2025-06-08 05:47:05 +09:00
DROID-3707 Notifications | Clear push notifications for opened chat (#2475)
This commit is contained in:
parent
1359783d6b
commit
dbf4750f5b
15 changed files with 343 additions and 69 deletions
|
@ -33,6 +33,7 @@ import com.anytypeio.anytype.domain.multiplayer.ActiveSpaceMemberSubscriptionCon
|
|||
import com.anytypeio.anytype.domain.multiplayer.ActiveSpaceMemberSubscriptionContainer.Store
|
||||
import com.anytypeio.anytype.domain.multiplayer.SpaceViewSubscriptionContainer
|
||||
import com.anytypeio.anytype.domain.multiplayer.UserPermissionProvider
|
||||
import com.anytypeio.anytype.domain.notifications.NotificationBuilder
|
||||
import com.anytypeio.anytype.domain.objects.CreateObjectFromUrl
|
||||
import com.anytypeio.anytype.domain.objects.StoreOfObjectTypes
|
||||
import com.anytypeio.anytype.domain.objects.getTypeOfObject
|
||||
|
@ -85,7 +86,8 @@ class ChatViewModel @Inject constructor(
|
|||
private val getLinkPreview: GetLinkPreview,
|
||||
private val createObjectFromUrl: CreateObjectFromUrl,
|
||||
private val notificationPermissionManager: NotificationPermissionManager,
|
||||
private val spacePermissionProvider: UserPermissionProvider
|
||||
private val spacePermissionProvider: UserPermissionProvider,
|
||||
private val notificationBuilder: NotificationBuilder
|
||||
) : BaseViewModel(), ExitToVaultDelegate by exitToVaultDelegate {
|
||||
|
||||
private val visibleRangeUpdates = MutableSharedFlow<Pair<Id, Id>>(
|
||||
|
@ -168,6 +170,13 @@ class ChatViewModel @Inject constructor(
|
|||
}
|
||||
}
|
||||
|
||||
fun onResume() {
|
||||
notificationBuilder.clearNotificationChannel(
|
||||
spaceId = vmParams.space.id,
|
||||
chatId = vmParams.ctx
|
||||
)
|
||||
}
|
||||
|
||||
private suspend fun proceedWithObservingChatMessages(
|
||||
account: Id,
|
||||
chat: Id
|
||||
|
|
|
@ -15,8 +15,7 @@ import com.anytypeio.anytype.domain.misc.UrlBuilder
|
|||
import com.anytypeio.anytype.domain.multiplayer.ActiveSpaceMemberSubscriptionContainer
|
||||
import com.anytypeio.anytype.domain.multiplayer.SpaceViewSubscriptionContainer
|
||||
import com.anytypeio.anytype.domain.multiplayer.UserPermissionProvider
|
||||
import com.anytypeio.anytype.domain.`object`.OpenObject
|
||||
import com.anytypeio.anytype.domain.`object`.SetObjectDetails
|
||||
import com.anytypeio.anytype.domain.notifications.NotificationBuilder
|
||||
import com.anytypeio.anytype.domain.objects.CreateObjectFromUrl
|
||||
import com.anytypeio.anytype.domain.objects.StoreOfObjectTypes
|
||||
import com.anytypeio.anytype.presentation.notifications.NotificationPermissionManager
|
||||
|
@ -43,19 +42,20 @@ class ChatViewModelFactory @Inject constructor(
|
|||
private val getLinkPreview: GetLinkPreview,
|
||||
private val createObjectFromUrl: CreateObjectFromUrl,
|
||||
private val notificationPermissionManager: NotificationPermissionManager,
|
||||
private val spacePermissionProvider: UserPermissionProvider
|
||||
private val spacePermissionProvider: UserPermissionProvider,
|
||||
private val notificationBuilder: NotificationBuilder
|
||||
) : ViewModelProvider.Factory {
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T = ChatViewModel(
|
||||
vmParams = params,
|
||||
chatContainer = chatContainer,
|
||||
addChatMessage = addChatMessage,
|
||||
editChatMessage = editChatMessage,
|
||||
deleteChatMessage = deleteChatMessage,
|
||||
toggleChatMessageReaction = toggleChatMessageReaction,
|
||||
members = members,
|
||||
getAccount = getAccount,
|
||||
deleteChatMessage = deleteChatMessage,
|
||||
urlBuilder = urlBuilder,
|
||||
editChatMessage = editChatMessage,
|
||||
spaceViews = spaceViews,
|
||||
dispatchers = dispatchers,
|
||||
uploadFile = uploadFile,
|
||||
|
@ -65,6 +65,7 @@ class ChatViewModelFactory @Inject constructor(
|
|||
getLinkPreview = getLinkPreview,
|
||||
createObjectFromUrl = createObjectFromUrl,
|
||||
notificationPermissionManager = notificationPermissionManager,
|
||||
spacePermissionProvider = spacePermissionProvider
|
||||
spacePermissionProvider = spacePermissionProvider,
|
||||
notificationBuilder = notificationBuilder
|
||||
) as T
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue