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