tawasuyu

sergio/humanoid

HTML 50Markdown 1TOML 10 Sutichaykuna

⎇ 4e0b0288593fde94ea257fc57545b1154e4493ea launcher/src/main/java/com/rizoma/orbita/model/AppNode.kt 24 siq'ikuna · 795 B Ñawpa willay ch'uya

Órbita: cinta de 5 páginas — continuidad del átomo + zonas vivas 4e0b02885 · sergio ·

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}