Sunday, 30 December 2012

Mediacom 101 S2: inserire l'icona di Gmail sull'home screen

Un problema noto del nuovo tablet Mediacom 101 S2 è l'assenza dell'icona di Gmail nel launcher di sistema.  In realtà la cosa è dovuta alla 'non ufficialità' della presenza delle Google apps nel firm del tablet: l'app in se e per se è presente, però non appare nell'app drawer e non c'è un modo semplice per far apparire l'icona sull'home screen. Per il momento l'unica soluzione trovata è stata ..installare un altro launcher.

Il problema si verifica con i due firmware di 'fabbrica' del 101S2: con il firmware presente fino a qualche giorno fa sul sito Mediacom bastava aggiornare Gmail e l'icona appariva subito. Il firmware però aveva anche la 'feature' di disabilitare la fotocamera posteriore del tablet ed è stato recentemente sostituito con l'immagine del firmware 'di fabbrica' del 19/10/2012 (vedi la mia recensione al riguardo). Visto che per il momento il rilascio di un aggiornamento vero sembra allontanarsi ho speso un po' di tempo per approfondire una mia idea relativa alla creazione 'manuale' dell'icona smanettando sulle impostazioni del launcher stesso. La ricerca ha avuto - almeno sulla mia unità - successo. Questo è il resoconto, ovviamente non posso offrire alcuna garanzia che funzioni anche con il vs 101S2, se perdete dati o altro sono problemi vostri, etc.

La procedura è stata provata con un firmware del 19/10/2012 flashato dall'immagine scaricata dal sito mediacom. Dovrebbe funzionare tranquillamente anche con l'altro firmware del 27/9/2012 ma non ho avuto modo di provare. Oltre a questo i requisiti sono:

- il tablet DEVE ESSERE ROOTATO : seguire una delle guide presenti online se non lo è già, ad esempio la mia.

- serve un file manager che sfrutti i permessi di root e consenta di copiare file da/a qualsiasi parti del file system del tablet. Io ho usato ES File Explorer abilitando dalle opzioni la modalità root, ma va bene qualsiasi altro programma simile

- bisogna essere in grado di spostare dei file dal tablet al proprio PC o viceversa (io ho usato lo stesso ES File Explorer in modalità LAN, ma ovviamente va bene qualsiasi altro sistema)

- serve un editor di file SQLite. Io ho usato 'SQLite Database browser' un ottimo freeware disponibile per tutte le piattaforme.

- per semplicità potete anche scaricare dal mio sito questo file con i dati dell'icona gmail già pronti da copiaincollare.

Se non avete un minimo di pratica nella gestione di qs file sia sul tablet che su android, sconsiglio di procedere oltre: fate meglio ad aspettare la prossima release del firmware: se non sapete cosa fare rischiate di dover riflashare il tablet (cosa ormai non drammatica vista la disponibilità di un'immagine finalmente funzionante dalla Mediacom)

Il trucco consiste semplicemente in questo: il launcher standard tiene le impostazioni delle icone in una tabella chiamata 'Favorites' in un database SQLite contenuto nel file /data/data/com.android/launcher/databases/launcher.db nella memoria del tablet. Un'icona è semplicemente un record di questa tabella, con campi relativi al nome dell'icona, all'apk da lanciare, alle coordinate dell'icona e al suo tipo etc. Ho preso da un altro dispositivo android (nella fattispecie, un'emulatore) i dati dell'icona, li ho riscritti su una copia del file launcher.db preso dal 101S2 e ho riscritto il file sul tablet (cosa possibile SOLO da root). Riavviando subito il tablet l'icona di Gmail appare finalmente senza problemi apparenti.

Per procedere la cosa più semplice è aggiungere nel punto in cui si vuole fare apparire l'icona di GMail l'icona di una qualsiasi altra app: poi basterà cambiare i campi della tabella rilevanti. Nell'esempio mostrato io ho aggiunto l'icona di 'Play Books' ma va bene qualsiasi icona.

Una volta fatto questo si tratta di localizzare il file launcher.db nella cartella /data/data/com.android/launcher/databases del tablet col file manager e di spostarlo in qualche modo sul proprio pc, dove in precedenza sarà stato installato SQLite Database Browser. Consiglio di copiare il file launcher.db su una sua cartella separata. Lanciate l'editor e localizzate il file con l'opzione Open Database del menu File. Fatto questo, scegliete la tab 'Browse Data' e la table 'favorites'. Dovrebbe apparire la lista delle icone del vs tablet, in fondo ci dovrebbe essere l'icona che avete aggiunto per tramutarla in quella di gmail. Nell'esempio è evidenziata la 'Play books'


I campi da modificare per fare questo non sono molti, eccoli (ovviamente si vedono scrollando orizzontalmente verso destra)
title: titolo dell'icona, va cambiato in

Gmail

intent: 'cosa' chiamare, inserire (esattamente) questo testo:

#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=com.google.android.gm/.ConversationListActivityGmail;end


itemType: è un valore numerico che se non lo fosse già deve essere messo a 0 (zero).

iconPackage: cancellare il valore presente (altrimenti rimane l'icona dell'applicazione di partenza)

iconResource: cancellare il valore presente (altrimenti rimane l'icona dell'applicazione di partenza, come sopra)

icon: deve contenere la scritta PNG preceduta e seguita da due caratteri speciali. Se non ci fosse, basta copiaincollarla da un'altra riga della tabella.

Ho messo in linea il file http://www.delenda.net/varie/launcher.zip che contiene il database preso dall'emulatore con i dati già pronti per un'icona gmail da copiaincollare: la cosa più semplice è lanciare due sessioni di SQLite Database browser e copiare i valori dei 5 campi indicati sopra. Il file E' SOLO UN ESEMPIO NON RICOPIATELO SUL TABLET !!!

Una volta editati i campi salvate le modifiche col bottone apposito e riportate il file sul vs tablet.

Col file manager DOTATO DI PERMESSI DI ROOT copiate il file modificato nello stesso percorso /data/data/com.android.launcher/databases da cui era stato preso. In teoria l'operazione è pericolosa, nel senso che si potrebbe corrompere il file ma ho fatto diverse copie senza problemi nel ricercare la giusta combinazione di campi e il loro significato (idealmente bisognerebbe procedere in altro modo, ev. da recovery). Ad ogni modo appena riscritto il file launcher.db è bene riavviare il tablet. Se tutto va bene dovrebbe apparire l'icona di Gmail. Se l'icona appare ma da 'applicazione non installata' oppure c'è ancora l'icona della vecchia applicazione o ancora un'icona col robottino verde di android avete probabilmente sbagliato a copiare qualche campo (riprovare).

Nota bene: ho anche provato la procedura con l'APK di Gmail 4.2 disponibile in questa pagina : è una versione di Gmail più aggiornata, la cui installazione però richiede ancora i permessi di root, visto che bisogna disintallare il Gmail di sistema (ad esempio con Link2SD o altro 'root uninistaller')





No comments:

Post a Comment