12a7dd0c37ff0aa0378bb01e7230e106ea3c49656Michael Chan/*
22a7dd0c37ff0aa0378bb01e7230e106ea3c49656Michael Chan * Copyright (C) 2012 The Android Open Source Project
32a7dd0c37ff0aa0378bb01e7230e106ea3c49656Michael Chan *
42a7dd0c37ff0aa0378bb01e7230e106ea3c49656Michael Chan * Licensed under the Apache License, Version 2.0 (the "License");
52a7dd0c37ff0aa0378bb01e7230e106ea3c49656Michael Chan * you may not use this file except in compliance with the License.
62a7dd0c37ff0aa0378bb01e7230e106ea3c49656Michael Chan * You may obtain a copy of the License at
72a7dd0c37ff0aa0378bb01e7230e106ea3c49656Michael Chan *
82a7dd0c37ff0aa0378bb01e7230e106ea3c49656Michael Chan *      http://www.apache.org/licenses/LICENSE-2.0
92a7dd0c37ff0aa0378bb01e7230e106ea3c49656Michael Chan *
102a7dd0c37ff0aa0378bb01e7230e106ea3c49656Michael Chan * Unless required by applicable law or agreed to in writing, software
112a7dd0c37ff0aa0378bb01e7230e106ea3c49656Michael Chan * distributed under the License is distributed on an "AS IS" BASIS,
122a7dd0c37ff0aa0378bb01e7230e106ea3c49656Michael Chan * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
132a7dd0c37ff0aa0378bb01e7230e106ea3c49656Michael Chan * See the License for the specific language governing permissions and
142a7dd0c37ff0aa0378bb01e7230e106ea3c49656Michael Chan * limitations under the License.
152a7dd0c37ff0aa0378bb01e7230e106ea3c49656Michael Chan */
162a7dd0c37ff0aa0378bb01e7230e106ea3c49656Michael Chan
1725b09db869f377b131052447f62ad02e2505cd87Michael Chanpackage com.android.calendar.alerts;
1825b09db869f377b131052447f62ad02e2505cd87Michael Chan
1925b09db869f377b131052447f62ad02e2505cd87Michael Chanimport com.android.calendar.alerts.AlertService.NotificationWrapper;
2025b09db869f377b131052447f62ad02e2505cd87Michael Chan
21948c590ced6854d2fbe9dc765db4ae8d63646664Sara Tingpublic abstract class NotificationMgr {
22948c590ced6854d2fbe9dc765db4ae8d63646664Sara Ting    public abstract void notify(int id, NotificationWrapper notification);
23948c590ced6854d2fbe9dc765db4ae8d63646664Sara Ting    public abstract void cancel(int id);
24948c590ced6854d2fbe9dc765db4ae8d63646664Sara Ting
25948c590ced6854d2fbe9dc765db4ae8d63646664Sara Ting    /**
26948c590ced6854d2fbe9dc765db4ae8d63646664Sara Ting     * Don't actually use the notification framework's cancelAll since the SyncAdapter
27948c590ced6854d2fbe9dc765db4ae8d63646664Sara Ting     * might post notifications and we don't want to affect those.
28948c590ced6854d2fbe9dc765db4ae8d63646664Sara Ting     */
29948c590ced6854d2fbe9dc765db4ae8d63646664Sara Ting    public void cancelAll() {
30948c590ced6854d2fbe9dc765db4ae8d63646664Sara Ting        cancelAllBetween(0, AlertService.MAX_NOTIFICATIONS);
31948c590ced6854d2fbe9dc765db4ae8d63646664Sara Ting    }
32948c590ced6854d2fbe9dc765db4ae8d63646664Sara Ting
33948c590ced6854d2fbe9dc765db4ae8d63646664Sara Ting    /**
34948c590ced6854d2fbe9dc765db4ae8d63646664Sara Ting     * Cancels IDs between the specified bounds, inclusively.
35948c590ced6854d2fbe9dc765db4ae8d63646664Sara Ting     */
36948c590ced6854d2fbe9dc765db4ae8d63646664Sara Ting    public void cancelAllBetween(int from, int to) {
37948c590ced6854d2fbe9dc765db4ae8d63646664Sara Ting        for (int i = from; i <= to; i++) {
38948c590ced6854d2fbe9dc765db4ae8d63646664Sara Ting            cancel(i);
39948c590ced6854d2fbe9dc765db4ae8d63646664Sara Ting        }
40948c590ced6854d2fbe9dc765db4ae8d63646664Sara Ting    }
4125b09db869f377b131052447f62ad02e2505cd87Michael Chan}
42