blob: 05afe525c1eb88d0df696722090ff940b18fad03 [file] [log] [blame]
/*
* Copyright (C) 2017 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
syntax = "proto3";
package android.service.notification;
option java_multiple_files = true;
option java_outer_classname = "NotificationServiceProto";
import "frameworks/base/core/proto/android/app/notificationmanager.proto";
import "frameworks/base/core/proto/android/content/component_name.proto";
message NotificationServiceDumpProto {
repeated NotificationRecordProto records = 1;
ZenModeProto zen = 2;
ManagedServicesProto notification_listeners = 3;
int32 listener_hints = 4;
repeated ListenersDisablingEffectsProto listeners_disabling_effects = 5;
ManagedServicesProto notification_assistants = 6;
ManagedServicesProto condition_providers = 7;
}
message NotificationRecordProto {
string key = 1;
State state = 2;
int32 flags = 3;
string channelId = 4;
string sound = 5;
int32 sound_usage = 6;
bool can_vibrate = 7;
bool can_show_light = 8;
string group_key = 9;
int32 importance = 10;
}
message ListenersDisablingEffectsProto {
int32 hint = 1;
repeated ManagedServiceInfoProto listeners = 2;
}
message ManagedServiceInfoProto {
android.content.ComponentNameProto component = 1;
int32 user_id = 2;
string service = 3;
bool is_system = 4;
bool is_guest = 5;
}
message ManagedServicesProto {
string caption = 1;
message ServiceProto {
repeated string name = 1;
int32 user_id = 2;
bool is_primary = 3;
}
repeated ServiceProto approved = 2;
// All of this type/caption enabled for current profiles.
repeated android.content.ComponentNameProto enabled = 3;
repeated ManagedServiceInfoProto live_services = 4;
// Snoozed for current profiles.
repeated android.content.ComponentNameProto snoozed = 5;
}
enum State {
ENQUEUED = 0;
POSTED = 1;
SNOOZED = 2;
}
message ZenModeProto {
ZenMode zen_mode = 1;
repeated string enabled_active_conditions = 2;
int32 suppressed_effects = 3;
repeated string suppressors = 4;
android.app.PolicyProto policy = 5;
}
enum ZenMode {
ZEN_MODE_OFF = 0;
ZEN_MODE_IMPORTANT_INTERRUPTIONS = 1;
ZEN_MODE_NO_INTERRUPTIONS = 2;
ZEN_MODE_ALARMS = 3;
}