blob: 1ac81982505e633ed0b298b139af54e3844be898 [file] [log] [blame]
Eliot Courtney21bc05f2017-10-19 17:03:34 +09001/*
2 * Copyright (C) 2017 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License
15 */
16
17package com.android.systemui.statusbar;
18
19import android.service.notification.NotificationListenerService;
20import android.service.notification.StatusBarNotification;
21
22/**
23 * Interface for accepting notification updates from {@link NotificationListener}.
24 */
25public interface NotificationUpdateHandler {
26 /**
27 * Add a new notification and update the current notification ranking map.
28 *
29 * @param notification Notification to add
30 * @param ranking RankingMap to update with
31 */
32 void addNotification(StatusBarNotification notification,
33 NotificationListenerService.RankingMap ranking);
34
35 /**
36 * Remove a notification and update the current notification ranking map.
37 *
38 * @param key Key identifying the notification to remove
39 * @param ranking RankingMap to update with
Mady Mellorc2ff0112019-03-28 14:18:06 -070040 * @param reason why the notification is being removed, e.g.
41 * {@link NotificationListenerService#REASON_CANCEL}.
Eliot Courtney21bc05f2017-10-19 17:03:34 +090042 */
Mady Mellorc2ff0112019-03-28 14:18:06 -070043 void removeNotification(String key, NotificationListenerService.RankingMap ranking, int reason);
Eliot Courtney21bc05f2017-10-19 17:03:34 +090044
45 /**
46 * Update a given notification and the current notification ranking map.
47 *
48 * @param notification Updated notification
49 * @param ranking RankingMap to update with
50 */
51 void updateNotification(StatusBarNotification notification,
52 NotificationListenerService.RankingMap ranking);
53
54 /**
55 * Update with a new notification ranking map.
56 *
57 * @param ranking RankingMap to update with
58 */
59 void updateNotificationRanking(NotificationListenerService.RankingMap ranking);
60}