1 /* 2 * Copyright (C) 2025 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.launcher3.taskbar.growth 17 18 sealed interface Action { 19 data class Dismiss( 20 val markAsDismissed: Boolean = true, 21 val dismissRetentionInDays: Int? = null, 22 ) : Action 23 24 data class OpenUrl(val url: String) : Action 25 } 26 27 sealed class Image { 28 data class ResourceId(val resId: Int) : Image() 29 30 data class Url(val url: String) : Image() 31 } 32 33 data class ButtonPayload(val label: String, val actions: List<Action>) 34 35 data class NudgePayload( 36 val titleText: String, 37 val bodyText: String, 38 val image: Image?, 39 val primaryButton: ButtonPayload?, 40 val secondaryButton: ButtonPayload?, 41 42 // TODO: b/396223717 - add anchoring information. 43 ) 44