/* * Copyright (C) 2024 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. */ package com.android.systemui.volume import android.app.PendingIntent import android.app.PendingIntent.FLAG_IMMUTABLE import android.app.PendingIntent.FLAG_UPDATE_CURRENT import android.content.Context import android.content.Intent /** * label: Notification action label text. intent: The Intent used to start Activity or Broadcast. * isActivity: Defines if the pending intent should start an activity. Default is to broadcast */ data class CsdWarningAction( val label: String? = null, val intent: Intent? = null, val isActivity: Boolean = false, ) { fun toPendingIntent(context: Context): PendingIntent? { if (label == null || intent == null) { return null } if (isActivity) { return PendingIntent.getActivity( context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE ) } return PendingIntent.getBroadcast(context, 0, intent, FLAG_IMMUTABLE) } }