/* * Copyright (C) 2023 MURENA SAS * Copyright (C) 2022 E FOUNDATION * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ package foundation.e.advancedprivacy.domain.entities import android.graphics.drawable.Drawable data class AppWithCounts( val appDesc: ApplicationDescription, val packageName: String, val uid: Int, var label: CharSequence?, var icon: Drawable?, val isWhitelisted: Boolean = false, val trackersCount: Int = 0, val whiteListedTrackersCount: Int = 0, val blockedLeaks: Int = 0, val leaks: Int = 0, ) { constructor( app: ApplicationDescription, isWhitelisted: Boolean, trackersCount: Int, whiteListedTrackersCount: Int, blockedLeaks: Int, leaks: Int, ) : this( appDesc = app, packageName = app.packageName, uid = app.uid, label = app.label, icon = app.icon, isWhitelisted = isWhitelisted, trackersCount = trackersCount, whiteListedTrackersCount = whiteListedTrackersCount, blockedLeaks = blockedLeaks, leaks = leaks ) val blockedTrackersCount get() = if (isWhitelisted) 0 else Math.max(trackersCount - whiteListedTrackersCount, 0) }