diff --git a/app/src/main/java/com/guyiome/androidmocap/ui/LoadingScreen.kt b/app/src/main/java/com/guyiome/androidmocap/ui/LoadingScreen.kt index bf86860..60050a3 100644 --- a/app/src/main/java/com/guyiome/androidmocap/ui/LoadingScreen.kt +++ b/app/src/main/java/com/guyiome/androidmocap/ui/LoadingScreen.kt @@ -10,12 +10,14 @@ import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.LinearProgressIndicator import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource @@ -30,19 +32,32 @@ import com.guyiome.androidmocap.R * progression réelle exploitable (un seul appel bloquant, `FaceLandmarkerHelper.setup()`, domine le * temps total), une barre déterminée inventerait une précision qui n'existe pas. * - * Réutilise l'illustration de l'icône de lancement ([R.drawable.ic_launcher_foreground_source], - * déjà versionnée pour générer l'icône adaptative) comme logo -- pas de doublon d'asset à - * maintenir, cohérent avec ce que l'utilisateur voit déjà sur son écran d'accueil. Toujours un - * placeholder (en attente d'un logo dessiné par un.e artiste) -- crédit en bas à gauche par - * discrétion/honnêteté envers l'auteurice de l'image actuelle, sans revendiquer un logo final. + * Réutilise l'illustration de l'icône de lancement ([R.drawable.ic_launcher_foreground], déjà + * versionnée pour l'icône adaptative) comme logo -- pas de doublon d'asset à maintenir, cohérent + * avec ce que l'utilisateur voit déjà sur son écran d'accueil. Depuis le 28 août 2026, ce n'est + * plus un placeholder mais le logo définitif, par @clem_dreaw (voir mipmap-anydpi-v26/ + * ic_launcher.xml pour le détail du choix de cadrage et de format) -- le crédit en bas à gauche + * reste, désormais comme attribution d'artiste et non plus comme réserve sur un placeholder. + * + * Contrairement aux placeholders précédents (sujet détouré sur fond transparent), cette + * illustration est plein cadre : affichée telle quelle, elle formerait un carré à bords nets + * tranchant sur le fond sombre. D'où le [clip] en coins arrondis, qui rappelle la forme sous + * laquelle l'utilisateur vient de voir cette même image sur son écran d'accueil. Le fond + * rose/magenta de l'illustration, que le masque du launcher supprime sur l'icône, est en revanche + * bien visible ici : aucun masque n'est appliqué, c'est le seul endroit de l'app où l'artwork + * s'affiche dans son cadrage complet. */ @Composable fun LoadingScreen() { Box( modifier = Modifier .fillMaxSize() - // Même couleur que le fond de l'icône adaptative (ic_launcher_background.xml) -- - // continuité visuelle avec l'icône affichée juste avant que cet écran apparaisse. + // Même valeur que ic_launcher_background.xml, mais la justification d'origine + // ("continuité visuelle avec l'icône") ne tient plus depuis le logo plein cadre du + // 28 août 2026 : cette couche de fond de l'icône est désormais intégralement + // recouverte par l'artwork, donc jamais visible sur l'écran d'accueil. Ce gris-bleu + // sombre reste néanmoins le bon choix ici -- il laisse ressortir le logo et sa + // dominante rose sans jurer avec, là où un noir pur durcirait le contraste. .background(Color(0xFF1B1F27)), ) { Column( @@ -50,10 +65,14 @@ fun LoadingScreen() { horizontalAlignment = Alignment.CenterHorizontally, ) { Image( - painter = painterResource(R.drawable.ic_launcher_foreground_source), + painter = painterResource(R.drawable.ic_launcher_foreground), // Décoratif -- le message texte juste en dessous porte déjà l'information d'état. contentDescription = null, - modifier = Modifier.size(140.dp), + // 20.dp sur 140.dp : même proportion de rayon que le squircle appliqué par les + // launchers à l'icône, pour que les deux se répondent (voir kdoc de tête). + modifier = Modifier + .size(140.dp) + .clip(RoundedCornerShape(20.dp)), ) Spacer(Modifier.height(24.dp)) Text( @@ -75,9 +94,10 @@ fun LoadingScreen() { ) } - // Crédit du placeholder actuel -- discret, coin bas-gauche, jamais confondu - // avec le contenu central (message/progression). Pas un habillage permanent : à retirer - // quand un vrai logo d'artiste remplace ce placeholder. + // Attribution de l'artiste -- discrète, coin bas-gauche, jamais confondue avec le contenu + // central (message/progression). Contrairement à la version placeholder de cette ligne, + // elle a désormais vocation à rester : c'est le crédit du logo définitif, pas une réserve + // temporaire. Text( stringResource(R.string.loading_logo_credit), color = Color.White.copy(alpha = 0.4f), diff --git a/app/src/main/res/drawable-nodpi/ic_launcher_foreground.webp b/app/src/main/res/drawable-nodpi/ic_launcher_foreground.webp new file mode 100644 index 0000000..a3fb1ca Binary files /dev/null and b/app/src/main/res/drawable-nodpi/ic_launcher_foreground.webp differ diff --git a/app/src/main/res/drawable-nodpi/ic_launcher_foreground_source.png b/app/src/main/res/drawable-nodpi/ic_launcher_foreground_source.png deleted file mode 100644 index c6eebba..0000000 Binary files a/app/src/main/res/drawable-nodpi/ic_launcher_foreground_source.png and /dev/null differ diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml deleted file mode 100644 index 3371f3d..0000000 --- a/app/src/main/res/drawable/ic_launcher_foreground.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml index 6b78462..2cc4770 100644 --- a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -1,4 +1,32 @@ + diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 769f0d2..040abeb 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -43,7 +43,9 @@ La caméra frontale est nécessaire pour la capture faciale. Autoriser la caméra Chargement… - Logo par Nyacchii (Placeholder) + + Logo by @clem_dreaw Connexion diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0ec9631..7574438 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -45,7 +45,7 @@ The front camera is required for facial capture. Allow camera access Loading… - Logo by Nyacchii (Placeholder) + Logo by @clem_dreaw Connection