1/*
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
17syntax = "proto2";
18option java_multiple_files = true;
19
20package android.app;
21
22import "frameworks/base/core/proto/android/privacy.proto";
23
24/**
25 * An android.app.NotificationManager.Policy object.
26 */
27message PolicyProto {
28    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
29
30    enum Category {
31        CATEGORY_UNKNOWN = 0;
32        // Reminder notifications are prioritized.
33        REMINDERS = 1;
34        // Event notifications are prioritized.
35        EVENTS = 2;
36        // Message notifications are prioritized.
37        MESSAGES = 3;
38        // Calls are prioritized.
39        CALLS = 4;
40        // Calls from repeat callers are prioritized.
41        REPEAT_CALLERS = 5;
42        // Alarms are prioritized.
43        ALARMS = 6;
44        // Media, game, voice navigation are prioritized.
45        MEDIA = 7;
46        // System (catch-all for non-never suppressible sounds) are prioritized.
47        SYSTEM = 8;
48    }
49    repeated Category priority_categories = 1;
50
51    enum Sender {
52        // Any sender is prioritized.
53        ANY = 0;
54        // Saved contacts are prioritized.
55        CONTACTS = 1;
56        // Only starred contacts are prioritized.
57        STARRED = 2;
58    }
59    optional Sender priority_call_sender = 2;
60    optional Sender priority_message_sender = 3;
61
62    enum SuppressedVisualEffect {
63        SVE_UNKNOWN = 0;
64        // Whether notifications suppressed by DND should not interrupt visually
65        // (e.g. with notification lights or by turning the screen on) when the
66        // screen is off.
67        // FULL_SCREEN_INTENT, AMBIENT, and LIGHTS should be used instead.
68        SCREEN_OFF = 1 [deprecated = true];
69        // Whether notifications suppressed by DND should not interrupt visually
70        // when the screen is on (e.g. by peeking onto the screen).
71        // PEEK should be used instead of ON.
72        SCREEN_ON = 2 [deprecated = true];
73        // Whether full screen intents} from notifications intercepted by DND
74        // are blocked.
75        FULL_SCREEN_INTENT = 3;
76        // Whether lights from notifications intercepted by DND are blocked.
77        LIGHTS = 4;
78        // Whether notifications intercepted by DND are prevented from peeking.
79        PEEK = 5;
80        // Whether notifications intercepted by DND are prevented from
81        // appearing in the status bar, on devices that support status bars.
82        STATUS_BAR = 6;
83        // Whether badges from notifications intercepted by DND are blocked on
84        // devices that support badging.
85        BADGE = 7;
86        // Whether notification intercepted by DND are prevented from appearing
87        // on ambient displays on devices that support ambient display.
88        AMBIENT = 8;
89        // Whether notification intercepted by DND are prevented from appearing
90        // in notification list views like the notification shade or lockscreen
91        // on devices that support those views.
92        NOTIFICATION_LIST = 9;
93    }
94    repeated SuppressedVisualEffect suppressed_visual_effects = 4;
95}
96