PhR Tactical Radio Stanton Remote Control
v@release.VersionPhR TRS RC 1.2.0
UPDATE
CRITICAL Obbligatorio Android · apk
Nuove funzionalità: modalità di connessione diretta al server (senza passare dal PC), con audio vocale reale sul telefono e parità completa con l'app desktop (più radio, canali, gruppo/intercom); controllo automatico aggiornamenti dallo stesso sito del client desktop.
Bug trovati e corretti:
1 Controllo aggiornamenti mai eseguito in modalità diretta — la nuova logica di instradamento (PC vs diretta) usciva dal metodo prima di arrivare al controllo aggiornamenti, quindi chi usa la modalità diretta non veniva mai avvisato di una nuova versione disponibile. Corretto: aggiunto lo stesso controllo/banner anche nella schermata della modalità diretta.
2 Fuga di attività in background alla riconnessione — stesso bug del client desktop (vedi sopra), ma più rilevante qui: su rete mobile le riconnessioni sono molto più frequenti (Wi-Fi/dati che si alternano, app in background). Corretto con la stessa soluzione.
3 Audio che si sfasa progressivamente dopo una raffica di rete — quando arrivavano troppi pacchetti audio in un colpo solo (tipico di reti mobili), venivano scartati i pacchetti appena arrivati invece di quelli più vecchi: il canale restava permanentemente "indietro" rispetto al tempo reale, senza mai recuperare. Corretto: ora si scartano i pacchetti più vecchi, mantenendo l'audio sempre il più possibile aggiornato.
4 Sessioni orfane accedendo più volte senza disconnettersi esplicitamente — la ViewModel della modalità diretta non si disiscriveva mai dagli eventi di connessione/audio (servizi condivisi per tutta la vita dell'app): un nuovo accesso senza aver premuto "Disconnetti" prima accumulava una copia in più di questi collegamenti, facendo elaborare ogni evento futuro (trasmissioni, negazioni PTT, livello microfono) più volte. Corretto con una pulizia esplicita ad ogni uscita dalla schermata.
5 Tasto "indietro" del telefono lasciava la sessione diretta attiva in sottofondo — solo il pulsante ⏻ dedicato disconnetteva davvero; uscendo con il tasto/gesto indietro di Android la connessione e il canale voce restavano accesi senza che l'utente se ne accorgesse, alimentando anche il problema precedente al primo riaccesso. Corretto: ora anche il tasto indietro chiede conferma e disconnette correttamente.
6 Uso inefficiente della CPU nella cattura del microfono — il riassemblaggio dei campioni audio catturati usava una lista che veniva ricopiata byte per byte più volte al secondo. Non causava malfunzionamenti evidenti, ma sprecava lavoro continuo durante ogni trasmissione; sostituito con un buffer a dimensione fissa, più efficiente.
Dettagli del software →