1 /*
2  * Copyright (C) 2021 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 com.android.systemui.statusbar.notification.collection.render
18 
19 import com.android.systemui.statusbar.notification.FeedbackIcon
20 
21 /** A view controller for a notification row */
22 interface NotifRowController {
23     /**
24      * This tells the row what the 'default expanded' state should be.  Once a user expands or
25      * contracts a row, that will set the user expanded state, which takes precedence, but
26      * collapsing the shade and re-opening it will clear the user expanded state.  This allows for
27      * nice auto expansion of the next notification as users dismiss the top notification.
28      */
setSystemExpandednull29     fun setSystemExpanded(systemExpanded: Boolean)
30 
31     /**
32      * Sets the timestamp that the notification was last audible, which the row uses to
33      * show a bell icon in the header which indicates to the user which notification made a noise.
34      */
35     fun setLastAudibleMs(lastAudibleMs: Long)
36 
37     /** Shows the given feedback icon, or hides the icon if null. */
38     fun setFeedbackIcon(icon: FeedbackIcon?)
39 }
40