1 /*
2  * Copyright (C) 2024 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 
17 package android.platform.systemui_tapl.controller
18 
19 /**
20  * A way to uniquely identify a notification. It's produced by posting a notification and can be
21  * passed to methods for finding a notification.
22  */
23 data class NotificationIdentity
24 @JvmOverloads
25 constructor(
26     val type: Type,
27     val title: String? = null,
28     val text: String? = null,
29     val summary: String? = null,
30     val textWhenExpanded: String? = null,
31     val contentIsVisibleInCollapsedState: Boolean = false,
32     val pkg: String? = null,
33     val hasAction: Boolean = false,
34 ) {
35     enum class Type {
36         GROUP,
37         GROUP_MINIMIZED,
38         GROUP_AUTO_GENERATED,
39         BIG_PICTURE,
40         BIG_TEXT,
41         MESSAGING_STYLE,
42         CONVERSATION,
43         BY_TITLE,
44         BY_TEXT,
45         CALL,
46         INBOX,
47         MEDIA,
48         CUSTOM,
49     }
50 }
51