Remove usage of with(notificationDataFactory) for code clarity.
This commit is contained in:
parent
20df9647d3
commit
362334b1cf
1 changed files with 57 additions and 59 deletions
|
|
@ -42,77 +42,75 @@ class NotificationRenderer @Inject constructor(
|
||||||
imageLoader: ImageLoader,
|
imageLoader: ImageLoader,
|
||||||
) {
|
) {
|
||||||
val groupedEvents = eventsToProcess.groupByType()
|
val groupedEvents = eventsToProcess.groupByType()
|
||||||
with(notificationDataFactory) {
|
val roomNotifications = notificationDataFactory.toNotifications(groupedEvents.roomEvents, currentUser, imageLoader)
|
||||||
val roomNotifications = toNotifications(groupedEvents.roomEvents, currentUser, imageLoader)
|
val invitationNotifications = notificationDataFactory.toNotifications(groupedEvents.invitationEvents)
|
||||||
val invitationNotifications = toNotifications(groupedEvents.invitationEvents)
|
val simpleNotifications = notificationDataFactory.toNotifications(groupedEvents.simpleEvents)
|
||||||
val simpleNotifications = toNotifications(groupedEvents.simpleEvents)
|
val fallbackNotifications = notificationDataFactory.toNotifications(groupedEvents.fallbackEvents)
|
||||||
val fallbackNotifications = toNotifications(groupedEvents.fallbackEvents)
|
val summaryNotification = notificationDataFactory.createSummaryNotification(
|
||||||
val summaryNotification = createSummaryNotification(
|
currentUser = currentUser,
|
||||||
currentUser = currentUser,
|
roomNotifications = roomNotifications,
|
||||||
roomNotifications = roomNotifications,
|
invitationNotifications = invitationNotifications,
|
||||||
invitationNotifications = invitationNotifications,
|
simpleNotifications = simpleNotifications,
|
||||||
simpleNotifications = simpleNotifications,
|
fallbackNotifications = fallbackNotifications,
|
||||||
fallbackNotifications = fallbackNotifications,
|
)
|
||||||
|
|
||||||
|
// Remove summary first to avoid briefly displaying it after dismissing the last notification
|
||||||
|
if (summaryNotification == SummaryNotification.Removed) {
|
||||||
|
Timber.tag(loggerTag.value).d("Removing summary notification")
|
||||||
|
notificationDisplayer.cancelNotificationMessage(
|
||||||
|
tag = null,
|
||||||
|
id = NotificationIdProvider.getSummaryNotificationId(currentUser.userId)
|
||||||
)
|
)
|
||||||
|
}
|
||||||
|
|
||||||
// Remove summary first to avoid briefly displaying it after dismissing the last notification
|
roomNotifications.forEach { notificationData ->
|
||||||
if (summaryNotification == SummaryNotification.Removed) {
|
notificationDisplayer.showNotificationMessage(
|
||||||
Timber.tag(loggerTag.value).d("Removing summary notification")
|
tag = notificationData.roomId.value,
|
||||||
notificationDisplayer.cancelNotificationMessage(
|
id = NotificationIdProvider.getRoomMessagesNotificationId(currentUser.userId),
|
||||||
tag = null,
|
notification = notificationData.notification
|
||||||
id = NotificationIdProvider.getSummaryNotificationId(currentUser.userId)
|
)
|
||||||
)
|
}
|
||||||
}
|
|
||||||
|
|
||||||
roomNotifications.forEach { notificationData ->
|
invitationNotifications.forEach { notificationData ->
|
||||||
|
if (useCompleteNotificationFormat) {
|
||||||
|
Timber.tag(loggerTag.value).d("Updating invitation notification ${notificationData.key}")
|
||||||
notificationDisplayer.showNotificationMessage(
|
notificationDisplayer.showNotificationMessage(
|
||||||
tag = notificationData.roomId.value,
|
tag = notificationData.key,
|
||||||
id = NotificationIdProvider.getRoomMessagesNotificationId(currentUser.userId),
|
id = NotificationIdProvider.getRoomInvitationNotificationId(currentUser.userId),
|
||||||
notification = notificationData.notification
|
notification = notificationData.notification
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
invitationNotifications.forEach { notificationData ->
|
simpleNotifications.forEach { notificationData ->
|
||||||
if (useCompleteNotificationFormat) {
|
if (useCompleteNotificationFormat) {
|
||||||
Timber.tag(loggerTag.value).d("Updating invitation notification ${notificationData.key}")
|
Timber.tag(loggerTag.value).d("Updating simple notification ${notificationData.key}")
|
||||||
notificationDisplayer.showNotificationMessage(
|
|
||||||
tag = notificationData.key,
|
|
||||||
id = NotificationIdProvider.getRoomInvitationNotificationId(currentUser.userId),
|
|
||||||
notification = notificationData.notification
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
simpleNotifications.forEach { notificationData ->
|
|
||||||
if (useCompleteNotificationFormat) {
|
|
||||||
Timber.tag(loggerTag.value).d("Updating simple notification ${notificationData.key}")
|
|
||||||
notificationDisplayer.showNotificationMessage(
|
|
||||||
tag = notificationData.key,
|
|
||||||
id = NotificationIdProvider.getRoomEventNotificationId(currentUser.userId),
|
|
||||||
notification = notificationData.notification
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Show only the first fallback notification
|
|
||||||
if (fallbackNotifications.isNotEmpty()) {
|
|
||||||
Timber.tag(loggerTag.value).d("Showing fallback notification")
|
|
||||||
notificationDisplayer.showNotificationMessage(
|
notificationDisplayer.showNotificationMessage(
|
||||||
tag = "FALLBACK",
|
tag = notificationData.key,
|
||||||
id = NotificationIdProvider.getFallbackNotificationId(currentUser.userId),
|
id = NotificationIdProvider.getRoomEventNotificationId(currentUser.userId),
|
||||||
notification = fallbackNotifications.first().notification
|
notification = notificationData.notification
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Update summary last to avoid briefly displaying it before other notifications
|
// Show only the first fallback notification
|
||||||
if (summaryNotification is SummaryNotification.Update) {
|
if (fallbackNotifications.isNotEmpty()) {
|
||||||
Timber.tag(loggerTag.value).d("Updating summary notification")
|
Timber.tag(loggerTag.value).d("Showing fallback notification")
|
||||||
notificationDisplayer.showNotificationMessage(
|
notificationDisplayer.showNotificationMessage(
|
||||||
tag = null,
|
tag = "FALLBACK",
|
||||||
id = NotificationIdProvider.getSummaryNotificationId(currentUser.userId),
|
id = NotificationIdProvider.getFallbackNotificationId(currentUser.userId),
|
||||||
notification = summaryNotification.notification
|
notification = fallbackNotifications.first().notification
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Update summary last to avoid briefly displaying it before other notifications
|
||||||
|
if (summaryNotification is SummaryNotification.Update) {
|
||||||
|
Timber.tag(loggerTag.value).d("Updating summary notification")
|
||||||
|
notificationDisplayer.showNotificationMessage(
|
||||||
|
tag = null,
|
||||||
|
id = NotificationIdProvider.getSummaryNotificationId(currentUser.userId),
|
||||||
|
notification = summaryNotification.notification
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue