/* * Copyright (C) 2015 Actor LLC. <https://actor.im> */ package im.actor.core.providers; import com.google.j2objc.annotations.ObjectiveCName; import java.util.List; import im.actor.core.Messenger; import im.actor.core.entity.Notification; /** * Provider for notifications support */ public interface NotificationProvider { /** * Called when message arrive when user is in app (used for play in app sound). * * @param messenger Messenger object */ @ObjectiveCName("onMessageArriveInAppWithMessenger:") void onMessageArriveInApp(Messenger messenger); /** * On background notification * * @param messenger Messenger object * @param topNotifications top 10 notifications * @param messagesCount total messages count * @param conversationsCount total conversations count */ @ObjectiveCName("onNotificationWithMessenger:withTopNotifications:withMessagesCount:withConversationsCount:") void onNotification(Messenger messenger, List<Notification> topNotifications, int messagesCount, int conversationsCount); /** * On Notification panel update * * @param messenger Messenger object * @param topNotifications top 10 notifications * @param messagesCount total messages count * @param conversationsCount total conversations count */ @ObjectiveCName("onUpdateNotificationWithMessenger:withTopNotifications:withMessagesCount:withConversationsCount:") void onUpdateNotification(Messenger messenger, List<Notification> topNotifications, int messagesCount, int conversationsCount); /** * Hide all notifications */ @ObjectiveCName("hideAllNotifications") void hideAllNotifications(); }