Cos'è il "Riquadro di tramissione" di Marshmallow e come sfruttarlo per creare toggle personalizzati

Nicola Ligas
Nicola Ligas Tech Master
Cos'è il "Riquadro di tramissione" di Marshmallow e come sfruttarlo per creare toggle personalizzati

Android 6.0 Marshmallow ha per la prima volta introdotto un minimo sistema di personalizzazione della UI in Android stock. Per attivarlo è sufficiente tenere premuta la rotellina delle impostazioni in alto a destra nella barra delle notifiche, ed in fondo alle impostazioni di sistema comparirà la voce: Sintetizzatore interfaccia utente di sistema. Qui potrete modificare i toggle/tile presenti nelle Impostazioni rapide, eliminando i riguardi presenti, o aggiungendone di nuovi.

Vi sarete quindi accorti che premendo su Aggiungi riquadro avrete l'opzione per il Riquadro di tramissione. Ma che cos'è, e come può essere usato per personalizzare ulteriormente il pannello dei quick setting?

La classe IntentTile è quella che rappresenta questo "riquadro trasmissione" (Broadcast Tile, in inglese) e la classe QsTuner.java è quella che viene utilizzate per configurare il tile. Al suo interno, il metodo isValid(String) ci dice che tipo di input vengono accettati, e questi sono una stringa di caratteri alfanumerici o il punto; qualsiasi altra cosa, spazi inclusi, sarà ignorata.

Questo però non è sufficiente per rendere il tile visibile (ve ne sarete già accorti provando a scrivere qualcosa), perché di default è nascosto, aspettando che un Intent lo personalizzi e lo renda visibile con la funzione handleUpdateState(). Ma tutto questo come possiamo farlo?

Se siete bravi sviluppatori potete avvalervi di questa libreria creata da un altro sviluppatore, che fornisce anche un'app di esempio per mostrare in pratica come creare un riquadro personalizzato. In alternativa, per tutti gli altri, è stata realizzata un'app, chiamata non a caso Custom Quick Settings, che sfrutta il meccanismo che abbiamo descritto sommariamente per creare un riquadro personalizzato.

Potrete scegliere di avviare app, lanciare URL, o creare altri toggle (torcia, volume, sincronizzazione, ecc.), anche se prima dovrete creare voi il nuovo tile, dall'interfaccia cui accennavamo nel primo paragrafo. Chiariamo che non sono necessari i permessi di root, e che l'app è gratuita, ma tramite acquisto in-app potrete eliminare la pubblicità presente.

Fonte: Kevin Coppock