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 package com.android.systemui.statusbar.policy 17 18 import android.app.Notification 19 import com.android.systemui.statusbar.policy.SmartReplyView.SmartActions 20 import com.android.systemui.statusbar.policy.SmartReplyView.SmartReplies 21 22 /** 23 * A storage for smart replies, smart actions, and related state 24 */ 25 class InflatedSmartReplyState internal constructor( 26 val smartReplies: SmartReplies?, 27 val smartActions: SmartActions?, 28 val suppressedActions: SuppressedActions?, 29 val hasPhishingAction: Boolean 30 ) { 31 val smartRepliesList: List<CharSequence> 32 get() = smartReplies?.choices ?: emptyList() 33 val smartActionsList: List<Notification.Action> 34 get() = smartActions?.actions ?: emptyList() 35 val suppressedActionIndices: List<Int> 36 get() = suppressedActions?.suppressedActionIndices ?: emptyList() 37 38 /** 39 * Data class for standard actions suppressed by the smart actions. 40 */ 41 class SuppressedActions(val suppressedActionIndices: List<Int>) 42 }