1300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen/*
2300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen * Copyright (C) 2014 The Android Open Source Project
3300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen *
4300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen * Licensed under the Apache License, Version 2.0 (the "License");
5300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen * you may not use this file except in compliance with the License.
6300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen * You may obtain a copy of the License at
7300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen *
8300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen *      http://www.apache.org/licenses/LICENSE-2.0
9300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen *
10300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen * Unless required by applicable law or agreed to in writing, software
11300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen * distributed under the License is distributed on an "AS IS" BASIS,
12300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen * See the License for the specific language governing permissions and
14300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen * limitations under the License.
15300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen */
16300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen
17300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazenpackage android.support.v4.app;
18300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen
19ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazenimport android.app.Notification;
20300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen
21300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen/**
22ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen * Interface used for delivering notifications via a side channel that bypasses
23ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen * the NotificationManagerService.
24ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen *
25ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen * @hide
26300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen */
27ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazenoneway interface INotificationSideChannel {
28ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen    /**
29ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen     * Send an ambient notification to the service.
30ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen     */
31ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen    void notify(String packageName, int id, String tag, in Notification notification);
32ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen
33ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen    /**
34ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen     * Cancel an already-notified notification.
35ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen     */
36ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen    void cancel(String packageName, int id, String tag);
37ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen
38ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen    /**
39ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen     * Cancel all notifications for the given package.
40ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen     */
41ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen    void cancelAll(String packageName);
42300ad7c234a0ccfc41ae7fdbdcdd57faece2a8e0Griff Hazen}
43