⎇ 4e0b0288593fde94ea257fc57545b1154e4493ea
launcher/src/main/java/com/rizoma/orbita/model/AppNode.kt
History
raw
Órbita: cinta de 5 páginas — continuidad del átomo + zonas vivas
1package com.rizoma.orbita.model
2
3import androidx.compose.ui.graphics.ImageBitmap
4
5/**
6 * Un nodo del rizoma: una app lanzable con su calor de uso.
7 * [score] es el peso orbital — más alto = órbita más interna.
8 * [firstInstallTime] (epoch ms) detecta apps recién instaladas ("nuevas").
9 * [hiddenAt] (epoch ms) marca cuándo se expulsó del átomo, para que las
10 * expulsadas se vayan calmando con el tiempo hasta quedar desterradas.
11 */
12data class AppNode(
13 val packageName: String,
14 val activityName: String,
15 val label: String,
16 val icon: ImageBitmap,
17 val score: Float = 0f,
18 val pinned: Boolean = false,
19 val hidden: Boolean = false,
20 val firstInstallTime: Long = 0L,
21 val hiddenAt: Long = 0L,
22) {
23 val key: String get() = "$packageName/$activityName"
24}