From 8d96a9fddef0e5e7777816b8ff2802d1499fac83 Mon Sep 17 00:00:00 2001 From: Johnny Date: Sun, 13 Sep 2026 14:00:34 +0200 Subject: [PATCH] =?UTF-8?q?Cachette=20devient=20Noxely,=20et=20gagne=20une?= =?UTF-8?q?=20page=20=C3=80=20propos=20(1.6.0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- .gitignore | 4 +- CHANGELOG.md | 33 +- Makefile | 2 +- README.md | 27 +- VERSION | 2 +- app/build.gradle.kts | 13 +- app/src/main/AndroidManifest.xml | 8 +- .../{cachette => noxely}/MainActivity.kt | 14 +- .../CachetteApp.kt => noxely/NoxelyApp.kt} | 40 +- .../library/ImportedStore.kt | 4 +- .../library/LibraryRepository.kt | 4 +- .../library/LocalMediaScanner.kt | 15 +- .../library/PlaylistStore.kt | 4 +- .../{cachette => noxely}/model/Media.kt | 2 +- .../{cachette => noxely}/model/Playlist.kt | 2 +- .../offline/DownloadTracker.kt | 12 +- .../offline/NoxelyDownloadService.kt} | 10 +- .../offline/OfflineModule.kt | 4 +- .../playback/MediaItems.kt | 4 +- .../playback/PlaybackService.kt | 10 +- .../playback/PlayerController.kt | 6 +- .../radio/RadioDirectory.kt | 4 +- .../radio/RadioStation.kt | 2 +- .../{cachette => noxely}/radio/Recorder.kt | 2 +- .../radio/RecordingService.kt | 22 +- .../radio/RecordingSink.kt | 8 +- .../sources/ArchiveOrgCatalog.kt | 8 +- .../{cachette => noxely}/sources/Catalog.kt | 4 +- .../{cachette => noxely}/sources/Http.kt | 4 +- .../sources/LibriVoxCatalog.kt | 4 +- .../sources/RssImporter.kt | 8 +- .../sources/UrlImporter.kt | 8 +- .../sources/WikimediaCatalog.kt | 8 +- .../ui/NoxelyRoot.kt} | 43 ++- .../tuxgyver/noxely/ui/about/AboutScreen.kt | 355 ++++++++++++++++++ .../fr/tuxgyver/noxely/ui/about/AppInfo.kt | 83 ++++ .../fr/tuxgyver/noxely/ui/about/Changelog.kt | 53 +++ .../ui/browse/CatalogBrowseScreen.kt | 14 +- .../ui/browse/CatalogItemScreen.kt | 12 +- .../ui/browse/SelectionBar.kt | 2 +- .../ui/browse/SourceBrowseScreen.kt | 10 +- .../ui/components/Artwork.kt | 4 +- .../ui/components/Format.kt | 2 +- .../ui/components/MediaRow.kt | 6 +- .../ui/library/LibraryScreen.kt | 16 +- .../ui/offline/DownloadsScreen.kt | 14 +- .../ui/player/MiniPlayer.kt | 6 +- .../ui/player/NowPlayingScreen.kt | 14 +- .../ui/playlists/AddToPlaylistSheet.kt | 6 +- .../ui/playlists/PlaylistDetailScreen.kt | 8 +- .../ui/playlists/PlaylistsScreen.kt | 4 +- .../ui/radio/RadioScreen.kt | 28 +- .../ui/sources/SourcesScreen.kt | 22 +- .../ui/sources/UpdateCard.kt | 12 +- .../{cachette => noxely}/ui/theme/Theme.kt | 12 +- .../update/UpdateCheckWorker.kt | 6 +- .../update/UpdateNotifier.kt | 8 +- .../update/UpdateRepository.kt | 6 +- .../res/drawable/ic_launcher_foreground.xml | 13 - .../main/res/mipmap-anydpi/ic_launcher.xml | 3 +- .../mipmap-hdpi/ic_launcher_foreground.png | Bin 0 -> 24011 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 0 -> 12240 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 0 -> 39910 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 0 -> 81619 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 0 -> 137242 bytes app/src/main/res/values-night/themes.xml | 2 +- app/src/main/res/values/colors.xml | 2 +- app/src/main/res/values/strings.xml | 2 +- app/src/main/res/values/themes.xml | 2 +- settings.gradle.kts | 2 +- 70 files changed, 810 insertions(+), 264 deletions(-) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/MainActivity.kt (80%) rename app/src/main/java/fr/tuxgyver/{cachette/CachetteApp.kt => noxely/NoxelyApp.kt} (65%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/library/ImportedStore.kt (96%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/library/LibraryRepository.kt (95%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/library/LocalMediaScanner.kt (91%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/library/PlaylistStore.kt (97%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/model/Media.kt (97%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/model/Playlist.kt (92%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/offline/DownloadTracker.kt (93%) rename app/src/main/java/fr/tuxgyver/{cachette/offline/CachetteDownloadService.kt => noxely/offline/NoxelyDownloadService.kt} (87%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/offline/OfflineModule.kt (96%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/playback/MediaItems.kt (89%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/playback/PlaybackService.kt (91%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/playback/PlayerController.kt (97%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/radio/RadioDirectory.kt (98%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/radio/RadioStation.kt (94%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/radio/Recorder.kt (98%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/radio/RecordingService.kt (96%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/radio/RecordingSink.kt (95%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/sources/ArchiveOrgCatalog.kt (97%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/sources/Catalog.kt (97%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/sources/Http.kt (86%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/sources/LibriVoxCatalog.kt (98%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/sources/RssImporter.kt (96%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/sources/UrlImporter.kt (93%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/sources/WikimediaCatalog.kt (95%) rename app/src/main/java/fr/tuxgyver/{cachette/ui/CachetteRoot.kt => noxely/ui/NoxelyRoot.kt} (89%) create mode 100644 app/src/main/java/fr/tuxgyver/noxely/ui/about/AboutScreen.kt create mode 100644 app/src/main/java/fr/tuxgyver/noxely/ui/about/AppInfo.kt create mode 100644 app/src/main/java/fr/tuxgyver/noxely/ui/about/Changelog.kt rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/ui/browse/CatalogBrowseScreen.kt (96%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/ui/browse/CatalogItemScreen.kt (97%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/ui/browse/SelectionBar.kt (98%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/ui/browse/SourceBrowseScreen.kt (97%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/ui/components/Artwork.kt (97%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/ui/components/Format.kt (94%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/ui/components/MediaRow.kt (98%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/ui/library/LibraryScreen.kt (95%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/ui/offline/DownloadsScreen.kt (96%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/ui/player/MiniPlayer.kt (96%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/ui/player/NowPlayingScreen.kt (97%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/ui/playlists/AddToPlaylistSheet.kt (97%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/ui/playlists/PlaylistDetailScreen.kt (96%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/ui/playlists/PlaylistsScreen.kt (98%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/ui/radio/RadioScreen.kt (95%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/ui/sources/SourcesScreen.kt (95%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/ui/sources/UpdateCard.kt (94%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/ui/theme/Theme.kt (93%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/update/UpdateCheckWorker.kt (92%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/update/UpdateNotifier.kt (95%) rename app/src/main/java/fr/tuxgyver/{cachette => noxely}/update/UpdateRepository.kt (96%) delete mode 100644 app/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png diff --git a/.gitignore b/.gitignore index 1ca7e92..609afc2 100644 --- a/.gitignore +++ b/.gitignore @@ -10,5 +10,7 @@ captures/ keystore.properties *.jks .gitea-token -Cachette-*.apk +# Motif large : un motif au nom du projet a laissé passer 95 Mo lors du renommage. +*.apk update-token.properties +app/src/main/assets/CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md index cac3c4b..1227899 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,37 @@ # Changelog -Toutes les évolutions notables de Cachette sont documentées ici. +Toutes les évolutions notables de Noxely sont documentées ici. Le format suit [Keep a Changelog](https://keepachangelog.com/fr/1.1.0/) et le versionnage [SemVer](https://semver.org/lang/fr/). +## [1.6.0] — 2026-09-13 + +### Changé + +- **L'application s'appelle désormais Noxely.** Le nom affiché, l'identifiant d'application + (`fr.tuxgyver.noxely`), le paquet Kotlin, le dépôt et le dossier d'enregistrements + (`Music/Noxely`) suivent tous. + + ⚠️ **Android considère le nouvel identifiant comme une application distincte.** Une + installation en 1.5.0 ne se met donc pas à jour toute seule : il faut la désinstaller, puis + installer Noxely. Les enregistrements déjà rangés dans `Music/Cachette` ne sont pas perdus — + ils sont dans le stockage partagé, restent lisibles par tout lecteur, et le scan continue de + les écarter pour ne pas les afficher en double. + +- Nouvelle icône. Le visuel fourni est détouré de son fond, décliné aux cinq densités et posé + sur une couleur échantillonnée dans l'image : sans cela, le masque du système aurait découpé + une seconde fois un badge qui l'est déjà, en laissant du blanc sur les bords. + +### Ajouté + +- Page « À propos », accessible depuis l'écran Sources : ce que fait l'application, ce qu'elle + garantit, avec quoi elle est construite, ce qui a changé et qui en répond. La version est lue + du manifeste et le journal du CHANGELOG du dépôt, recopié à la compilation — l'un et l'autre + ne peuvent donc pas diverger de la réalité. +- La pastille de licence signale en rouge qu'aucune licence n'est déclarée dans le dépôt, plutôt + que d'en afficher une par défaut. + ## [1.5.0] — 2026-09-13 ### Ajouté @@ -25,7 +52,7 @@ et le versionnage [SemVer](https://semver.org/lang/fr/). ### Modifié -- Les enregistrements sont désormais écrits dans `Music/Cachette` et déclarés dans MediaStore +- Les enregistrements sont désormais écrits dans `Music/Noxely` et déclarés dans MediaStore (Android 10 et plus) : ils deviennent visibles des autres lecteurs et survivent à la désinstallation. Le scan local ignore ce dossier, faute de quoi chaque enregistrement apparaîtrait deux fois. @@ -109,7 +136,7 @@ et le versionnage [SemVer](https://semver.org/lang/fr/). ### Ajouté -- Mise à jour intégrée : Cachette surveille les releases du dépôt, télécharge l'APK en Wi-Fi +- Mise à jour intégrée : Noxely surveille les releases du dépôt, télécharge l'APK en Wi-Fi et propose l'installation. Vérification quotidienne en tâche de fond, et à la demande depuis l'écran Sources, qui affiche aussi la version installée. - La taille approximative de chaque résultat Internet Archive est affichée avant sélection : un diff --git a/Makefile b/Makefile index 6f88367..b519d88 100644 --- a/Makefile +++ b/Makefile @@ -15,7 +15,7 @@ DEBUG_APK := app/build/outputs/apk/debug/app-debug.apk # app-release-unsigned.apk) : on liste le répertoire au lieu de deviner. RELEASE_DIR := app/build/outputs/apk/release SIGNED_APK := $(RELEASE_DIR)/app-release.apk -OUTPUT_APK := Cachette-$(VERSION).apk +OUTPUT_APK := Noxely-$(VERSION).apk # --- Publication ----------------------------------------------------------- # Déléguée au script de BorisSkill, qui sait déjà tout faire : résolution du diff --git a/README.md b/README.md index 263c857..ae5b205 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# 🎧 Cachette +# 🎧 Noxely > Mettez la musique et les vidéos **de côté** pendant que vous avez du réseau. Écoutez-les quand vous n'en avez plus. @@ -6,10 +6,10 @@ [![Kotlin](https://img.shields.io/badge/Kotlin-2.1.0-7F52FF?logo=kotlin&logoColor=white)](https://kotlinlang.org) [![Compose](https://img.shields.io/badge/Jetpack%20Compose-Material%203-4285F4?logo=jetpackcompose&logoColor=white)](https://developer.android.com/jetpack/compose) [![Media3](https://img.shields.io/badge/Media3-1.11.1-FF6F00?logo=googleplay&logoColor=white)](https://developer.android.com/media/media3) -[![Version](https://img.shields.io/badge/Version-1.5.0-6B4EFF)](VERSION) +[![Version](https://img.shields.io/badge/Version-1.6.0-6B4EFF)](VERSION) [![Hors ligne](https://img.shields.io/badge/Hors%20ligne-100%25-3FD8C0)](#-comment-ça-marche) -Cachette est un lecteur audio et vidéo pensé pour les trajets, les tunnels, les avions et les +Noxely est un lecteur audio et vidéo pensé pour les trajets, les tunnels, les avions et les forfaits épuisés. On choisit ce qu'on emporte, l'application le télécharge, et tout reste lisible sans la moindre connexion. @@ -44,6 +44,7 @@ sans la moindre connexion. | 🔁 **Reprise automatique** | Réseau coupé : mise en attente et reprise. Échec serveur : relance seule après 5 s, 15 s, 45 s | | 📻 **Radio** | Les stations les plus écoutées, en direct — et enregistrables d'un appui | | 🏷️ **Titrage automatique** | L'enregistrement prend le nom du morceau annoncé par la station | +| ℹ️ **Page « À propos »** | Fonctions, garanties, pile technique, journal et auteur | | 👀 **Titre en cours** | Ce que diffuse chaque station, lu dans son flux | | ⏰ **Guet d'un titre** | L'enregistrement se déclenche quand le morceau voulu passe, et s'arrête à sa fin | | 🆕 **Mise à jour intégrée** | Surveille les releases du dépôt, télécharge l'APK en Wi-Fi et propose l'installation | @@ -71,7 +72,7 @@ sans la moindre connexion. | **ccMixter** | La recherche fonctionne, mais les fichiers ne sont servis qu'avec un en-tête `Referer` — que Media3 ne permet pas de poser par téléchargement. | | **Radio Browser** | Flux radio continus : rien à mettre en cache. | -### ⚖️ Ce que Cachette ne fait pas — et pourquoi +### ⚖️ Ce que Noxely ne fait pas — et pourquoi | Service | Pourquoi | |---|---| @@ -194,16 +195,24 @@ sortantes sont celles des URL que vous ajoutez et des catalogues que vous interr --- +> ⚠️ **Changement de nom en 1.6.0.** L'application s'appelait Cachette et son identifiant était +> `fr.tuxgyver.cachette`. Android traite le nouvel identifiant `fr.tuxgyver.noxely` comme une +> application distincte : une installation en 1.5.0 ne se met pas à jour toute seule, il faut la +> désinstaller puis installer Noxely. Les enregistrements déjà rangés dans `Music/Cachette` +> survivent — ils sont dans le stockage partagé — et restent lisibles par tout lecteur. + +--- + ## 📼 Où vont les enregistrements -À partir d'Android 10, dans `Music/Cachette/`, déclarés dans MediaStore : ils sont donc visibles +À partir d'Android 10, dans `Music/Noxely/`, déclarés dans MediaStore : ils sont donc visibles de tous les lecteurs de l'appareil et survivent à la désinstallation. En deçà, ils restent dans le -dossier privé de l'application, MediaStore y réclamant une permission de stockage dont Cachette n'a +dossier privé de l'application, MediaStore y réclamant une permission de stockage dont Noxely n'a pas besoin par ailleurs. Le nom du fichier porte le titre du morceau — et pas seulement la colonne `TITLE` : en publiant le fichier, MediaStore le relit et réécrit ce champ à partir du nom. Le scan local, lui, ignore -`Music/Cachette` pour ne pas afficher deux fois ce que la bibliothèque connaît déjà. +`Music/Noxely` pour ne pas afficher deux fois ce que la bibliothèque connaît déjà. Chaque enregistrement se supprime individuellement depuis l'écran **Hors ligne** : fichier, entrée MediaStore et référence en bibliothèque partent ensemble. « Tout libérer » ne les touche pas. @@ -212,7 +221,7 @@ MediaStore et référence en bibliothèque partent ensemble. « Tout libérer » ## 🆕 Mises à jour -Cachette étant distribuée hors magasin, elle surveille elle-même les releases du dépôt. +Noxely étant distribuée hors magasin, elle surveille elle-même les releases du dépôt. ``` Release publiée ──► vérification quotidienne (WorkManager, Wi-Fi) @@ -245,7 +254,7 @@ giteaUpdateToken=… ``` app/src/main/java/fr/tuxgyver/cachette/ -├── CachetteApp.kt Application + conteneur de dépendances (assemblé à la main) +├── NoxelyApp.kt Application + conteneur de dépendances (assemblé à la main) ├── MainActivity.kt ├── model/ MediaEntry, MediaKind, SourceKind ├── library/ MediaStore, persistance des imports, bibliothèque unifiée diff --git a/VERSION b/VERSION index bc80560..dc1e644 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.5.0 +1.6.0 diff --git a/app/build.gradle.kts b/app/build.gradle.kts index f6210e7..5b9ca73 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -8,11 +8,11 @@ plugins { } android { - namespace = "fr.tuxgyver.cachette" + namespace = "fr.tuxgyver.noxely" compileSdk = 36 defaultConfig { - applicationId = "fr.tuxgyver.cachette" + applicationId = "fr.tuxgyver.noxely" minSdk = 26 targetSdk = 35 @@ -33,7 +33,7 @@ android { "" } buildConfigField("String", "GITEA_UPDATE_TOKEN", "\"$updateToken\"") - buildConfigField("String", "UPDATE_API", "\"https://git.tuxtech.fr/api/v1/repos/tuxgyver/Cachette\"") + buildConfigField("String", "UPDATE_API", "\"https://git.tuxtech.fr/api/v1/repos/tuxgyver/Noxely\"") } buildTypes { @@ -77,6 +77,13 @@ android { } } +/** Le journal affiché dans « À propos » est celui du dépôt, pas une copie qui dériverait. */ +val copyChangelog = tasks.register("copyChangelogToAssets") { + from(rootProject.file("CHANGELOG.md")) + into(layout.projectDirectory.dir("src/main/assets")) +} +tasks.named("preBuild") { dependsOn(copyChangelog) } + dependencies { implementation(platform("androidx.compose:compose-bom:2025.10.00")) implementation("androidx.compose.ui:ui") diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 346c29c..39ba587 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -18,7 +18,7 @@ android:maxSdkVersion="32" /> + android:theme="@style/Theme.Noxely"> @@ -50,7 +50,7 @@ diff --git a/app/src/main/java/fr/tuxgyver/cachette/MainActivity.kt b/app/src/main/java/fr/tuxgyver/noxely/MainActivity.kt similarity index 80% rename from app/src/main/java/fr/tuxgyver/cachette/MainActivity.kt rename to app/src/main/java/fr/tuxgyver/noxely/MainActivity.kt index 38e6a0f..19eda3e 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/MainActivity.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/MainActivity.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette +package fr.tuxgyver.noxely import android.Manifest import android.content.pm.PackageManager @@ -9,8 +9,8 @@ import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge import androidx.activity.result.contract.ActivityResultContracts import androidx.core.content.ContextCompat -import fr.tuxgyver.cachette.ui.CachetteRoot -import fr.tuxgyver.cachette.ui.theme.CachetteTheme +import fr.tuxgyver.noxely.ui.NoxelyRoot +import fr.tuxgyver.noxely.ui.theme.NoxelyTheme class MainActivity : ComponentActivity() { @@ -21,20 +21,20 @@ class MainActivity : ComponentActivity() { enableEdgeToEdge() super.onCreate(savedInstanceState) - val container = (application as CachetteApp).container + val container = (application as NoxelyApp).container container.player.connect() askForNotificationsIfNeeded() setContent { - CachetteTheme { - CachetteRoot(container) + NoxelyTheme { + NoxelyRoot(container) } } } override fun onDestroy() { if (isFinishing) { - (application as CachetteApp).container.player.release() + (application as NoxelyApp).container.player.release() } super.onDestroy() } diff --git a/app/src/main/java/fr/tuxgyver/cachette/CachetteApp.kt b/app/src/main/java/fr/tuxgyver/noxely/NoxelyApp.kt similarity index 65% rename from app/src/main/java/fr/tuxgyver/cachette/CachetteApp.kt rename to app/src/main/java/fr/tuxgyver/noxely/NoxelyApp.kt index 7689e52..ccb14da 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/CachetteApp.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/NoxelyApp.kt @@ -1,25 +1,25 @@ -package fr.tuxgyver.cachette +package fr.tuxgyver.noxely import android.app.Application import android.content.Context -import fr.tuxgyver.cachette.library.ImportedStore -import fr.tuxgyver.cachette.library.LibraryRepository -import fr.tuxgyver.cachette.library.LocalMediaScanner -import fr.tuxgyver.cachette.library.PlaylistStore -import fr.tuxgyver.cachette.offline.DownloadTracker -import fr.tuxgyver.cachette.offline.OfflineModule -import fr.tuxgyver.cachette.playback.PlayerController -import fr.tuxgyver.cachette.radio.RadioDirectory -import fr.tuxgyver.cachette.sources.ArchiveOrgCatalog -import fr.tuxgyver.cachette.sources.Catalog -import fr.tuxgyver.cachette.sources.CatalogId -import fr.tuxgyver.cachette.sources.CatalogItem -import fr.tuxgyver.cachette.sources.WikimediaCatalog -import fr.tuxgyver.cachette.sources.LibriVoxCatalog -import fr.tuxgyver.cachette.sources.RssImporter -import fr.tuxgyver.cachette.sources.UrlImporter -import fr.tuxgyver.cachette.update.UpdateCheckWorker -import fr.tuxgyver.cachette.update.UpdateRepository +import fr.tuxgyver.noxely.library.ImportedStore +import fr.tuxgyver.noxely.library.LibraryRepository +import fr.tuxgyver.noxely.library.LocalMediaScanner +import fr.tuxgyver.noxely.library.PlaylistStore +import fr.tuxgyver.noxely.offline.DownloadTracker +import fr.tuxgyver.noxely.offline.OfflineModule +import fr.tuxgyver.noxely.playback.PlayerController +import fr.tuxgyver.noxely.radio.RadioDirectory +import fr.tuxgyver.noxely.sources.ArchiveOrgCatalog +import fr.tuxgyver.noxely.sources.Catalog +import fr.tuxgyver.noxely.sources.CatalogId +import fr.tuxgyver.noxely.sources.CatalogItem +import fr.tuxgyver.noxely.sources.WikimediaCatalog +import fr.tuxgyver.noxely.sources.LibriVoxCatalog +import fr.tuxgyver.noxely.sources.RssImporter +import fr.tuxgyver.noxely.sources.UrlImporter +import fr.tuxgyver.noxely.update.UpdateCheckWorker +import fr.tuxgyver.noxely.update.UpdateRepository import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.SupervisorJob @@ -67,7 +67,7 @@ class AppContainer(context: Context) { val updates = UpdateRepository(context, BuildConfig.VERSION_NAME) } -class CachetteApp : Application() { +class NoxelyApp : Application() { lateinit var container: AppContainer private set diff --git a/app/src/main/java/fr/tuxgyver/cachette/library/ImportedStore.kt b/app/src/main/java/fr/tuxgyver/noxely/library/ImportedStore.kt similarity index 96% rename from app/src/main/java/fr/tuxgyver/cachette/library/ImportedStore.kt rename to app/src/main/java/fr/tuxgyver/noxely/library/ImportedStore.kt index 388082a..efb0401 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/library/ImportedStore.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/library/ImportedStore.kt @@ -1,7 +1,7 @@ -package fr.tuxgyver.cachette.library +package fr.tuxgyver.noxely.library import android.content.Context -import fr.tuxgyver.cachette.model.MediaEntry +import fr.tuxgyver.noxely.model.MediaEntry import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow diff --git a/app/src/main/java/fr/tuxgyver/cachette/library/LibraryRepository.kt b/app/src/main/java/fr/tuxgyver/noxely/library/LibraryRepository.kt similarity index 95% rename from app/src/main/java/fr/tuxgyver/cachette/library/LibraryRepository.kt rename to app/src/main/java/fr/tuxgyver/noxely/library/LibraryRepository.kt index eddbddb..eccb0d4 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/library/LibraryRepository.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/library/LibraryRepository.kt @@ -1,6 +1,6 @@ -package fr.tuxgyver.cachette.library +package fr.tuxgyver.noxely.library -import fr.tuxgyver.cachette.model.MediaEntry +import fr.tuxgyver.noxely.model.MediaEntry import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.SharingStarted diff --git a/app/src/main/java/fr/tuxgyver/cachette/library/LocalMediaScanner.kt b/app/src/main/java/fr/tuxgyver/noxely/library/LocalMediaScanner.kt similarity index 91% rename from app/src/main/java/fr/tuxgyver/cachette/library/LocalMediaScanner.kt rename to app/src/main/java/fr/tuxgyver/noxely/library/LocalMediaScanner.kt index 52148b3..5e0a341 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/library/LocalMediaScanner.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/library/LocalMediaScanner.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette.library +package fr.tuxgyver.noxely.library import android.content.ContentUris import android.content.Context @@ -8,9 +8,9 @@ import androidx.core.net.toUri import android.os.Build import android.provider.MediaStore import androidx.core.content.ContextCompat -import fr.tuxgyver.cachette.model.MediaEntry -import fr.tuxgyver.cachette.model.MediaKind -import fr.tuxgyver.cachette.model.SourceKind +import fr.tuxgyver.noxely.model.MediaEntry +import fr.tuxgyver.noxely.model.MediaKind +import fr.tuxgyver.noxely.model.SourceKind import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext @@ -124,13 +124,16 @@ class LocalMediaScanner(private val context: Context) { } /** - * Musique et podcasts, hors enregistrements de Cachette : ceux-ci sont déjà décrits par la + * Musique et podcasts, hors enregistrements de Noxely : ceux-ci sont déjà décrits par la * bibliothèque, et les relire ici les afficherait en double. */ private fun audioSelection(): String { val base = "(${MediaStore.Audio.Media.IS_MUSIC} != 0 OR ${MediaStore.Audio.Media.IS_PODCAST} != 0)" return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { - "$base AND ${MediaStore.Audio.Media.RELATIVE_PATH} NOT LIKE 'Music/Cachette%'" + // L'ancien dossier reste exclu : les enregistrements d'avant le changement de nom + // sont toujours décrits par la bibliothèque et apparaîtraient sinon en double. + "$base AND ${MediaStore.Audio.Media.RELATIVE_PATH} NOT LIKE 'Music/Noxely%'" + + " AND ${MediaStore.Audio.Media.RELATIVE_PATH} NOT LIKE 'Music/Cachette%'" } else { base } diff --git a/app/src/main/java/fr/tuxgyver/cachette/library/PlaylistStore.kt b/app/src/main/java/fr/tuxgyver/noxely/library/PlaylistStore.kt similarity index 97% rename from app/src/main/java/fr/tuxgyver/cachette/library/PlaylistStore.kt rename to app/src/main/java/fr/tuxgyver/noxely/library/PlaylistStore.kt index 8898ad8..00fbf4b 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/library/PlaylistStore.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/library/PlaylistStore.kt @@ -1,7 +1,7 @@ -package fr.tuxgyver.cachette.library +package fr.tuxgyver.noxely.library import android.content.Context -import fr.tuxgyver.cachette.model.Playlist +import fr.tuxgyver.noxely.model.Playlist import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow diff --git a/app/src/main/java/fr/tuxgyver/cachette/model/Media.kt b/app/src/main/java/fr/tuxgyver/noxely/model/Media.kt similarity index 97% rename from app/src/main/java/fr/tuxgyver/cachette/model/Media.kt rename to app/src/main/java/fr/tuxgyver/noxely/model/Media.kt index 7e48f5e..7e6515c 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/model/Media.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/model/Media.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette.model +package fr.tuxgyver.noxely.model import kotlinx.serialization.Serializable diff --git a/app/src/main/java/fr/tuxgyver/cachette/model/Playlist.kt b/app/src/main/java/fr/tuxgyver/noxely/model/Playlist.kt similarity index 92% rename from app/src/main/java/fr/tuxgyver/cachette/model/Playlist.kt rename to app/src/main/java/fr/tuxgyver/noxely/model/Playlist.kt index 7046b88..47b7236 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/model/Playlist.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/model/Playlist.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette.model +package fr.tuxgyver.noxely.model import kotlinx.serialization.Serializable diff --git a/app/src/main/java/fr/tuxgyver/cachette/offline/DownloadTracker.kt b/app/src/main/java/fr/tuxgyver/noxely/offline/DownloadTracker.kt similarity index 93% rename from app/src/main/java/fr/tuxgyver/cachette/offline/DownloadTracker.kt rename to app/src/main/java/fr/tuxgyver/noxely/offline/DownloadTracker.kt index 512aaeb..bf64fd8 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/offline/DownloadTracker.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/offline/DownloadTracker.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette.offline +package fr.tuxgyver.noxely.offline import android.content.Context import androidx.annotation.OptIn @@ -8,7 +8,7 @@ import androidx.media3.exoplayer.offline.Download import androidx.media3.exoplayer.offline.DownloadManager import androidx.media3.exoplayer.offline.DownloadRequest import androidx.media3.exoplayer.offline.DownloadService -import fr.tuxgyver.cachette.model.MediaEntry +import fr.tuxgyver.noxely.model.MediaEntry import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.delay @@ -110,7 +110,7 @@ class DownloadTracker( // Ré-ajouter la même requête relance un téléchargement en échec. DownloadService.sendAddDownload( context, - CachetteDownloadService::class.java, + NoxelyDownloadService::class.java, download.request, false, ) @@ -129,15 +129,15 @@ class DownloadTracker( val request = DownloadRequest.Builder(entry.id, entry.uri.toUri()) .setData(entry.title.toByteArray()) .build() - DownloadService.sendAddDownload(context, CachetteDownloadService::class.java, request, false) + DownloadService.sendAddDownload(context, NoxelyDownloadService::class.java, request, false) } fun remove(id: String) { - DownloadService.sendRemoveDownload(context, CachetteDownloadService::class.java, id, false) + DownloadService.sendRemoveDownload(context, NoxelyDownloadService::class.java, id, false) } fun removeAll() { - DownloadService.sendRemoveAllDownloads(context, CachetteDownloadService::class.java, false) + DownloadService.sendRemoveAllDownloads(context, NoxelyDownloadService::class.java, false) } private suspend fun reload() = withContext(Dispatchers.IO) { diff --git a/app/src/main/java/fr/tuxgyver/cachette/offline/CachetteDownloadService.kt b/app/src/main/java/fr/tuxgyver/noxely/offline/NoxelyDownloadService.kt similarity index 87% rename from app/src/main/java/fr/tuxgyver/cachette/offline/CachetteDownloadService.kt rename to app/src/main/java/fr/tuxgyver/noxely/offline/NoxelyDownloadService.kt index 27c495a..ad942b5 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/offline/CachetteDownloadService.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/offline/NoxelyDownloadService.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette.offline +package fr.tuxgyver.noxely.offline import android.app.Notification import androidx.annotation.OptIn @@ -9,15 +9,15 @@ import androidx.media3.exoplayer.offline.DownloadService import androidx.media3.exoplayer.scheduler.Scheduler import androidx.media3.exoplayer.workmanager.WorkManagerScheduler import androidx.media3.exoplayer.offline.DownloadNotificationHelper -import fr.tuxgyver.cachette.CachetteApp -import fr.tuxgyver.cachette.R +import fr.tuxgyver.noxely.NoxelyApp +import fr.tuxgyver.noxely.R /** * Service de mise en cache. Il tourne en premier plan pendant les téléchargements et délègue la * reprise après coupure réseau ou redémarrage à WorkManager. */ @OptIn(UnstableApi::class) -class CachetteDownloadService : DownloadService( +class NoxelyDownloadService : DownloadService( NOTIFICATION_ID, DEFAULT_FOREGROUND_NOTIFICATION_UPDATE_INTERVAL, CHANNEL_ID, @@ -29,7 +29,7 @@ class CachetteDownloadService : DownloadService( } override fun getDownloadManager(): DownloadManager = - (application as CachetteApp).container.offline.downloadManager + (application as NoxelyApp).container.offline.downloadManager override fun getScheduler(): Scheduler = WorkManagerScheduler(this, WORK_NAME) diff --git a/app/src/main/java/fr/tuxgyver/cachette/offline/OfflineModule.kt b/app/src/main/java/fr/tuxgyver/noxely/offline/OfflineModule.kt similarity index 96% rename from app/src/main/java/fr/tuxgyver/cachette/offline/OfflineModule.kt rename to app/src/main/java/fr/tuxgyver/noxely/offline/OfflineModule.kt index 2535e76..6808ad5 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/offline/OfflineModule.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/offline/OfflineModule.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette.offline +package fr.tuxgyver.noxely.offline import android.content.Context import androidx.annotation.OptIn @@ -31,7 +31,7 @@ class OfflineModule(private val context: Context) { private val httpDataSourceFactory: DataSource.Factory by lazy { DefaultHttpDataSource.Factory() - .setUserAgent("Cachette/1.0 (Android)") + .setUserAgent("Noxely/1.0 (Android)") .setAllowCrossProtocolRedirects(true) .setConnectTimeoutMs(20_000) .setReadTimeoutMs(30_000) diff --git a/app/src/main/java/fr/tuxgyver/cachette/playback/MediaItems.kt b/app/src/main/java/fr/tuxgyver/noxely/playback/MediaItems.kt similarity index 89% rename from app/src/main/java/fr/tuxgyver/cachette/playback/MediaItems.kt rename to app/src/main/java/fr/tuxgyver/noxely/playback/MediaItems.kt index 78051a0..ac966e8 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/playback/MediaItems.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/playback/MediaItems.kt @@ -1,9 +1,9 @@ -package fr.tuxgyver.cachette.playback +package fr.tuxgyver.noxely.playback import androidx.core.net.toUri import androidx.media3.common.MediaItem import androidx.media3.common.MediaMetadata -import fr.tuxgyver.cachette.model.MediaEntry +import fr.tuxgyver.noxely.model.MediaEntry /** * Les `MediaItem` transmis par un contrôleur perdent leur URI en chemin : c'est le service qui la diff --git a/app/src/main/java/fr/tuxgyver/cachette/playback/PlaybackService.kt b/app/src/main/java/fr/tuxgyver/noxely/playback/PlaybackService.kt similarity index 91% rename from app/src/main/java/fr/tuxgyver/cachette/playback/PlaybackService.kt rename to app/src/main/java/fr/tuxgyver/noxely/playback/PlaybackService.kt index bf7925c..fcb377a 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/playback/PlaybackService.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/playback/PlaybackService.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette.playback +package fr.tuxgyver.noxely.playback import android.app.PendingIntent import android.content.Intent @@ -13,8 +13,8 @@ import androidx.media3.session.MediaSession import androidx.media3.session.MediaSessionService import com.google.common.util.concurrent.Futures import com.google.common.util.concurrent.ListenableFuture -import fr.tuxgyver.cachette.CachetteApp -import fr.tuxgyver.cachette.MainActivity +import fr.tuxgyver.noxely.NoxelyApp +import fr.tuxgyver.noxely.MainActivity /** Lecture audio et vidéo en arrière-plan, avec notification et commandes système. */ @OptIn(UnstableApi::class) @@ -24,7 +24,7 @@ class PlaybackService : MediaSessionService() { override fun onCreate() { super.onCreate() - val container = (application as CachetteApp).container + val container = (application as NoxelyApp).container val player = ExoPlayer.Builder(this) .setMediaSourceFactory(DefaultMediaSourceFactory(container.offline.playbackDataSourceFactory())) @@ -76,7 +76,7 @@ class PlaybackService : MediaSessionService() { controller: MediaSession.ControllerInfo, mediaItems: MutableList, ): ListenableFuture> { - val library = (application as CachetteApp).container.library + val library = (application as NoxelyApp).container.library val resolved = mediaItems.mapTo(mutableListOf()) { item -> library.entry(item.mediaId)?.toMediaItem() ?: item } diff --git a/app/src/main/java/fr/tuxgyver/cachette/playback/PlayerController.kt b/app/src/main/java/fr/tuxgyver/noxely/playback/PlayerController.kt similarity index 97% rename from app/src/main/java/fr/tuxgyver/cachette/playback/PlayerController.kt rename to app/src/main/java/fr/tuxgyver/noxely/playback/PlayerController.kt index e84e115..da9f09e 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/playback/PlayerController.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/playback/PlayerController.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette.playback +package fr.tuxgyver.noxely.playback import android.content.ComponentName import android.content.Context @@ -6,8 +6,8 @@ import androidx.core.content.ContextCompat import androidx.media3.common.Player import androidx.media3.session.MediaController import androidx.media3.session.SessionToken -import fr.tuxgyver.cachette.model.MediaEntry -import fr.tuxgyver.cachette.model.MediaKind +import fr.tuxgyver.noxely.model.MediaEntry +import fr.tuxgyver.noxely.model.MediaKind import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.delay import kotlinx.coroutines.flow.MutableStateFlow diff --git a/app/src/main/java/fr/tuxgyver/cachette/radio/RadioDirectory.kt b/app/src/main/java/fr/tuxgyver/noxely/radio/RadioDirectory.kt similarity index 98% rename from app/src/main/java/fr/tuxgyver/cachette/radio/RadioDirectory.kt rename to app/src/main/java/fr/tuxgyver/noxely/radio/RadioDirectory.kt index fbd48ca..5c50c8d 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/radio/RadioDirectory.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/radio/RadioDirectory.kt @@ -1,6 +1,6 @@ -package fr.tuxgyver.cachette.radio +package fr.tuxgyver.noxely.radio -import fr.tuxgyver.cachette.sources.openConnection +import fr.tuxgyver.noxely.sources.openConnection import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import kotlinx.serialization.json.Json diff --git a/app/src/main/java/fr/tuxgyver/cachette/radio/RadioStation.kt b/app/src/main/java/fr/tuxgyver/noxely/radio/RadioStation.kt similarity index 94% rename from app/src/main/java/fr/tuxgyver/cachette/radio/RadioStation.kt rename to app/src/main/java/fr/tuxgyver/noxely/radio/RadioStation.kt index 1132dd4..18d881c 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/radio/RadioStation.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/radio/RadioStation.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette.radio +package fr.tuxgyver.noxely.radio /** Une station de radio et son flux direct. */ data class RadioStation( diff --git a/app/src/main/java/fr/tuxgyver/cachette/radio/Recorder.kt b/app/src/main/java/fr/tuxgyver/noxely/radio/Recorder.kt similarity index 98% rename from app/src/main/java/fr/tuxgyver/cachette/radio/Recorder.kt rename to app/src/main/java/fr/tuxgyver/noxely/radio/Recorder.kt index 57ceb8b..81caf8d 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/radio/Recorder.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/radio/Recorder.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette.radio +package fr.tuxgyver.noxely.radio import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow diff --git a/app/src/main/java/fr/tuxgyver/cachette/radio/RecordingService.kt b/app/src/main/java/fr/tuxgyver/noxely/radio/RecordingService.kt similarity index 96% rename from app/src/main/java/fr/tuxgyver/cachette/radio/RecordingService.kt rename to app/src/main/java/fr/tuxgyver/noxely/radio/RecordingService.kt index a6226b8..48dc1a9 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/radio/RecordingService.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/radio/RecordingService.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette.radio +package fr.tuxgyver.noxely.radio import android.app.Notification import android.app.NotificationChannel @@ -11,13 +11,13 @@ import android.content.pm.ServiceInfo import android.os.Build import android.os.IBinder import androidx.core.app.NotificationCompat -import fr.tuxgyver.cachette.CachetteApp -import fr.tuxgyver.cachette.MainActivity -import fr.tuxgyver.cachette.R -import fr.tuxgyver.cachette.model.MediaEntry -import fr.tuxgyver.cachette.model.MediaKind -import fr.tuxgyver.cachette.model.SourceKind -import fr.tuxgyver.cachette.sources.openConnection +import fr.tuxgyver.noxely.NoxelyApp +import fr.tuxgyver.noxely.MainActivity +import fr.tuxgyver.noxely.R +import fr.tuxgyver.noxely.model.MediaEntry +import fr.tuxgyver.noxely.model.MediaKind +import fr.tuxgyver.noxely.model.SourceKind +import fr.tuxgyver.noxely.sources.openConnection import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Job @@ -246,7 +246,7 @@ class RecordingService : Service() { val published = output.finish(title, elapsed) if (published != null) { val (uri, size) = published - val container = (application as CachetteApp).container + val container = (application as NoxelyApp).container val entry = MediaEntry( id = "rec:${uri.hashCode()}", source = SourceKind.RECORDING, @@ -343,8 +343,8 @@ class RecordingService : Service() { replace(Regex("[^\\p{L}\\p{N} _-]"), "").trim().replace(' ', '_').take(40).ifBlank { "radio" } companion object { - private const val ACTION_START = "fr.tuxgyver.cachette.RECORD_START" - private const val ACTION_STOP = "fr.tuxgyver.cachette.RECORD_STOP" + private const val ACTION_START = "fr.tuxgyver.noxely.RECORD_START" + private const val ACTION_STOP = "fr.tuxgyver.noxely.RECORD_STOP" private const val EXTRA_ID = "id" private const val EXTRA_NAME = "name" private const val EXTRA_URL = "url" diff --git a/app/src/main/java/fr/tuxgyver/cachette/radio/RecordingSink.kt b/app/src/main/java/fr/tuxgyver/noxely/radio/RecordingSink.kt similarity index 95% rename from app/src/main/java/fr/tuxgyver/cachette/radio/RecordingSink.kt rename to app/src/main/java/fr/tuxgyver/noxely/radio/RecordingSink.kt index 64dcd68..3f67820 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/radio/RecordingSink.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/radio/RecordingSink.kt @@ -1,18 +1,18 @@ -package fr.tuxgyver.cachette.radio +package fr.tuxgyver.noxely.radio import android.content.ContentValues import android.content.Context import android.net.Uri import android.os.Build import android.provider.MediaStore -import fr.tuxgyver.cachette.model.MediaEntry +import fr.tuxgyver.noxely.model.MediaEntry import java.io.File import java.io.OutputStream /** * Destination d'un enregistrement radio. * - * À partir d'Android 10, le fichier est écrit dans `Music/Cachette` via MediaStore : il devient + * À partir d'Android 10, le fichier est écrit dans `Music/Noxely` via MediaStore : il devient * visible de tous les lecteurs de l'appareil et survit à la désinstallation. En deçà, l'écriture * dans MediaStore réclamerait une permission de stockage que l'application n'a pas besoin de * demander par ailleurs, donc le fichier reste dans le dossier privé. @@ -100,7 +100,7 @@ class RecordingSink( replace(Regex("[^\\p{L}\\p{N} ._-]"), "").trim().take(80).ifBlank { "enregistrement" } companion object { - const val RELATIVE_PATH = "Music/Cachette" + const val RELATIVE_PATH = "Music/Noxely" private const val MIN_USEFUL_BYTES = 16 * 1024L /** Supprime un enregistrement, quel que soit l'endroit où il avait été écrit. */ diff --git a/app/src/main/java/fr/tuxgyver/cachette/sources/ArchiveOrgCatalog.kt b/app/src/main/java/fr/tuxgyver/noxely/sources/ArchiveOrgCatalog.kt similarity index 97% rename from app/src/main/java/fr/tuxgyver/cachette/sources/ArchiveOrgCatalog.kt rename to app/src/main/java/fr/tuxgyver/noxely/sources/ArchiveOrgCatalog.kt index 5860759..c3f3671 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/sources/ArchiveOrgCatalog.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/sources/ArchiveOrgCatalog.kt @@ -1,8 +1,8 @@ -package fr.tuxgyver.cachette.sources +package fr.tuxgyver.noxely.sources -import fr.tuxgyver.cachette.model.MediaEntry -import fr.tuxgyver.cachette.model.MediaKind -import fr.tuxgyver.cachette.model.SourceKind +import fr.tuxgyver.noxely.model.MediaEntry +import fr.tuxgyver.noxely.model.MediaKind +import fr.tuxgyver.noxely.model.SourceKind import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import kotlinx.serialization.json.Json diff --git a/app/src/main/java/fr/tuxgyver/cachette/sources/Catalog.kt b/app/src/main/java/fr/tuxgyver/noxely/sources/Catalog.kt similarity index 97% rename from app/src/main/java/fr/tuxgyver/cachette/sources/Catalog.kt rename to app/src/main/java/fr/tuxgyver/noxely/sources/Catalog.kt index 571679a..fbd970c 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/sources/Catalog.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/sources/Catalog.kt @@ -1,6 +1,6 @@ -package fr.tuxgyver.cachette.sources +package fr.tuxgyver.noxely.sources -import fr.tuxgyver.cachette.model.MediaEntry +import fr.tuxgyver.noxely.model.MediaEntry /** Un résultat de recherche : un album, un livre ou un morceau, pas encore un fichier. */ data class CatalogItem( diff --git a/app/src/main/java/fr/tuxgyver/cachette/sources/Http.kt b/app/src/main/java/fr/tuxgyver/noxely/sources/Http.kt similarity index 86% rename from app/src/main/java/fr/tuxgyver/cachette/sources/Http.kt rename to app/src/main/java/fr/tuxgyver/noxely/sources/Http.kt index 3cccc57..b369d9e 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/sources/Http.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/sources/Http.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette.sources +package fr.tuxgyver.noxely.sources import java.net.HttpURLConnection import java.net.URL @@ -19,5 +19,5 @@ internal fun openConnection( instanceFollowRedirects = true connectTimeout = 15_000 readTimeout = readTimeoutMs - setRequestProperty("User-Agent", "Cachette/1.1 (Android)") + setRequestProperty("User-Agent", "Noxely/1.1 (Android)") } diff --git a/app/src/main/java/fr/tuxgyver/cachette/sources/LibriVoxCatalog.kt b/app/src/main/java/fr/tuxgyver/noxely/sources/LibriVoxCatalog.kt similarity index 98% rename from app/src/main/java/fr/tuxgyver/cachette/sources/LibriVoxCatalog.kt rename to app/src/main/java/fr/tuxgyver/noxely/sources/LibriVoxCatalog.kt index ed785a3..e74d42c 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/sources/LibriVoxCatalog.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/sources/LibriVoxCatalog.kt @@ -1,6 +1,6 @@ -package fr.tuxgyver.cachette.sources +package fr.tuxgyver.noxely.sources -import fr.tuxgyver.cachette.model.MediaEntry +import fr.tuxgyver.noxely.model.MediaEntry import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.async import kotlinx.coroutines.awaitAll diff --git a/app/src/main/java/fr/tuxgyver/cachette/sources/RssImporter.kt b/app/src/main/java/fr/tuxgyver/noxely/sources/RssImporter.kt similarity index 96% rename from app/src/main/java/fr/tuxgyver/cachette/sources/RssImporter.kt rename to app/src/main/java/fr/tuxgyver/noxely/sources/RssImporter.kt index 7fcdb15..99e9efa 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/sources/RssImporter.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/sources/RssImporter.kt @@ -1,9 +1,9 @@ -package fr.tuxgyver.cachette.sources +package fr.tuxgyver.noxely.sources import android.util.Xml -import fr.tuxgyver.cachette.model.MediaEntry -import fr.tuxgyver.cachette.model.MediaKind -import fr.tuxgyver.cachette.model.SourceKind +import fr.tuxgyver.noxely.model.MediaEntry +import fr.tuxgyver.noxely.model.MediaKind +import fr.tuxgyver.noxely.model.SourceKind import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import org.xmlpull.v1.XmlPullParser diff --git a/app/src/main/java/fr/tuxgyver/cachette/sources/UrlImporter.kt b/app/src/main/java/fr/tuxgyver/noxely/sources/UrlImporter.kt similarity index 93% rename from app/src/main/java/fr/tuxgyver/cachette/sources/UrlImporter.kt rename to app/src/main/java/fr/tuxgyver/noxely/sources/UrlImporter.kt index d629c0f..af72181 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/sources/UrlImporter.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/sources/UrlImporter.kt @@ -1,10 +1,10 @@ -package fr.tuxgyver.cachette.sources +package fr.tuxgyver.noxely.sources import android.net.Uri import androidx.core.net.toUri -import fr.tuxgyver.cachette.model.MediaEntry -import fr.tuxgyver.cachette.model.MediaKind -import fr.tuxgyver.cachette.model.SourceKind +import fr.tuxgyver.noxely.model.MediaEntry +import fr.tuxgyver.noxely.model.MediaKind +import fr.tuxgyver.noxely.model.SourceKind import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext diff --git a/app/src/main/java/fr/tuxgyver/cachette/sources/WikimediaCatalog.kt b/app/src/main/java/fr/tuxgyver/noxely/sources/WikimediaCatalog.kt similarity index 95% rename from app/src/main/java/fr/tuxgyver/cachette/sources/WikimediaCatalog.kt rename to app/src/main/java/fr/tuxgyver/noxely/sources/WikimediaCatalog.kt index 9f1853c..62ca71a 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/sources/WikimediaCatalog.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/sources/WikimediaCatalog.kt @@ -1,8 +1,8 @@ -package fr.tuxgyver.cachette.sources +package fr.tuxgyver.noxely.sources -import fr.tuxgyver.cachette.model.MediaEntry -import fr.tuxgyver.cachette.model.MediaKind -import fr.tuxgyver.cachette.model.SourceKind +import fr.tuxgyver.noxely.model.MediaEntry +import fr.tuxgyver.noxely.model.MediaKind +import fr.tuxgyver.noxely.model.SourceKind import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import kotlinx.serialization.json.Json diff --git a/app/src/main/java/fr/tuxgyver/cachette/ui/CachetteRoot.kt b/app/src/main/java/fr/tuxgyver/noxely/ui/NoxelyRoot.kt similarity index 89% rename from app/src/main/java/fr/tuxgyver/cachette/ui/CachetteRoot.kt rename to app/src/main/java/fr/tuxgyver/noxely/ui/NoxelyRoot.kt index 58ac547..b133a16 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/ui/CachetteRoot.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/ui/NoxelyRoot.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette.ui +package fr.tuxgyver.noxely.ui import androidx.activity.compose.BackHandler import androidx.compose.animation.AnimatedVisibility @@ -35,22 +35,23 @@ import androidx.navigation.compose.NavHost import androidx.navigation.compose.composable import androidx.navigation.compose.currentBackStackEntryAsState import androidx.navigation.compose.rememberNavController -import fr.tuxgyver.cachette.AppContainer -import fr.tuxgyver.cachette.model.MediaEntry -import fr.tuxgyver.cachette.model.SourceKind -import fr.tuxgyver.cachette.sources.CatalogId -import fr.tuxgyver.cachette.ui.browse.CatalogBrowseScreen -import fr.tuxgyver.cachette.ui.browse.CatalogItemScreen -import fr.tuxgyver.cachette.ui.browse.SourceBrowseScreen -import fr.tuxgyver.cachette.ui.library.LibraryScreen -import fr.tuxgyver.cachette.ui.offline.DownloadsScreen -import fr.tuxgyver.cachette.ui.player.MiniPlayer -import fr.tuxgyver.cachette.ui.radio.RadioScreen -import fr.tuxgyver.cachette.ui.playlists.AddToPlaylistSheet -import fr.tuxgyver.cachette.ui.playlists.PlaylistDetailScreen -import fr.tuxgyver.cachette.ui.playlists.PlaylistsScreen -import fr.tuxgyver.cachette.ui.player.NowPlayingScreen -import fr.tuxgyver.cachette.ui.sources.SourcesScreen +import fr.tuxgyver.noxely.AppContainer +import fr.tuxgyver.noxely.model.MediaEntry +import fr.tuxgyver.noxely.model.SourceKind +import fr.tuxgyver.noxely.sources.CatalogId +import fr.tuxgyver.noxely.ui.about.AboutScreen +import fr.tuxgyver.noxely.ui.browse.CatalogBrowseScreen +import fr.tuxgyver.noxely.ui.browse.CatalogItemScreen +import fr.tuxgyver.noxely.ui.browse.SourceBrowseScreen +import fr.tuxgyver.noxely.ui.library.LibraryScreen +import fr.tuxgyver.noxely.ui.offline.DownloadsScreen +import fr.tuxgyver.noxely.ui.player.MiniPlayer +import fr.tuxgyver.noxely.ui.radio.RadioScreen +import fr.tuxgyver.noxely.ui.playlists.AddToPlaylistSheet +import fr.tuxgyver.noxely.ui.playlists.PlaylistDetailScreen +import fr.tuxgyver.noxely.ui.playlists.PlaylistsScreen +import fr.tuxgyver.noxely.ui.player.NowPlayingScreen +import fr.tuxgyver.noxely.ui.sources.SourcesScreen import kotlinx.coroutines.launch private enum class Tab(val route: String, val label: String, val icon: ImageVector) { @@ -65,9 +66,10 @@ private const val CATALOG_ROUTE = "catalog/{catalog}" private const val CATALOG_ITEM_ROUTE = "catalog/{catalog}/item" private const val PLAYLIST_ROUTE = "playlist/{playlist}" private const val RADIO_ROUTE = "radio" +private const val ABOUT_ROUTE = "about" @Composable -fun CachetteRoot(container: AppContainer) { +fun NoxelyRoot(container: AppContainer) { val navController = rememberNavController() val backStackEntry by navController.currentBackStackEntryAsState() val currentRoute = backStackEntry?.destination?.route @@ -145,6 +147,10 @@ fun CachetteRoot(container: AppContainer) { ) } + composable(ABOUT_ROUTE) { + AboutScreen(onBack = navController::popBackStack, contentPadding = padding) + } + composable(RADIO_ROUTE) { RadioScreen( container = container, @@ -174,6 +180,7 @@ fun CachetteRoot(container: AppContainer) { onBrowseSource = { navController.navigate("browse/${it.name}") }, onBrowseCatalog = { navController.navigate("catalog/${it.name}") }, onBrowseRadio = { navController.navigate(RADIO_ROUTE) }, + onOpenAbout = { navController.navigate(ABOUT_ROUTE) }, ) } diff --git a/app/src/main/java/fr/tuxgyver/noxely/ui/about/AboutScreen.kt b/app/src/main/java/fr/tuxgyver/noxely/ui/about/AboutScreen.kt new file mode 100644 index 0000000..4d9844f --- /dev/null +++ b/app/src/main/java/fr/tuxgyver/noxely/ui/about/AboutScreen.kt @@ -0,0 +1,355 @@ +package fr.tuxgyver.noxely.ui.about + +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.width +import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.foundation.lazy.items +import androidx.compose.foundation.shape.CircleShape +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.automirrored.rounded.ArrowBack +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.ScrollableTabRow +import androidx.compose.material3.Surface +import androidx.compose.material3.Tab +import androidx.compose.material3.Text +import androidx.compose.material3.TopAppBar +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableIntStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.runtime.setValue +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.layout.ContentScale +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.text.SpanStyle +import androidx.compose.ui.text.buildAnnotatedString +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.withStyle +import androidx.compose.ui.unit.dp +import fr.tuxgyver.noxely.R + +private val TABS = listOf( + "⭐ Fonctions", + "🛡️ Garanties", + "🧱 Technique", + "🕓 Journal", + "👤 Auteur", +) + +/** + * Page « À propos » : ce que fait l'application, ce qu'elle garantit, avec quoi elle est faite, + * ce qui a changé et qui en répond. L'en-tête ne défile pas ; seul l'onglet courant défile. + */ +@OptIn(ExperimentalMaterial3Api::class) +@Composable +fun AboutScreen(onBack: () -> Unit, contentPadding: PaddingValues) { + var tab by rememberSaveable { mutableIntStateOf(0) } + val listPadding = PaddingValues(bottom = contentPadding.calculateBottomPadding()) + + Column(Modifier.fillMaxSize()) { + TopAppBar( + title = { Text("À propos") }, + navigationIcon = { + IconButton(onClick = onBack) { + Icon(Icons.AutoMirrored.Rounded.ArrowBack, contentDescription = "Retour") + } + }, + ) + + Identity() + + ScrollableTabRow(selectedTabIndex = tab, edgePadding = 16.dp) { + TABS.forEachIndexed { index, label -> + Tab( + selected = tab == index, + onClick = { tab = index }, + text = { Text(label, style = MaterialTheme.typography.labelLarge) }, + ) + } + } + + when (tab) { + 0 -> FeaturesTab(listPadding) + 1 -> GuaranteesTab(listPadding) + 2 -> StackTab(listPadding) + 3 -> ChangelogTab(listPadding) + else -> AuthorTab(listPadding) + } + } +} + +@Composable +private fun Identity() { + Column( + horizontalAlignment = Alignment.CenterHorizontally, + modifier = Modifier + .fillMaxWidth() + .padding(horizontal = 16.dp), + ) { + Image( + painter = painterResource(R.mipmap.ic_launcher_foreground), + contentDescription = null, + contentScale = ContentScale.Crop, + modifier = Modifier + .size(80.dp) + .clip(RoundedCornerShape(20.dp)), + ) + Spacer(Modifier.size(6.dp)) + Text(AppInfo.NAME, style = MaterialTheme.typography.headlineSmall) + Text( + text = AppInfo.TAGLINE, + style = MaterialTheme.typography.bodySmall, + color = MaterialTheme.colorScheme.onSurfaceVariant, + ) + Spacer(Modifier.size(10.dp)) + Row(horizontalArrangement = Arrangement.spacedBy(8.dp)) { + Pill("v${AppInfo.VERSION}", MaterialTheme.colorScheme.primary) + // Rouge tant qu'aucune licence n'est déclarée : une garantie qui manque doit se voir. + Pill( + text = AppInfo.LICENSE, + color = if (AppInfo.LICENSE_DEFINED) MaterialTheme.colorScheme.secondary + else MaterialTheme.colorScheme.error, + ) + Pill("Hors ligne", Color(0xFF2E7D32)) + } + Spacer(Modifier.size(12.dp)) + } +} + +@Composable +private fun Pill(text: String, color: Color) { + Surface(color = color.copy(alpha = 0.14f), shape = CircleShape) { + Text( + text = text, + style = MaterialTheme.typography.labelMedium, + color = color, + modifier = Modifier.padding(horizontal = 12.dp, vertical = 5.dp), + ) + } +} + +@Composable +private fun FeaturesTab(padding: PaddingValues) { + LazyColumn( + contentPadding = padding, + verticalArrangement = Arrangement.spacedBy(10.dp), + modifier = Modifier.padding(horizontal = 16.dp), + ) { + items(AppInfo.FEATURES) { (title, description) -> + Column { + Text(title, style = MaterialTheme.typography.titleSmall) + Text( + text = description, + style = MaterialTheme.typography.bodyMedium, + color = MaterialTheme.colorScheme.onSurfaceVariant, + ) + } + } + item { Spacer(Modifier.size(16.dp)) } + } +} + +@Composable +private fun GuaranteesTab(padding: PaddingValues) { + LazyColumn( + contentPadding = padding, + verticalArrangement = Arrangement.spacedBy(8.dp), + modifier = Modifier.padding(horizontal = 16.dp), + ) { + item { + Text( + text = AppInfo.GUARANTEES_INTRO, + style = MaterialTheme.typography.bodyMedium, + ) + Spacer(Modifier.size(4.dp)) + } + items(AppInfo.GUARANTEES) { guarantee -> + Row { + Text("•", color = MaterialTheme.colorScheme.secondary) + Spacer(Modifier.width(10.dp)) + Text( + text = guarantee, + style = MaterialTheme.typography.bodyMedium, + color = MaterialTheme.colorScheme.onSurfaceVariant, + ) + } + } + item { Spacer(Modifier.size(16.dp)) } + } +} + +@Composable +private fun StackTab(padding: PaddingValues) { + LazyColumn( + contentPadding = padding, + verticalArrangement = Arrangement.spacedBy(10.dp), + modifier = Modifier.padding(horizontal = 16.dp), + ) { + items(AppInfo.STACK) { (layer, tools) -> + Row(verticalAlignment = Alignment.Top) { + Text( + text = layer, + style = MaterialTheme.typography.titleSmall, + modifier = Modifier.width(116.dp), + ) + Text( + text = tools, + style = MaterialTheme.typography.bodyMedium, + color = MaterialTheme.colorScheme.onSurfaceVariant, + modifier = Modifier.weight(1f), + ) + } + } + item { Spacer(Modifier.size(16.dp)) } + } +} + +@Composable +private fun ChangelogTab(padding: PaddingValues) { + val context = LocalContext.current + val lines = remember { readChangelog(context) } + + LazyColumn( + contentPadding = padding, + verticalArrangement = Arrangement.spacedBy(4.dp), + modifier = Modifier.padding(horizontal = 16.dp), + ) { + if (lines.isEmpty()) { + item { + Text( + text = "Journal indisponible.", + style = MaterialTheme.typography.bodyMedium, + color = MaterialTheme.colorScheme.onSurfaceVariant, + ) + } + } + items(lines) { line -> + when (line) { + is ChangelogLine.Version -> { + Spacer(Modifier.size(8.dp)) + Text( + text = line.text, + style = MaterialTheme.typography.titleMedium, + color = MaterialTheme.colorScheme.primary, + ) + } + + is ChangelogLine.Section -> Text( + text = line.text, + style = MaterialTheme.typography.labelLarge, + color = MaterialTheme.colorScheme.secondary, + ) + + is ChangelogLine.Bullet -> Row { + Text("•", color = MaterialTheme.colorScheme.onSurfaceVariant) + Spacer(Modifier.width(8.dp)) + Text( + text = emphasised(line.text), + style = MaterialTheme.typography.bodySmall, + color = MaterialTheme.colorScheme.onSurfaceVariant, + ) + } + } + } + item { Spacer(Modifier.size(16.dp)) } + } +} + +/** Le fichier n'emploie que du gras : inutile d'embarquer un analyseur Markdown complet. */ +@Composable +private fun emphasised(text: String) = buildAnnotatedString { + var rest = text + while (true) { + val open = rest.indexOf("**") + if (open < 0) break + val close = rest.indexOf("**", open + 2) + if (close < 0) break + append(rest.substring(0, open)) + withStyle(SpanStyle(fontWeight = FontWeight.SemiBold)) { + append(rest.substring(open + 2, close)) + } + rest = rest.substring(close + 2) + } + append(rest) +} + +@Composable +private fun AuthorTab(padding: PaddingValues) { + LazyColumn( + contentPadding = padding, + modifier = Modifier.padding(horizontal = 16.dp), + ) { + item { + Surface( + color = MaterialTheme.colorScheme.surfaceVariant, + shape = MaterialTheme.shapes.large, + modifier = Modifier.fillMaxWidth(), + ) { + Column(Modifier.padding(20.dp)) { + Row(verticalAlignment = Alignment.CenterVertically) { + Box( + contentAlignment = Alignment.Center, + modifier = Modifier + .size(52.dp) + .clip(CircleShape), + ) { + Surface(color = MaterialTheme.colorScheme.primary, shape = CircleShape) { + Box(Modifier.size(52.dp), contentAlignment = Alignment.Center) { + Text( + text = AppInfo.AUTHOR.take(1).uppercase(), + style = MaterialTheme.typography.headlineSmall, + color = MaterialTheme.colorScheme.onPrimary, + ) + } + } + } + Spacer(Modifier.width(16.dp)) + Column { + Text(AppInfo.AUTHOR, style = MaterialTheme.typography.titleMedium) + Text( + text = AppInfo.AUTHOR_ROLE, + style = MaterialTheme.typography.bodySmall, + color = MaterialTheme.colorScheme.onSurfaceVariant, + ) + } + } + + Spacer(Modifier.size(18.dp)) + Text("Dépôt", style = MaterialTheme.typography.labelMedium) + Text( + text = AppInfo.REPOSITORY, + style = MaterialTheme.typography.bodySmall, + color = MaterialTheme.colorScheme.primary, + ) + + Spacer(Modifier.size(18.dp)) + Text( + text = AppInfo.AUTHORSHIP, + style = MaterialTheme.typography.bodySmall, + color = MaterialTheme.colorScheme.onSurfaceVariant, + ) + } + } + Spacer(Modifier.size(16.dp)) + } + } +} diff --git a/app/src/main/java/fr/tuxgyver/noxely/ui/about/AppInfo.kt b/app/src/main/java/fr/tuxgyver/noxely/ui/about/AppInfo.kt new file mode 100644 index 0000000..86ec13e --- /dev/null +++ b/app/src/main/java/fr/tuxgyver/noxely/ui/about/AppInfo.kt @@ -0,0 +1,83 @@ +package fr.tuxgyver.noxely.ui.about + +import fr.tuxgyver.noxely.BuildConfig + +/** + * Contenu de la page « À propos », séparé de son rendu. + * + * Tout ce qui est écrit ici se vérifie dans le dépôt : une fonction décrite existe, une garantie + * annoncée est tenue par du code. La version n'est pas recopiée mais lue du manifeste. + */ +object AppInfo { + + const val NAME = "Noxely" + const val TAGLINE = "Mettez la musique de côté pendant que vous avez du réseau." + val VERSION: String get() = BuildConfig.VERSION_NAME + + const val REPOSITORY = "https://git.tuxtech.fr/tuxgyver/Noxely" + const val AUTHOR = "Johnny" + const val AUTHOR_ROLE = "Conception, direction et supervision" + const val AUTHORSHIP = + "Application développée avec l'assistance de l'IA, sous la direction et la supervision de Johnny." + + /** Aucune licence n'est déclarée dans le dépôt : la pastille le signale plutôt que d'en inventer une. */ + const val LICENSE = "Licence à définir" + const val LICENSE_DEFINED = false + + /** Ce que fait l'application, du point de vue de qui l'utilise. */ + val FEATURES = listOf( + "Écouter sans réseau" to + "Ce que vous mettez de côté reste lisible dans le métro, en avion ou forfait épuisé. " + + "Audio et vidéo, avec les commandes au casque et sur l'écran verrouillé.", + "Choisir piste par piste" to + "Un album ou un livre affiche ses pistes avec leur durée et leur taille. Vous cochez " + + "ce que vous emportez, et le bouton annonce le poids exact avant de lancer.", + "Essayer avant de garder" to + "Un appui sur une piste la joue en ligne, sans rien mettre en cache. On décide après.", + "Puiser dans des catalogues libres" to + "Internet Archive, Underground (netlabels et Free Music Archive), LibriVox et " + + "Wikimedia Commons, sans compte ni clé, avec filtrage par langue.", + "Écouter et enregistrer la radio" to + "Les stations les plus écoutées, ce qu'elles diffusent à l'instant, et " + + "l'enregistrement d'un direct — qui prend le nom du morceau annoncé.", + "Guetter un morceau" to + "Vous nommez un titre : l'enregistrement se déclenche dès que la station l'annonce, " + + "et s'arrête à la fin du morceau.", + "Organiser en playlists" to + "Des listes nommées, alimentées d'un appui long, lues à la suite.", + "Rester à jour" to + "L'application surveille les publications du dépôt, télécharge la nouvelle version " + + "en Wi-Fi et propose de l'installer.", + ) + + /** Chaque promesse est tenue par du code, et dit où. */ + val GUARANTEES_INTRO = + "Noxely est un outil personnel : rien n'y transite par un service tiers, et rien ne s'y " + + "télécharge sans un geste de votre part." + + val GUARANTEES = listOf( + "Aucun compte, aucune inscription, aucune télémétrie : le projet n'embarque aucune " + + "bibliothèque d'analyse d'audience.", + "Les seules connexions sortantes sont celles des adresses que vous ajoutez et des " + + "catalogues que vous interrogez.", + "Le cache ne contient que ce que vous avez demandé à garder : rien n'y est écrit pendant " + + "une écoute en ligne, et rien n'en est effacé sans votre geste.", + "Le contenu mis en cache est exclu des sauvegardes dans le nuage et des transferts " + + "d'appareil à appareil.", + "Un téléchargement interrompu par une panne de serveur repart seul, trois fois, en " + + "espaçant les tentatives ; sans réseau, il attend son retour.", + "Les catalogues proposés ne présentent que des œuvres libres de droits ou du domaine " + + "public ; les éléments en accès restreint sont écartés avant même d'être affichés.", + "Le jeton qui sert à vérifier les mises à jour est en lecture seule et ne peut rien publier.", + ) + + /** Couche → outils. Six lignes suffisent. */ + val STACK = listOf( + "Interface" to "Jetpack Compose, Material 3, thèmes clair et sombre", + "Lecture" to "Media3 / ExoPlayer, MediaSessionService, notification système", + "Hors connexion" to "Cache Media3 non évinçant, WorkManager pour la reprise", + "Bibliothèque" to "MediaStore pour l'appareil, fichiers JSON pour les imports", + "Réseau" to "HttpURLConnection, kotlinx.serialization, flux ICY pour la radio", + "Publication" to "APK signé, releases Gitea, mise à jour intégrée", + ) +} diff --git a/app/src/main/java/fr/tuxgyver/noxely/ui/about/Changelog.kt b/app/src/main/java/fr/tuxgyver/noxely/ui/about/Changelog.kt new file mode 100644 index 0000000..afbe8ee --- /dev/null +++ b/app/src/main/java/fr/tuxgyver/noxely/ui/about/Changelog.kt @@ -0,0 +1,53 @@ +package fr.tuxgyver.noxely.ui.about + +import android.content.Context + +/** Une ligne du journal, telle qu'elle sera rendue. */ +sealed interface ChangelogLine { + data class Version(val text: String) : ChangelogLine + data class Section(val text: String) : ChangelogLine + data class Bullet(val text: String) : ChangelogLine +} + +/** + * Lit le CHANGELOG livré dans les ressources. + * + * Le fichier est celui du dépôt, recopié dans les assets à la compilation : le journal affiché + * ne peut donc pas diverger de celui que la publication utilise pour ses notes de version. + * Seules les formes réellement employées par le fichier sont interprétées — inutile d'embarquer + * un analyseur Markdown complet pour trois motifs. Le préambule qui précède la première version + * est ignoré : il décrit la convention du fichier, pas l'histoire du logiciel. + */ +fun readChangelog(context: Context, limitVersions: Int = 6): List { + val raw = runCatching { + context.assets.open("CHANGELOG.md").bufferedReader().readText() + }.getOrNull() ?: return emptyList() + + val lines = mutableListOf() + var versions = 0 + + for (line in raw.lineSequence()) { + val trimmed = line.trim() + when { + trimmed.startsWith("## ") -> { + versions++ + if (versions > limitVersions) break + lines += ChangelogLine.Version(trimmed.removePrefix("## ").replace("[", "").replace("]", "")) + } + + trimmed.startsWith("### ") -> + lines += ChangelogLine.Section(trimmed.removePrefix("### ")) + + trimmed.startsWith("- ") && versions > 0 -> + lines += ChangelogLine.Bullet(trimmed.removePrefix("- ")) + + // Une puce peut courir sur plusieurs lignes : on la recolle à la précédente. + trimmed.isNotEmpty() && versions > 0 && lines.lastOrNull() is ChangelogLine.Bullet -> { + val previous = lines.removeAt(lines.lastIndex) as ChangelogLine.Bullet + lines += ChangelogLine.Bullet("${previous.text} $trimmed") + } + + } + } + return lines +} diff --git a/app/src/main/java/fr/tuxgyver/cachette/ui/browse/CatalogBrowseScreen.kt b/app/src/main/java/fr/tuxgyver/noxely/ui/browse/CatalogBrowseScreen.kt similarity index 96% rename from app/src/main/java/fr/tuxgyver/cachette/ui/browse/CatalogBrowseScreen.kt rename to app/src/main/java/fr/tuxgyver/noxely/ui/browse/CatalogBrowseScreen.kt index 3daef04..a65c379 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/ui/browse/CatalogBrowseScreen.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/ui/browse/CatalogBrowseScreen.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette.ui.browse +package fr.tuxgyver.noxely.ui.browse import androidx.compose.foundation.clickable import androidx.compose.foundation.horizontalScroll @@ -47,12 +47,12 @@ import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp -import fr.tuxgyver.cachette.AppContainer -import fr.tuxgyver.cachette.model.MediaKind -import fr.tuxgyver.cachette.sources.CatalogId -import fr.tuxgyver.cachette.sources.CatalogItem -import fr.tuxgyver.cachette.ui.components.Artwork -import fr.tuxgyver.cachette.ui.components.formatBytes +import fr.tuxgyver.noxely.AppContainer +import fr.tuxgyver.noxely.model.MediaKind +import fr.tuxgyver.noxely.sources.CatalogId +import fr.tuxgyver.noxely.sources.CatalogItem +import fr.tuxgyver.noxely.ui.components.Artwork +import fr.tuxgyver.noxely.ui.components.formatBytes import kotlinx.coroutines.launch /** diff --git a/app/src/main/java/fr/tuxgyver/cachette/ui/browse/CatalogItemScreen.kt b/app/src/main/java/fr/tuxgyver/noxely/ui/browse/CatalogItemScreen.kt similarity index 97% rename from app/src/main/java/fr/tuxgyver/cachette/ui/browse/CatalogItemScreen.kt rename to app/src/main/java/fr/tuxgyver/noxely/ui/browse/CatalogItemScreen.kt index 9bf3c6b..a2a71e0 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/ui/browse/CatalogItemScreen.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/ui/browse/CatalogItemScreen.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette.ui.browse +package fr.tuxgyver.noxely.ui.browse import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement @@ -40,11 +40,11 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp -import fr.tuxgyver.cachette.AppContainer -import fr.tuxgyver.cachette.model.MediaEntry -import fr.tuxgyver.cachette.sources.CatalogId -import fr.tuxgyver.cachette.ui.components.formatBytes -import fr.tuxgyver.cachette.ui.components.formatDuration +import fr.tuxgyver.noxely.AppContainer +import fr.tuxgyver.noxely.model.MediaEntry +import fr.tuxgyver.noxely.sources.CatalogId +import fr.tuxgyver.noxely.ui.components.formatBytes +import fr.tuxgyver.noxely.ui.components.formatDuration import kotlinx.coroutines.launch /** diff --git a/app/src/main/java/fr/tuxgyver/cachette/ui/browse/SelectionBar.kt b/app/src/main/java/fr/tuxgyver/noxely/ui/browse/SelectionBar.kt similarity index 98% rename from app/src/main/java/fr/tuxgyver/cachette/ui/browse/SelectionBar.kt rename to app/src/main/java/fr/tuxgyver/noxely/ui/browse/SelectionBar.kt index 2cb0f72..38a8630 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/ui/browse/SelectionBar.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/ui/browse/SelectionBar.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette.ui.browse +package fr.tuxgyver.noxely.ui.browse import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.slideInVertically diff --git a/app/src/main/java/fr/tuxgyver/cachette/ui/browse/SourceBrowseScreen.kt b/app/src/main/java/fr/tuxgyver/noxely/ui/browse/SourceBrowseScreen.kt similarity index 97% rename from app/src/main/java/fr/tuxgyver/cachette/ui/browse/SourceBrowseScreen.kt rename to app/src/main/java/fr/tuxgyver/noxely/ui/browse/SourceBrowseScreen.kt index b6a86f7..669f129 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/ui/browse/SourceBrowseScreen.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/ui/browse/SourceBrowseScreen.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette.ui.browse +package fr.tuxgyver.noxely.ui.browse import androidx.compose.foundation.horizontalScroll import androidx.compose.foundation.layout.Arrangement @@ -35,10 +35,10 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle -import fr.tuxgyver.cachette.AppContainer -import fr.tuxgyver.cachette.model.MediaEntry -import fr.tuxgyver.cachette.model.SourceKind -import fr.tuxgyver.cachette.ui.components.MediaRow +import fr.tuxgyver.noxely.AppContainer +import fr.tuxgyver.noxely.model.MediaEntry +import fr.tuxgyver.noxely.model.SourceKind +import fr.tuxgyver.noxely.ui.components.MediaRow /** * Parcours d'une source déjà présente dans la bibliothèque : on y choisit, un par un ou en lot, diff --git a/app/src/main/java/fr/tuxgyver/cachette/ui/components/Artwork.kt b/app/src/main/java/fr/tuxgyver/noxely/ui/components/Artwork.kt similarity index 97% rename from app/src/main/java/fr/tuxgyver/cachette/ui/components/Artwork.kt rename to app/src/main/java/fr/tuxgyver/noxely/ui/components/Artwork.kt index fdea96a..b806df9 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/ui/components/Artwork.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/ui/components/Artwork.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette.ui.components +package fr.tuxgyver.noxely.ui.components import android.graphics.Bitmap import android.os.Build @@ -28,7 +28,7 @@ import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.platform.LocalContext import androidx.core.net.toUri import coil.compose.AsyncImage -import fr.tuxgyver.cachette.model.MediaKind +import fr.tuxgyver.noxely.model.MediaKind import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext diff --git a/app/src/main/java/fr/tuxgyver/cachette/ui/components/Format.kt b/app/src/main/java/fr/tuxgyver/noxely/ui/components/Format.kt similarity index 94% rename from app/src/main/java/fr/tuxgyver/cachette/ui/components/Format.kt rename to app/src/main/java/fr/tuxgyver/noxely/ui/components/Format.kt index 430ea5d..1799aa3 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/ui/components/Format.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/ui/components/Format.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette.ui.components +package fr.tuxgyver.noxely.ui.components import java.util.Locale diff --git a/app/src/main/java/fr/tuxgyver/cachette/ui/components/MediaRow.kt b/app/src/main/java/fr/tuxgyver/noxely/ui/components/MediaRow.kt similarity index 98% rename from app/src/main/java/fr/tuxgyver/cachette/ui/components/MediaRow.kt rename to app/src/main/java/fr/tuxgyver/noxely/ui/components/MediaRow.kt index 46daf77..ce20d0b 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/ui/components/MediaRow.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/ui/components/MediaRow.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette.ui.components +package fr.tuxgyver.noxely.ui.components import androidx.compose.animation.animateColorAsState import androidx.compose.foundation.ExperimentalFoundationApi @@ -32,8 +32,8 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp -import fr.tuxgyver.cachette.model.MediaEntry -import fr.tuxgyver.cachette.offline.OfflineState +import fr.tuxgyver.noxely.model.MediaEntry +import fr.tuxgyver.noxely.offline.OfflineState @OptIn(ExperimentalFoundationApi::class) @Composable diff --git a/app/src/main/java/fr/tuxgyver/cachette/ui/library/LibraryScreen.kt b/app/src/main/java/fr/tuxgyver/noxely/ui/library/LibraryScreen.kt similarity index 95% rename from app/src/main/java/fr/tuxgyver/cachette/ui/library/LibraryScreen.kt rename to app/src/main/java/fr/tuxgyver/noxely/ui/library/LibraryScreen.kt index 67fbc27..f0454f1 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/ui/library/LibraryScreen.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/ui/library/LibraryScreen.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette.ui.library +package fr.tuxgyver.noxely.ui.library import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.result.contract.ActivityResultContracts @@ -40,12 +40,12 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle -import fr.tuxgyver.cachette.AppContainer -import fr.tuxgyver.cachette.library.LocalMediaScanner -import fr.tuxgyver.cachette.model.MediaEntry -import fr.tuxgyver.cachette.model.MediaKind -import fr.tuxgyver.cachette.offline.OfflineState -import fr.tuxgyver.cachette.ui.components.MediaRow +import fr.tuxgyver.noxely.AppContainer +import fr.tuxgyver.noxely.library.LocalMediaScanner +import fr.tuxgyver.noxely.model.MediaEntry +import fr.tuxgyver.noxely.model.MediaKind +import fr.tuxgyver.noxely.offline.OfflineState +import fr.tuxgyver.noxely.ui.components.MediaRow private enum class LibraryFilter(val label: String) { ALL("Tout"), @@ -201,7 +201,7 @@ private fun PermissionCard(onGrant: () -> Unit) { Text("Accéder à vos médias", style = MaterialTheme.typography.titleMedium) Spacer(Modifier.size(6.dp)) Text( - "Cachette lit la musique et les vidéos déjà présentes sur l'appareil. Rien n'est envoyé ailleurs.", + "Noxely lit la musique et les vidéos déjà présentes sur l'appareil. Rien n'est envoyé ailleurs.", style = MaterialTheme.typography.bodyMedium, ) Spacer(Modifier.size(14.dp)) diff --git a/app/src/main/java/fr/tuxgyver/cachette/ui/offline/DownloadsScreen.kt b/app/src/main/java/fr/tuxgyver/noxely/ui/offline/DownloadsScreen.kt similarity index 96% rename from app/src/main/java/fr/tuxgyver/cachette/ui/offline/DownloadsScreen.kt rename to app/src/main/java/fr/tuxgyver/noxely/ui/offline/DownloadsScreen.kt index c73a047..320ddbc 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/ui/offline/DownloadsScreen.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/ui/offline/DownloadsScreen.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette.ui.offline +package fr.tuxgyver.noxely.ui.offline import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box @@ -37,12 +37,12 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle -import fr.tuxgyver.cachette.AppContainer -import fr.tuxgyver.cachette.model.MediaEntry -import fr.tuxgyver.cachette.model.SourceKind -import fr.tuxgyver.cachette.radio.RecordingSink -import fr.tuxgyver.cachette.ui.components.MediaRow -import fr.tuxgyver.cachette.ui.components.formatBytes +import fr.tuxgyver.noxely.AppContainer +import fr.tuxgyver.noxely.model.MediaEntry +import fr.tuxgyver.noxely.model.SourceKind +import fr.tuxgyver.noxely.radio.RecordingSink +import fr.tuxgyver.noxely.ui.components.MediaRow +import fr.tuxgyver.noxely.ui.components.formatBytes import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext diff --git a/app/src/main/java/fr/tuxgyver/cachette/ui/player/MiniPlayer.kt b/app/src/main/java/fr/tuxgyver/noxely/ui/player/MiniPlayer.kt similarity index 96% rename from app/src/main/java/fr/tuxgyver/cachette/ui/player/MiniPlayer.kt rename to app/src/main/java/fr/tuxgyver/noxely/ui/player/MiniPlayer.kt index d4f5816..cdd0790 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/ui/player/MiniPlayer.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/ui/player/MiniPlayer.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette.ui.player +package fr.tuxgyver.noxely.ui.player import androidx.compose.foundation.basicMarquee import androidx.compose.foundation.clickable @@ -26,8 +26,8 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp -import fr.tuxgyver.cachette.playback.PlayerUiState -import fr.tuxgyver.cachette.ui.components.Artwork +import fr.tuxgyver.noxely.playback.PlayerUiState +import fr.tuxgyver.noxely.ui.components.Artwork @Composable fun MiniPlayer( diff --git a/app/src/main/java/fr/tuxgyver/cachette/ui/player/NowPlayingScreen.kt b/app/src/main/java/fr/tuxgyver/noxely/ui/player/NowPlayingScreen.kt similarity index 97% rename from app/src/main/java/fr/tuxgyver/cachette/ui/player/NowPlayingScreen.kt rename to app/src/main/java/fr/tuxgyver/noxely/ui/player/NowPlayingScreen.kt index 523d23f..b8d3cb8 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/ui/player/NowPlayingScreen.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/ui/player/NowPlayingScreen.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette.ui.player +package fr.tuxgyver.noxely.ui.player import androidx.annotation.OptIn import androidx.compose.foundation.background @@ -54,12 +54,12 @@ import androidx.compose.ui.viewinterop.AndroidView import androidx.media3.common.Player import androidx.media3.common.util.UnstableApi import androidx.media3.ui.PlayerView -import fr.tuxgyver.cachette.model.MediaEntry -import fr.tuxgyver.cachette.model.MediaKind -import fr.tuxgyver.cachette.offline.OfflineState -import fr.tuxgyver.cachette.playback.PlayerUiState -import fr.tuxgyver.cachette.ui.components.Artwork -import fr.tuxgyver.cachette.ui.components.formatDuration +import fr.tuxgyver.noxely.model.MediaEntry +import fr.tuxgyver.noxely.model.MediaKind +import fr.tuxgyver.noxely.offline.OfflineState +import fr.tuxgyver.noxely.playback.PlayerUiState +import fr.tuxgyver.noxely.ui.components.Artwork +import fr.tuxgyver.noxely.ui.components.formatDuration @Composable fun NowPlayingScreen( diff --git a/app/src/main/java/fr/tuxgyver/cachette/ui/playlists/AddToPlaylistSheet.kt b/app/src/main/java/fr/tuxgyver/noxely/ui/playlists/AddToPlaylistSheet.kt similarity index 97% rename from app/src/main/java/fr/tuxgyver/cachette/ui/playlists/AddToPlaylistSheet.kt rename to app/src/main/java/fr/tuxgyver/noxely/ui/playlists/AddToPlaylistSheet.kt index c3f531f..64c0b23 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/ui/playlists/AddToPlaylistSheet.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/ui/playlists/AddToPlaylistSheet.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette.ui.playlists +package fr.tuxgyver.noxely.ui.playlists import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement @@ -35,8 +35,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle -import fr.tuxgyver.cachette.AppContainer -import fr.tuxgyver.cachette.model.MediaEntry +import fr.tuxgyver.noxely.AppContainer +import fr.tuxgyver.noxely.model.MediaEntry import kotlinx.coroutines.launch /** Choix de la playlist d'accueil, avec création à la volée si aucune ne convient. */ diff --git a/app/src/main/java/fr/tuxgyver/cachette/ui/playlists/PlaylistDetailScreen.kt b/app/src/main/java/fr/tuxgyver/noxely/ui/playlists/PlaylistDetailScreen.kt similarity index 96% rename from app/src/main/java/fr/tuxgyver/cachette/ui/playlists/PlaylistDetailScreen.kt rename to app/src/main/java/fr/tuxgyver/noxely/ui/playlists/PlaylistDetailScreen.kt index f54c51e..3eee17b 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/ui/playlists/PlaylistDetailScreen.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/ui/playlists/PlaylistDetailScreen.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette.ui.playlists +package fr.tuxgyver.noxely.ui.playlists import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box @@ -33,9 +33,9 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle -import fr.tuxgyver.cachette.AppContainer -import fr.tuxgyver.cachette.model.MediaEntry -import fr.tuxgyver.cachette.ui.components.MediaRow +import fr.tuxgyver.noxely.AppContainer +import fr.tuxgyver.noxely.model.MediaEntry +import fr.tuxgyver.noxely.ui.components.MediaRow import kotlinx.coroutines.launch /** Le contenu d'une playlist, dans l'ordre d'ajout. */ diff --git a/app/src/main/java/fr/tuxgyver/cachette/ui/playlists/PlaylistsScreen.kt b/app/src/main/java/fr/tuxgyver/noxely/ui/playlists/PlaylistsScreen.kt similarity index 98% rename from app/src/main/java/fr/tuxgyver/cachette/ui/playlists/PlaylistsScreen.kt rename to app/src/main/java/fr/tuxgyver/noxely/ui/playlists/PlaylistsScreen.kt index 30e5475..65bd338 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/ui/playlists/PlaylistsScreen.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/ui/playlists/PlaylistsScreen.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette.ui.playlists +package fr.tuxgyver.noxely.ui.playlists import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement @@ -39,7 +39,7 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle -import fr.tuxgyver.cachette.AppContainer +import fr.tuxgyver.noxely.AppContainer import kotlinx.coroutines.launch @Composable diff --git a/app/src/main/java/fr/tuxgyver/cachette/ui/radio/RadioScreen.kt b/app/src/main/java/fr/tuxgyver/noxely/ui/radio/RadioScreen.kt similarity index 95% rename from app/src/main/java/fr/tuxgyver/cachette/ui/radio/RadioScreen.kt rename to app/src/main/java/fr/tuxgyver/noxely/ui/radio/RadioScreen.kt index 7e16036..95945fc 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/ui/radio/RadioScreen.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/ui/radio/RadioScreen.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette.ui.radio +package fr.tuxgyver.noxely.ui.radio import androidx.compose.foundation.clickable import androidx.compose.foundation.horizontalScroll @@ -57,17 +57,17 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle -import fr.tuxgyver.cachette.AppContainer -import fr.tuxgyver.cachette.model.MediaEntry -import fr.tuxgyver.cachette.model.MediaKind -import fr.tuxgyver.cachette.model.SourceKind -import fr.tuxgyver.cachette.radio.RADIO_GENRES -import fr.tuxgyver.cachette.radio.RadioStation -import fr.tuxgyver.cachette.radio.Recorder -import fr.tuxgyver.cachette.radio.RecordingService -import fr.tuxgyver.cachette.ui.components.Artwork -import fr.tuxgyver.cachette.ui.components.formatBytes -import fr.tuxgyver.cachette.ui.components.formatDuration +import fr.tuxgyver.noxely.AppContainer +import fr.tuxgyver.noxely.model.MediaEntry +import fr.tuxgyver.noxely.model.MediaKind +import fr.tuxgyver.noxely.model.SourceKind +import fr.tuxgyver.noxely.radio.RADIO_GENRES +import fr.tuxgyver.noxely.radio.RadioStation +import fr.tuxgyver.noxely.radio.Recorder +import fr.tuxgyver.noxely.radio.RecordingService +import fr.tuxgyver.noxely.ui.components.Artwork +import fr.tuxgyver.noxely.ui.components.formatBytes +import fr.tuxgyver.noxely.ui.components.formatDuration import kotlinx.coroutines.delay import kotlinx.coroutines.async import kotlinx.coroutines.awaitAll @@ -258,7 +258,7 @@ fun RadioScreen( onDismiss = { scheduleFor = null }, onConfirm = { wanted -> RecordingService.start(context, station, whenTitleContains = wanted) - onMessage("Cachette guette « $wanted » sur ${station.name}") + onMessage("Noxely guette « $wanted » sur ${station.name}") scheduleFor = null }, ) @@ -293,7 +293,7 @@ private fun ScheduleDialog( text = { Column { Text( - text = "Cachette écoutera ${station.name} et déclenchera l'enregistrement dès " + + text = "Noxely écoutera ${station.name} et déclenchera l'enregistrement dès " + "qu'un titre contenant ce texte sera annoncé, puis s'arrêtera à la fin du morceau.", style = MaterialTheme.typography.bodyMedium, ) diff --git a/app/src/main/java/fr/tuxgyver/cachette/ui/sources/SourcesScreen.kt b/app/src/main/java/fr/tuxgyver/noxely/ui/sources/SourcesScreen.kt similarity index 95% rename from app/src/main/java/fr/tuxgyver/cachette/ui/sources/SourcesScreen.kt rename to app/src/main/java/fr/tuxgyver/noxely/ui/sources/SourcesScreen.kt index 4da533b..fc1fdb3 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/ui/sources/SourcesScreen.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/ui/sources/SourcesScreen.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette.ui.sources +package fr.tuxgyver.noxely.ui.sources import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -17,6 +17,7 @@ import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.rounded.KeyboardArrowRight import androidx.compose.material.icons.automirrored.rounded.MenuBook import androidx.compose.material.icons.rounded.Headphones +import androidx.compose.material.icons.rounded.Info import androidx.compose.material.icons.rounded.LibraryMusic import androidx.compose.material.icons.rounded.Public import androidx.compose.material.icons.rounded.Radio @@ -49,9 +50,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle -import fr.tuxgyver.cachette.AppContainer -import fr.tuxgyver.cachette.model.SourceKind -import fr.tuxgyver.cachette.sources.CatalogId +import fr.tuxgyver.noxely.AppContainer +import fr.tuxgyver.noxely.model.SourceKind +import fr.tuxgyver.noxely.sources.CatalogId import kotlinx.coroutines.launch @Composable @@ -62,6 +63,7 @@ fun SourcesScreen( onBrowseSource: (SourceKind) -> Unit, onBrowseCatalog: (CatalogId) -> Unit, onBrowseRadio: () -> Unit, + onOpenAbout: () -> Unit, ) { val entries by container.library.entries.collectAsStateWithLifecycle() var sheet by remember { mutableStateOf(null) } @@ -176,6 +178,18 @@ fun SourcesScreen( UpdateCard(container) } + item { + SourceCard( + icon = Icons.Rounded.Info, + title = "À propos", + status = "Version ${fr.tuxgyver.noxely.BuildConfig.VERSION_NAME}", + description = "Ce que fait Noxely, ce qu'elle garantit, avec quoi elle est faite et qui en répond.", + actionLabel = "Ouvrir", + onAction = onOpenAbout, + onOpen = onOpenAbout, + ) + } + unavailableSourceCards( listOf( UnavailableSource( diff --git a/app/src/main/java/fr/tuxgyver/cachette/ui/sources/UpdateCard.kt b/app/src/main/java/fr/tuxgyver/noxely/ui/sources/UpdateCard.kt similarity index 94% rename from app/src/main/java/fr/tuxgyver/cachette/ui/sources/UpdateCard.kt rename to app/src/main/java/fr/tuxgyver/noxely/ui/sources/UpdateCard.kt index ed4da84..90dc2e6 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/ui/sources/UpdateCard.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/ui/sources/UpdateCard.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette.ui.sources +package fr.tuxgyver.noxely.ui.sources import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row @@ -24,10 +24,10 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.unit.dp -import fr.tuxgyver.cachette.AppContainer -import fr.tuxgyver.cachette.BuildConfig -import fr.tuxgyver.cachette.update.UpdateInfo -import fr.tuxgyver.cachette.update.UpdateNotifier +import fr.tuxgyver.noxely.AppContainer +import fr.tuxgyver.noxely.BuildConfig +import fr.tuxgyver.noxely.update.UpdateInfo +import fr.tuxgyver.noxely.update.UpdateNotifier import kotlinx.coroutines.launch import java.io.File @@ -82,7 +82,7 @@ fun UpdateCard(container: AppContainer) { Text( text = when (current) { UpdateUiState.Idle -> - "Cachette regarde chaque jour si une nouvelle version a été publiée, et la télécharge en Wi-Fi." + "Noxely regarde chaque jour si une nouvelle version a été publiée, et la télécharge en Wi-Fi." UpdateUiState.Checking -> "Vérification en cours…" UpdateUiState.UpToDate -> "Vous avez déjà la dernière version." is UpdateUiState.Available -> "Version ${current.info.version} disponible." diff --git a/app/src/main/java/fr/tuxgyver/cachette/ui/theme/Theme.kt b/app/src/main/java/fr/tuxgyver/noxely/ui/theme/Theme.kt similarity index 93% rename from app/src/main/java/fr/tuxgyver/cachette/ui/theme/Theme.kt rename to app/src/main/java/fr/tuxgyver/noxely/ui/theme/Theme.kt index 1b31e55..9392df7 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/ui/theme/Theme.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/ui/theme/Theme.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette.ui.theme +package fr.tuxgyver.noxely.ui.theme import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.foundation.shape.RoundedCornerShape @@ -57,7 +57,7 @@ private val DarkColors = darkColorScheme( outlineVariant = Color(0xFF3A3048), ) -private val CachetteShapes = Shapes( +private val NoxelyShapes = Shapes( extraSmall = RoundedCornerShape(8.dp), small = RoundedCornerShape(14.dp), medium = RoundedCornerShape(20.dp), @@ -65,7 +65,7 @@ private val CachetteShapes = Shapes( extraLarge = RoundedCornerShape(36.dp), ) -private val CachetteTypography = Typography().run { +private val NoxelyTypography = Typography().run { copy( displaySmall = displaySmall.copy(fontWeight = FontWeight.Bold, letterSpacing = (-0.5).sp), headlineMedium = headlineMedium.copy(fontWeight = FontWeight.Bold, letterSpacing = (-0.4).sp), @@ -77,7 +77,7 @@ private val CachetteTypography = Typography().run { } @Composable -fun CachetteTheme( +fun NoxelyTheme( darkTheme: Boolean = isSystemInDarkTheme(), content: @Composable () -> Unit, ) { @@ -87,8 +87,8 @@ fun CachetteTheme( val colors = if (darkTheme) DarkColors else LightColors MaterialTheme( colorScheme = colors, - shapes = CachetteShapes, - typography = CachetteTypography, + shapes = NoxelyShapes, + typography = NoxelyTypography, content = content, ) } diff --git a/app/src/main/java/fr/tuxgyver/cachette/update/UpdateCheckWorker.kt b/app/src/main/java/fr/tuxgyver/noxely/update/UpdateCheckWorker.kt similarity index 92% rename from app/src/main/java/fr/tuxgyver/cachette/update/UpdateCheckWorker.kt rename to app/src/main/java/fr/tuxgyver/noxely/update/UpdateCheckWorker.kt index f476778..d01728e 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/update/UpdateCheckWorker.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/update/UpdateCheckWorker.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette.update +package fr.tuxgyver.noxely.update import android.content.Context import androidx.work.Constraints @@ -8,7 +8,7 @@ import androidx.work.NetworkType import androidx.work.PeriodicWorkRequestBuilder import androidx.work.WorkManager import androidx.work.WorkerParameters -import fr.tuxgyver.cachette.CachetteApp +import fr.tuxgyver.noxely.NoxelyApp import java.util.concurrent.TimeUnit /** @@ -21,7 +21,7 @@ class UpdateCheckWorker( ) : CoroutineWorker(context, params) { override suspend fun doWork(): Result { - val repository = (applicationContext as CachetteApp).container.updates + val repository = (applicationContext as NoxelyApp).container.updates val update = runCatching { repository.checkForUpdate() }.getOrNull() ?: return Result.success() val apk = runCatching { repository.downloadApk(update) }.getOrNull() diff --git a/app/src/main/java/fr/tuxgyver/cachette/update/UpdateNotifier.kt b/app/src/main/java/fr/tuxgyver/noxely/update/UpdateNotifier.kt similarity index 95% rename from app/src/main/java/fr/tuxgyver/cachette/update/UpdateNotifier.kt rename to app/src/main/java/fr/tuxgyver/noxely/update/UpdateNotifier.kt index 0dcd340..215a3e4 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/update/UpdateNotifier.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/update/UpdateNotifier.kt @@ -1,4 +1,4 @@ -package fr.tuxgyver.cachette.update +package fr.tuxgyver.noxely.update import android.Manifest import android.app.NotificationChannel @@ -12,7 +12,7 @@ import androidx.core.app.NotificationCompat import androidx.core.app.NotificationManagerCompat import androidx.core.content.ContextCompat import androidx.core.content.FileProvider -import fr.tuxgyver.cachette.R +import fr.tuxgyver.noxely.R import java.io.File /** Prévient que la mise à jour est téléchargée et ouvre l'installateur système d'un appui. */ @@ -38,7 +38,7 @@ object UpdateNotifier { val notification = NotificationCompat.Builder(context, CHANNEL_ID) .setSmallIcon(R.drawable.ic_offline) - .setContentTitle("Cachette $version est prête") + .setContentTitle("Noxely $version est prête") .setContentText("Appuyez pour installer la mise à jour.") .setContentIntent(pending) .setAutoCancel(true) @@ -73,7 +73,7 @@ object UpdateNotifier { CHANNEL_ID, "Mises à jour", NotificationManager.IMPORTANCE_DEFAULT, - ).apply { description = "Disponibilité d'une nouvelle version de Cachette" } + ).apply { description = "Disponibilité d'une nouvelle version de Noxely" } context.getSystemService(NotificationManager::class.java).createNotificationChannel(channel) } } diff --git a/app/src/main/java/fr/tuxgyver/cachette/update/UpdateRepository.kt b/app/src/main/java/fr/tuxgyver/noxely/update/UpdateRepository.kt similarity index 96% rename from app/src/main/java/fr/tuxgyver/cachette/update/UpdateRepository.kt rename to app/src/main/java/fr/tuxgyver/noxely/update/UpdateRepository.kt index 06a5457..9c482a9 100644 --- a/app/src/main/java/fr/tuxgyver/cachette/update/UpdateRepository.kt +++ b/app/src/main/java/fr/tuxgyver/noxely/update/UpdateRepository.kt @@ -1,7 +1,7 @@ -package fr.tuxgyver.cachette.update +package fr.tuxgyver.noxely.update import android.content.Context -import fr.tuxgyver.cachette.BuildConfig +import fr.tuxgyver.noxely.BuildConfig import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import kotlinx.serialization.json.Json @@ -103,7 +103,7 @@ class UpdateRepository( instanceFollowRedirects = true connectTimeout = 15_000 readTimeout = 60_000 - setRequestProperty("User-Agent", "Cachette/$currentVersion (Android)") + setRequestProperty("User-Agent", "Noxely/$currentVersion (Android)") setRequestProperty("Authorization", "token ${BuildConfig.GITEA_UPDATE_TOKEN}") } 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 3e8179d..0000000 --- a/app/src/main/res/drawable/ic_launcher_foreground.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - diff --git a/app/src/main/res/mipmap-anydpi/ic_launcher.xml b/app/src/main/res/mipmap-anydpi/ic_launcher.xml index 5c84730..be43858 100644 --- a/app/src/main/res/mipmap-anydpi/ic_launcher.xml +++ b/app/src/main/res/mipmap-anydpi/ic_launcher.xml @@ -1,6 +1,5 @@ - - + diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..27d5c62e942f3d55ef805c01f5ecdc381cd63f0b GIT binary patch literal 24011 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 VK;$|8E2JGsO-WO+M&3O5e*i=F(HH;# literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..817dd52b34eeb1f8172c0fa5f177e421844bb522 GIT binary patch literal 12240 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..7db92dbec58d0337ccbf06b2c2fb6b034c45249c GIT binary patch literal 39910 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 UZvrKR9zB!_SVOT^-aPF804TbM>i_@% literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..48b12025e66c2bf01ae6b6e11c1189b3bfffd2f5 GIT binary patch literal 81619 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
>C+p$sRlL|^|&r^W>tN6sO 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..c4d275508aa5e84f69a21dc78000d5624603bb69 GIT binary patch literal 137242 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

( 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 Ihjx+w0VCuBoB#j- literal 0 HcmV?d00001 diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml index 341e829..f0e9128 100644 --- a/app/src/main/res/values-night/themes.xml +++ b/app/src/main/res/values-night/themes.xml @@ -1,5 +1,5 @@ -