Files
Noxely/app/src/main/java/fr/tuxgyver/noxely/sources/Http.kt
T
tuxgyver 8d96a9fdde Cachette devient Noxely, et gagne une page À propos (1.6.0)
Le nom change, et pas seulement à l'écran : identifiant d'application, paquet
Kotlin, dépôt et dossier d'enregistrements suivent, pour qu'il ne subsiste pas
deux noms selon l'endroit où l'on regarde.

Android traite le nouvel identifiant comme une application distincte : une
installation en 1.5.0 ne se mettra pas à jour seule et devra être remplacée.
C'est le prix d'un renommage complet, assumé plutôt que contourné. Les
enregistrements déjà faits ne sont pas perdus, étant dans le stockage partagé,
et le scan continue d'écarter l'ancien dossier pour ne pas les compter deux fois.

L'icône fournie est détourée de son fond blanc avant d'être déclinée : posée
telle quelle, le masque du système aurait redécoupé un badge qui l'est déjà et
laissé du blanc sur les bords. La couleur de fond est échantillonnée dans
l'image, non choisie au jugé.

La page À propos dit enfin ce que l'application fait, ce qu'elle garantit, avec
quoi elle est construite et qui en répond. Sa version vient du manifeste et son
journal du CHANGELOG du dépôt : ni l'un ni l'autre ne peut dériver. La licence
n'étant pas déclarée, la pastille le signale en rouge au lieu d'en inventer une.

Le .gitignore filtre désormais *.apk, et non un motif au nom du projet : c'est
ce motif nommé qui, au renommage, avait laissé entrer 95 Mo d'anciens APK.
2026-09-13 14:00:34 +02:00

24 lines
747 B
Kotlin

package fr.tuxgyver.noxely.sources
import java.net.HttpURLConnection
import java.net.URL
import java.security.MessageDigest
internal fun stableId(prefix: String, value: String): String {
val digest = MessageDigest.getInstance("SHA-1").digest(value.toByteArray())
return prefix + digest.joinToString("") { "%02x".format(it) }.take(16)
}
internal fun openConnection(
url: String,
method: String = "GET",
readTimeoutMs: Int = 20_000,
): HttpURLConnection =
(URL(url).openConnection() as HttpURLConnection).apply {
requestMethod = method
instanceFollowRedirects = true
connectTimeout = 15_000
readTimeout = readTimeoutMs
setRequestProperty("User-Agent", "Noxely/1.1 (Android)")
}