WIP notification

This commit is contained in:
Ryan ZHAO 2021-01-12 09:58:58 +11:00
parent d5c84b3c60
commit cb5ee74a43
3 changed files with 22 additions and 5 deletions

View File

@ -1,2 +0,0 @@
package org.session.libsession.messaging.sending_receiving.notifications

View File

@ -0,0 +1,16 @@
package org.session.libsession.messaging.sending_receiving.notifications
import android.content.Context
import org.session.libsession.messaging.threads.recipients.Recipient
interface NotificationProtocol {
fun setVisibleThread(threadId: Long)
fun setLastDesktopActivityTimestamp(timestamp: Long)
fun notifyMessageDeliveryFailed(context: Context?, recipient: Recipient?, threadId: Long)
fun cancelDelayedNotifications()
fun updateNotification(context: Context)
fun updateNotification(context: Context, threadId: Long)
fun updateNotification(context: Context, threadId: Long, signal: Boolean)
fun updateNotification(context: Context, signal: Boolean, reminderCount: Int)
fun clearReminder(context: Context)
}

View File

@ -1,6 +1,7 @@
package org.session.libsession.utilities
import android.content.Context
import org.session.libsession.messaging.sending_receiving.notifications.NotificationProtocol
import org.session.libsession.messaging.threads.Address
import org.session.libsession.messaging.threads.recipients.Recipient
@ -8,7 +9,8 @@ class SSKEnvironment(
val typingIndicators: TypingIndicatorsProtocol,
val blockManager: BlockingManagerProtocol,
val readReceiptManager: ReadReceiptManagerProtocol,
val profileManager: ProfileManagerProtocol
val profileManager: ProfileManagerProtocol,
val notificationManager: NotificationProtocol
) {
interface TypingIndicatorsProtocol {
fun didReceiveTypingStartedMessage(context: Context, threadId: Long, author: Address, device: Int)
@ -38,9 +40,10 @@ class SSKEnvironment(
fun configure(typingIndicators: TypingIndicatorsProtocol,
blockManager: BlockingManagerProtocol,
readReceiptManager: ReadReceiptManagerProtocol,
profileManager: ProfileManagerProtocol) {
profileManager: ProfileManagerProtocol,
notificationManager: NotificationProtocol) {
if (Companion::shared.isInitialized) { return }
shared = SSKEnvironment(typingIndicators, blockManager, readReceiptManager, profileManager)
shared = SSKEnvironment(typingIndicators, blockManager, readReceiptManager, profileManager, notificationManager)
}
}
}