Dalla chiavetta di rete al poster, in sei fasi
Ogni avvio ripercorre la stessa pipeline: la libreria si costruisce da sola, anche con nomi file "sporchi" da vecchie release.
SsdpDiscovery.discover()Discovery DLNA
M-SEARCH multicast UDP con MulticastLock: trova i MediaServer presenti in rete, incluso il NAS UGREEN con UGOS Pro.
ContentDirectoryClient.browse()Lettura libreria
Azione UPnP Browse via SOAP con scansione ricorsiva e tracciamento del percorso delle cartelle.
DidlParser.parse()Parsing DIDL-Lite
Le risposte XML diventano oggetti MediaItem, con gestione dei prefissi dc:/upnp:.
FilenameParser.parse()Pulizia nomi
"Il.Padrino.1972.iTALiAN.DVDRip.avi" diventa titolo + anno; i pattern S01E01 e 1x01 identificano gli episodi.
LibraryRepository.classify()Classificazione
Film ed episodi si distinguono dal percorso (S1, Season 1, Stagione 1) e dal parsing del nome file.
TmdbClient.lookup()Metadati e copertine
Poster, trama, voto e anno da TMDB. Se il titolo non viene riconosciuto, una cover con gradiente deterministico prende il suo posto — con il badge dorato "generata".
Pensata per il divano, scritta per durare
Interfaccia nativa Compose for TV, navigazione con telecomando, player ExoPlayer (Media3) per mp4, mkv, H.264 e H.265.
Zero configurazione
Nessun indirizzo IP da digitare: il NAS viene scoperto da solo. Basta essere sulla stessa rete, senza AP isolation.
Hero banner e righe
Home in stile streaming con banner in evidenza, righe orizzontali per film e serie, card con poster e voto.
Dettaglio con stagioni
Ogni serie ha la sua schermata con tab per stagione e lista episodi, ricostruita dalla struttura delle cartelle.
Cover generate
Titolo non riconosciuto? Aura disegna una copertina con gradiente e testo, così la libreria resta uniforme.
Player integrato
ExoPlayer riproduce in streaming diretto HTTP dal NAS: il file parte subito, senza download intermedi.
Chiave TMDB opzionale
La chiave vive in local.properties, fuori dal codice sorgente. Senza chiave l'app funziona comunque, con cover generate.
Tutto resta in rete locale
Lo streaming avviene interamente dentro casa: i file non passano da alcun server esterno. Le uniche richieste in uscita sono le ricerche di metadati verso TMDB, se la chiave è configurata.
- Credenziali e ultimo server usato cifrati AES-256 (EncryptedSharedPreferences)
- Nessuna telemetria, nessun account, nessun cloud proprietario
- Aura riproduce solo file già tuoi: non fornisce né distribuisce contenuti
- Nessun sistema di IA nell'app
Due strade per arrivare sulla TV
Il pacchetto è un progetto Android Studio pronto da aprire (JDK 17, Android Studio Giraffe o successivo). Il primo Build/Sync è la vera verifica: controlla le versioni in gradle/libs.versions.toml e la chiave TMDB.
Run diretto via ADB
Attiva Opzioni Sviluppatore e Debug USB/Wireless sulla TV, poi adb connect IP:5555 e Run da Android Studio. L'app arriva sulla TV in pochi secondi, log inclusi.
APK e sideload
Genera l'APK con Build → Build APK(s) e installalo via chiavetta USB o app "Downloader", con le origini sconosciute abilitate sulla TV.
La tua libreria merita una vetrina.
Prima di aprire Aura, prepara il NAS: attiva l'app DLNA dall'App Center di UGOS Pro e indica le cartelle dei film. Al resto pensa lei.
Inizia dal metodo A