pondělí 22. listopadu 2010

Ladění HTC Desire - část 4. [Doplněno o HTC IME Mod]

Na dnešek jsem slíbil náhradu některých funkcí (ale i designových prvků) z HTC Sense, kterého jsme se částečně zbavili hned v prvním dílu, ale teprve po nahrání CyanogenModu jsme vyjma launcheru přišli i o celou řadu doplňkových služeb a aplikací. Až na jednu výjimku se budeme pohybovat ve zcela bezpečných vodách, a začátečníci se nemají čeho bát. Nezřídka zabloudíme do levných, ale přeci jenom placených aplikací. Aplikací nainstalujeme hromadu, ale žádná není náročná na systémové prostředky. To by v tomto seriálu neměla co dělat.

Nahrazujeme klávesnici
Klávesnice v HTC Sense je podle mě to nejlepší, čím můžete na Androidu psát. Zkusil jsem spoustu klávesnic (včetně Swype), ale žádná mi nesedla. Naštěstí si můžeme dopřát tuto klávesnici ještě o něco vylepšenou. Fórum projektu najdete zde. Konkrétně budeme potřebovat tento archiv, a v něm HTC_IME_hi22.apk (clicker jsem nikdy nepoužil a nechyběl - i když nemám Sense). Výhodou je, že je to obyčejné APK, takže jen nainstalujeme z karty a nebudeme nic flashovat. Po instalaci ale musíte HTC IME Mod zaškrtnout v nastavení jazyka a klávesnice. Nelekejte se varování, nejspíš se hesla logovat nebudou ;-). Máte tam i pestrou paletu nastavení všeho možného - stojí to za proklikání (ale výchozí nastavení je docela dobré). Pak už stačí vlézt do libovolného zadávání textu (např. nové SMS), a až vyjede stávající klávesnice, přidržte na textovém poli prst, a zvolte Input method (Metoda zadávání dat). Tam si vyberte novou výchozí klávesnici, která od té doby zůstane platná.

Nahrazujeme hodiny s počasím
Tahle věc je hodně na očích, tak ji také proberu. Mně osobně ale ty hodiny vůbec nechybí, a mé zkušenosti jsou pouze krátké; získané v rámci přípravy tohoto článku. Na Marketu nalezneme přinejmenším dva widgety vyhovující kvality. Prvním jsou Beautiful Widgets (dále BW), druhým Fancy Widget Pro (FW). V rámci objektivity jsem zkoušel placené verze. Kdybych měl shrnout zkušenosti - vyhrává u mě FW Pro, tedy o neuvěřitelných 5 centů levnější varianta. Má v tuto chvíli kvalitnější skiny (včetně takřka pixel-perfect imitace Sense), a dle mého měření méně než čtvrtinovou spotřebu energie. Ale i u BW je energetická náročnost minimální - hluboko pod spotřebou launcheru, takže nic povšimnutelného. Variabilita velikostí a nastavení je u obou řešení obdobná. Oba například umožňují volbu aplikací spuštěných po kliknutí na jednotlivé elementy (počasí, čas, datum), a nechybí ani zobrazení nejbližšího alarmu, což jsou pro mě kriticky důležité vlastnosti všech widgetů s hodinami (OPRAVA: podle dvou ohlasů jsem se spletl, a BW toto neumožňují; alarm se dá zobrazit jen ve FW, resp. v dále jmenovaném Digital Clock Widgetu - na to je dobré myslet). BW má ale navrch v jiném bodě - oproti FW tam funguje fullscreenová animace počasí po odemknutí klávesnice i na naší kombinaci hardwaru a softwaru (EDIT: Poslední aktualizace Fancy Widgetu funguje i u nás; teď už fakt nevidím žádný důvod pro BW). Nicméně funguje hůře než v Sense, a před jakoukoli interakcí ji musíte nejprve dotykem odklepnout, než můžete s telefonem pracovat. V rámci optimalizace bych měl tedy doporučit animaci nepoužívat. Pokud se nemůžete rozhodnout, prostě si kupte obojí, a nechte si do 24 hodin vrátit peníze za widget, který duel prohraje. Bezplatnou verzi FW nedoporučuji; umí jen zlomek věcí z plné verze, a nedá se pořádně skinovat. Osobně jsem dosud na hodiny používal Digital Clock Widget od Red Wizard, jelikož je zdarma, a umožňuje po kliknutí spustit libovolnou aplikaci, nicméně po testu zvažuji, že zůstanu u zmenšené jednořádkové varianty hodin z FW Pro. LauncherPro mi jejich zmenšení umožňuje, a vypadá to velmi dobře.

Nahrazujeme budík
Když už jsme u toho, nabídnu i skvělou aplikaci pro buzení. Nemá sice mnoho společného se Sense, ale je rozhodně lepší než standardní budík v Androidu. Jmenuje se Alarming!, a umožňuje například plynulé zvyšování hlasitosti, mezeru mezi jednotlivými zazvoněními (to mi v Androidu po přechodu z WM ukrutně chybělo), odložení buzení zatřesením, atp. Má i onu podivnou funkci rušení budíku logickým rébusem. Musíte buď spočítat několik příkladů, nebo odklikat jednoduchý grafický zámek. Vedle toho disponuje i vlastním widgetem s analogovými hodinami, který se mi ani trochu nelíbí. Ničemu to ale nevadí, aplikaci můžete spouštět i kterýmkoli z widgetů jmenovaných v předchozím odstavci.

Nahrazujeme lockscreen
Zámek obrazovky v Sense se mi nesmírně líbil, ale v CM nalézáme pouze modifikovanou verzi standardního lockscreenu, navíc s otravným grafickým bugem (část sliderů za obrazovkou vypadá jinak než ta trvale viditelná). Naštěstí můžeme nasadit ten sensový. Používám skvělý WidgetLocker, který v nastavení Look&Feel nabízí volbu slideru ze Sense UI. Když si trochu poladíte ztmavení pozadí, a odstraníte z obrazovky sekundární slider, získáte lockscreen téměř neodlišitelný od originálu. Pokud se vám ale nelíbí, máte celou řadu možností - rotační odemykání, zámek z iPhone, z Motorol, atp. Vedle toho umožňuje aplikace umístění widgetů na lockscreen, přičemž jejich ovládání můžete v nastavení vypnout, abyste nic nemačkali v kapse omylem. Dále si můžete zobrazit či skrýt notifikační lištu, popisky odkazů, nastavit chování pop-upů z různých aplikací (včetně Handcent), atd. Je to nesmírně variabilní nástroj. Jako bonus umožňuje override systémového časovače, takže se může obrazovka zhasnout a uzamknout i po delší době, než je standardních 15 sekund. To se hodí, protože v CM se mi to nedařilo trvale změnit (hodnota se vždy sama vrátila). Pokud hledáte nějakou bezplatnou alternativu, mohl by sloužit LockBot, ale mně připadal velice nepodařený. Nefunguje spolehlivě, je nepřehledný, a jednotlivá témata nejsou zrovna dvakrát podobná svým předlohám (kupříkladu Sensový styl musí mít hodiny zcela mimo slider, iPhone není zdaleka tak uhlazený, atp.).

EDIT: Pokud vám chybí ovládání hudby, které se objevuje jen při aktivním přehrávání, zkuste do WidgetLockeru vložit můj Phantom Music Control, který byl přesně pro toto použití vytvořen.

EDIT2: Po diskuzi s autorem WL nedoporučuji použití No Locku. Easy Wake Mode ve WidgetLockeru dělá úplně totéž, a obě řešení způsobí, že se telefon probudí stiskem libovolné klávesy, což se v kapse stává neustále. Výskyty standardního lockscreenu budou zásadně omezeny v další verzi WL.

Nahrazujeme dialer
Telefonní aplikace v Sense nejen lépe vypadala, ale uměla i vyhledávat v kontaktech stylem T9, zatímco jste "vytáčeli číslo". Na místo náhrady se nám opět derou dva protikandidáti: Dialer One a Ray Dialer. Oba vypadají dobře, a umožňují vyhledávání číselníkem. Já se po krátkém zkoušení rozhodl pro Ray Dialer. DialerOne sice vypadá lépe, ale RayDialer je o něco rychlejší, a umí dynamicky vyhledávat např. i v e-mailu. DialerOne vyhledává pouze podle jména a příjmení. Zvolenou aplikaci si jednoduše v LauncherPro namapujte na telefonní tlačítko, a při nejbližších příležitostech ji potvrďte coby výchozí pro různé události.

EDIT: Přešel jsem na Dialer One. Když v T9 Settings nastavíte T9 Language na Czech, nebude mít problémy s diakritikou, čímž získává nad RayDialerem velmi přesvědčivou výhodu.

Nahrazujeme Friend Feed
Pokud jde o klienty, to si asi snadno poradíte. Na Facebook doporučuji oficiální aplikaci (která je v CM předinstalována), na Twitter (místo Peepu) skvělý Touiteur (funkčně vybavenější beta zde), ideálně i s prémiovým klíčem (podporován i betou), který odemkne kupříkladu světlé téma (doporučuji, ideálně s vypnutým gradientem), integrovaný webový prohlížeč, integraci s Twitlonger, atp. Obě aplikace pak nabídnou i vlastní widgety. Chcete-li kombinovaný po vzoru Friend Feedu, asi sáhněte po tom v LauncherPro, který podobně funguje i vypadá. Případně jsou k dispozici i oddělené pro FB a Twitter. Ale jak nahradit synchronizační funkce? Docela těžko. Standardní FB synchronizace nepřidává ke kontaktům obrázky, a i když je zobrazuje ve vestavěných kontaktech, náš nový dialer je zobrazit neumí. Na synchronizaci obrázků potřebujeme aplikaci třetí strany. Já používám SyncMyPix s týdenním intervalem aktualizace a vypnutým ořezem fotek. Narozeniny kontaktů standardní Facebook vůbec neumí. Použijeme EboBirthday, který po doinstalování pluginu (bude vám nabídnut) umožní přiřazení narozenin z Facebooku ke kontaktům na GMailu. Teď už jen zbývá provázat kontakty s kalendářem. Otevřete si Google Calendar v internetovém prohlížeči, vlevo dole pod výpisem Jiné kalendáře použijte Přidat->Procházet zajímavé kalendáře->Další->Narozeniny a události kontaktu->Přihlásit se k odběru. Po nejbližší synchronizaci si stačí tento kalendář zvolit i v aplikaci/widgetu pro agendu (já používám Small Agenda Widget, ale alternativ je obrovská spousta), a máte narozeniny zase na očích.

Nahrazujeme kalendář
Zatímco widgety nejsou žádným problémem (na trhu je jich spousta, a LauncherPro má několik vlastních), funkční a hezkou aplikaci jsem prostě nenašel. Chvíli jsem vydržel u Gemini, ale brzy mi začal vadit ten design, který není konzistentní se zbytkem systému. A navíc jen málo z testovaných aplikací dokázal Small Agenda Widget použít na proklik, ale to není tak důležité. Kdybyste znali něco srovnatelného se Sense, dejte mi vědět.

Nahrazujeme hudební widget
Tady budu opět stručný. CyanogenMod obsahuje modifikovanou aplikaci Music, která sama obsahuje notně vylepšený widget s náhledem alba, nicméně pokud sem zavítal nějaký uživatel jiné ROM, nezbude mu než zakoupit Pure Music Widget. Je docela umění pro něj najít hezký skin, ale najdou se takové.

Zkrášlujeme notifikační lištu
Standardní světlá lišta je dle mého soudu dost hnusná, a záhy po flashi jsem hledal cestu, jak ji vhodně ztmavit. Začátek je v CM jednoduchý. Běžte do nastavení telefonu, zvolte CyanogenMod settings->User Interface->Tweaks extras->Select a theme, a nalistujte STOCK_Black. Po restartu telefonu je napůl vyhráno. Ale ikonky se příliš slévají s pozadím. A to znamená, že budeme zase flashovat. Nejprve potřebujeme malou dělostřeleckou přípravu. Pomocí libovolného souborového manažeru (namátkou ES File Explorer) vlezte do složky /system/framework/ (nezapomeňte nejdřív vyjít z SD karty o úroveň výš) a odtamtud si zkopírujte na kartu framework-res.apk. Nyní telefon připojte jako mass storage, abyste měli k souboru přístup z počítače.
Tím je příprava hotová, a můžeme do Ultimate Online Theme Kitchen, kde budeme vařit téma. Vy si ho připravte podle sebe, ale já jsem chtěl čistě bílé ikony, a postupoval následovně: Na první stránce jsem zvolil SCB with %, Version Z, Custom type, colors, ponechal Black Taskbar, zvolil ukazatel baterie D, a úplně všechny barvy nastavil na bílo (FFFFFF). Vygenerovala se sada ikon, která může na monitoru působit trochu zubatě, ale na displayi (přinejmenším AMOLED) je dokonale hladká. Na další stránce jsem zvolil Custom uni-color icons, a další stránku nechal beze změn. Po kliknutí se vygeneruje sada ikon známá z Desire, ovšem zcela v bílé barvě, bez zelených částí. Protože téma už máme, na další stránce jsem nechal Do not change notification status bar, dále Do not include bootanimation (nechal jsem si azurového androida). Nahoře jsem ale pro jistotu zvolil Cyanogen based ROM, i když je to nejspíš jedno. Dále ponechte uploaded framework-res.apk, a nalistujte z SD karty inkriminovaný soubor. No a pak už jen čekáte, až vám web vygeneruje zip. Pokud nechcete čekat (ale trvá to jen pár desítek vteřin), můžete si poznamenat uvedený název souboru, a později si jej vyzvednout zde. Stažený soubor zkopírujte na kartu, nejlépe do složky, kterou jste dříve používali k flashování.
Telefon nabootujte do recovery, a udělejte si snapshot (vizte druhý díl). Je to velmi důležité, protože pokud jste cokoli pokazili, popř. se v UOT objeví nějaký bug, zůstanete po flashi v bootovací smyčce, ze které vám snapshot hravě pomůže (stalo se mi to mockrát, ještě před objevením UOT Kitchen). No a směle flashněte z SD karty stažený zip, jako už několik předtím. Až bude hotovo, rebootujte telefon. Tímto by mělo být dílo dokonáno. Pokud nenabootujete, a animace zůstane v očividné smyčce (co chvíli vidíte "nájezd" androida), vypněte telefon vyjmutím baterie, a nabootujte do recovery, odkud můžete obnovit snapshot.

EDIT: Ať to není pořád tak suché a bez obrázků; můj Android vypadá nějak takto (často se mění):


No a toto je asi všechno, co jsem pro celý seriál zamýšlel. Pokud vám cokoli chybí (ať už v rámci tohoto dílu či předchozích), dejte mi vědět buď tady v komentářích, nebo nejlépe na sloučeném fóru. Nebráním se dalším pokračováním.

pátek 19. listopadu 2010

Ladění HTC Desire - část 3. [Nově lze provádět i pro nejnovější revize Desire]

Dneska to bude docela o hubu, ale bez bolesti není radosti. Uděláme tzv. "pravý root", změníme strukturu oddílů, přesuneme Dalvik cache, a takřka tím zdvojnásobíme tu žalostnou vnitřní paměť HTC Desire. Postup je rozhodně tím nejnáročnějším v celém seriálu (příště to zase zpřístupním začátečníkům), a bude vyžadovat vyšší než elementární znalosti PC. Ale zase se pokusím všechno co nejlépe vysvětlit, takže odvážným nováčkům zůstanou dveře otevřené. V závěru se podíváme na to, jak odstranit aplikace, které se nedají odinstalovat, protože jsou součástí ROM.

Provádíme S-OFF
NOVÝ EDIT: Nyní už je možné postup provést i u nejnovějších hardwarových revizí, včetně PVT4. Jen se ujistěte, že máte AlphaRev ve verzi 1.8 nebo vyšší.

Abychom mohli hýbat se systémovými oddíly (partitions), musíme nejprve odstranit příslušné zabezpečení. Proto se postupu někdy říká "pravý root" - teprve s odstraněním tzv. @secuflag získáte práva zápisu do oddílů /system a /recovery, a navíc pak máte možnost měnit jejich velikost. Před S-OFF ovšem musíte mít v provozu rootnutou ROM. Pokud nemáte, projděte si nejprve druhý díl seriálu. Na Desire se S-OFF provádí utilitou AlphaRev 1.8. Nejedná se o a nástroj pro OS Windows, ale o bootovatelné ISO postavené na Linuxu, které musíte buď vypálit na CD v bootovatelné podobě (pokud ještě disponujete prázdnými optickými médii, já je už léta nepoužívám), nebo si z něj vyrobit bootovatelný flash disk (za předpokladu, že z ní váš počítač dokáže nabootovat). Na vypálení ISO na CD existují mraky utilit (namátkou vynikající bezplatný ImgBurn, který jako jeden z mála dobře zvládá 64bitové systémy), s bootovatelnou flashkou je to trochu složitější. Utility jsou různé, s různým stupňem obtížnosti, a různě invazivní (některé provedou repartition s nějakými 256 MB využitelného místa, což se v prostředí Windows dost blbě vrací zpátky). Já vám samozřejmě doporučím tu nejlepší. Je jí Universal USB Installer z projektu Pendrive Linux. Na první obrazovce vyberete poslední volbu (Try Some Other Live Linux ISO), nalistujete stažené ISO, vyberete písmeno prázdné flashky (formátované na některý FAT; NTFS nepojede), a necháte program dělat jeho práci.

Bootovací médium máme připravené, takže je na čase uvést varování. Fáze procesu, kdy se upravuje HBOOT, je hodně riskantní. Pokud během ní vypadne elektřina, nebo se krátce odpojí kabel (může být vadný a fungovat jen v určitých polohách, nebo vám ho vyškubne domácí mazel; čert ví, co se může stát), nebo se program třeba jen dostane do konfliktu s novější hardwarovou revizí (to by se stát nemělo, podporuje zařízení s AMOLED i SLCD), stáváte se šťastnými majiteli křemíkové cihly. I když se autor utility dle svých slov snažil udělat proces co nejbezpečnější, určité riziko tu je, a jednáte pouze na vlastní zodpovědnost. Z průseru vám nebude pomáhat ani on, ani já. Můžete zkusit zařízení reklamovat, ale vzhledem k rootu, custom ROM, a zvrzanému HBOOTu existuje vysoká pravděpodobnost, že se vám vysmějí. Riziko se dá snížit použitím vyzkoušeného a nepoškozeného kabelu, a spuštěním utility na spolehlivém a nabitém notebooku, popř. počítače za kvalitní UPS.

Pokud s rizikem počítáte, můžeme se pustit do díla. V nastavení telefonu zapněte USB debugging (V CM standardně zapnutý, volbu najdete v Application settings->Development->USB debugging, resp. Aplikace->Vývoj->Ladění USB), připojte jej k počítači, a nabootujte z připraveného média. Nepokoušejte se o připojení z virtuálního stroje, prostě restartujte počítač a vyvolejte si boot menu. Je to na každém BIOSu jiné, a dovolím si podobný kousek jako minule - pokud nevíte, jak na to, do podobných akci se nepouštějte. Po spuštění začne utilita sama pracovat, provede několik restartů telefonu, a bude vás průběžně upozorňovat, kdy je opravdu o držku odpojit telefon. Nechte to prostě být, i kdyby to vypadalo, že se počítač nebo telefon zaseknul. Nástroj vám řekne sám, až bude po všem. Když se vše podaří, nabootujete do Androidu (přes nový splash screen s Jokerem), a i počítač můžete pustit zpět do běžného operačního systému. Když se nepodaří... upřímnou soustrast.

Dodatek: Možná po dokončení procesu zůstanete viset v novém bootloaderu (že je nový poznáte podle nepřehlédnutelného nápisu v horní části) - potom stačí najet tlačítky pro ovládání hlasitosti na reboot, potvrdit vypínačem, a dostanete se do Androidu. Ale ujistěte se na obrazovce počítače, že se S-OFF skutečně dokončil.

Přeskupujeme oddíly
Teď přijde konečně ta zajímavá část, kdy zvětšíme vnitřní paměť Desire. Budeme k tomu potřebovat Android SDK (většina z vás už, doufám, díky ADB tento balíček má, a umí jej používat), resp. jeho složku tools. Budeme tam prozatím pracovat s utilitou fastboot, která se stejně jako většina nástrojů v SDK ovládá výhradně z příkazové řádky. Pokud práci v příkazové řádce neovládáte, pak jste tu asi špatně. Ale že jsem v dobrém rozmaru, doporučím např. použití Total Commanderu, kde stačí jen nalistovat složku tools, a slepě psát příkazy do řádku v dolní části okna. Ale budu rozhodně raději, když se zamyslíte nad tím, co který příkaz dělá.

Web AlphaRev nabízí v přehledné tabulce 4 různé konfigurace oddílů. Existují různé způsoby, jak si tyto tabulky vytvořit, nebo jak měnit velikosti oddílů dynamicky. Dá se tak získat ještě více místa pro data (samozřejmě na úkor ostatních partitions), já ale doporučuji volit bezpečnou cestu. Pokud jste si na omezení Desire zvykli a přesouváte na kartu jak zběsilí, budete mít i tak problém těch blbých 100 MB navíc využít. Je to smutné, ale je to tak. V tabulce vidíte, jak nesmyslně rozvržené oddíly má Desire od výroby. 258 MB pro /system je zkrátka zbytečný luxus, za který platíme pouhými 152 MB pro data. Pokud používáte Sense, vystačí vám 180 MB z "bravo_alphaspl-sense.img" a na data zbude 181 MB, nicméně my máme od minula CyanogenMod 6.1, a použijeme tedy oblíbenou Bravo N1Table. Ta má pro systém pouze 149 MB, a navzdory nebývale štědré velikosti cache tak zůstává 203 MB pro data. Už v první fázi tak získáme něco přes 50 MB místa k dobru. Určitě jste si všimli, že Bravo Data++ nabízí docel velký /system, a pro data ještě dalších 60 MB. Ovšem činí tak na úkor cache, což s sebou nese určité mouchy (prohlédněte si například poznámku pod tabulkou). Zůstaneme tedy u N1. Stáhněte si "bravo_alphaspl-n1table.img", a pro jednoduchost soubor umístěte do tools v Android SDK.

Dodatek: Pokud jste si v předchozím díle vybrali nějakou ROM s HTC Sense, stáhněte si i příslušný HBOOT! Do N1 Table by se nemusela vejít.

Teď už budeme potřebovat příkazovou řádku (konzoli), popř. Total Commander (či jiný souborový manažer). Nejprve proveďte obě zálohy z minulého dílu. Snapshot budeme potřebovat v závěru, a MyBackup vám uchová data pro jinou ROM, popř. jiný telefon, kdyby se něco podělalo. Radši si obě schovejte i na nějaké nezávislé médium. Nyní vypněte připojený telefon, a současným držením tlačítka Zpět a vypínače jej nastartujte do bootloaderu (potřebujeme režim fastboot). Na PC se přesuňte do složky tools, a do příkazové řádky zadejte "fastboot flash hboot bravo_alphaspl-n1table.img" (bez uvozovek), a potvrďte enterem. Pokud jste si zvolili jiný HBOOT, samozřejmě přizpůsobte název souboru. Tímto provedete změnu velikostí oddílů, ovšem to ještě nestačí. Opět z příkazové řádky telefon restartujte (zase do bootloaderu) příkazem "fastboot reboot-bootloader", a smažte cache příkazem "fastboot erase cache". Nyní nabootujte do recovery (vizte minulý díl), a proveďte kompletní wipe. Tímto máte před sebou úplně čistý telefon. Zůstaňte tedy v recovery, a dle minulého dílu obnovte zálohu ze snapshotu. Až obnova doběhne, restartujte telefon, a po trochu delším bootování stanete před Androidem zdánlivě tak tak, jak jste ho nechali. Ovšem v nastavení úložiště si můžete povšimnou znatelného zvýšení dostupného místa. Ale ještě nekončíme, můžeme získat dalších pár desítek MB k dobru.

Přesouváme dalvik-cache
Jelikož se snažím psát tento cyklus jako vzdělávací, hodí se opět vysvětlit, co vlastně děláme. Začneme tím, co je to Dalvik. Drtivá většina aplikací pro Android není psána v nativním kódu (který je schopen zpracovat přímo hardware telefonu), ale v tzv. bytecode, který se v reálném čase překládá do hardwarových instrukcí pomocí virtuálního stroje. Je to v moderním programování naprosto běžná věc, nad kterou se nemusíme pozastavovat (obdobně funguje např. Java, .NET, Python, PHP, atp.). Virtuální stroj v Androidu se jmenuje Dalvik Virtual Machine, a pracuje s vlastním bytecode, nikoli s Javovým, jak se mnozí domnívají. DalvikVM je daleko sofistikovanější než Java Virtual Machine. V Androidu si vytvoří strukturu všech nainstalovaných APK, zjistí si jejich závislosti, a na základě toho optimalizuje jejich bytecode právě pro váš telefon. No a aby nemusel optimalizaci provádět stále znovu, ukládá si tato data do dalvik-cache. Mimochodem - příprava této cache je důvodem, proč se nová ROM vždycky tak dlouho bootuje. Je standardně umístěna v oddílu /data, a užírá tak místo pro instalovatelné aplikace. Ale v CyanogenModu (netroufám si tvrdit, zda si to můžete dovolit i v jiných ROM, a navíc je vyzkoušen POUZE v Bravo N1 Table - pokud jste použili jinou, zkuste ještě přehodnotit, zda to raději neflashnete znovu) máme hromadu volného místa v partition /system, tak proč jej nevyužít? Přesunume dalvik-cache právě tam. Za postup vděčíme jednomu z vývojářů CyanogenModu, sám bych to nevymyslel.

Opět restartujte telefon do recovery (ale teď už vlastně máte Android SDK, můžete tedy v tools (EDIT: U SDK pro Android 2.3 už je to platform-tools) zavolat příkaz "adb reboot recovery", a nemusíte na telefon sahat), a proveďte wipe cache (ne ten úplný, pouze cache!). Přesuňte se opět k počítači a jeho příkazové řádce, a pokračujte tam. Příkazem "adb shell" se dostanete do konzole telefonu. Tam připojte systémovou partition příkazem "mount /system" (někdy to není nutné, a /system už je namountován, budete o tom informováni), přesuňte dalvik-cache příkazem "sed -i /dalvik.vm.dexopt-data-only=1/d /system/build.prop", a systémový oddíl opět odpojte přes "umount /system" (když se unmount nepovede, opět se nic neděje). Teď už jen zlikvidovat starou cache. Tentokrát v konzoli připojte datový oddíl přes "mount /data", vymažte starou cache pomocí "rm /data/dalvik-cache/system*" (nezapomeňte na hvězdičku!), a oddíl odpojte "umount /data". Vše je hotovo, restartujte telefon. Já tímto krokem získal 60 MB navíc, a i s novým HBOOTem to dalo více než 100 MB. To je na Desire slušné, že?


Zabíjíme Jokera
Možná se vám nelíbí nový splashscreen. Upřímně řečeno - mně taky ne. Dle slov autora je jeho ponechání vyjádřením podpory, ale radši mu pošlete nějaký ten dolar přes PayPal, protože se na to nedá dívat. Přímo na webu je i návod na odstranění. Stáhněte si původní splash screen, umístěte jej do složky tools, telefon restartujte do bootloaderu (už víte jak), a použijte příkaz "fastboot flash splash1 desire_stock_splash1.img". Logo HTC je zpátky.

Mažeme aplikaci z ROM
EDIT: Na tomto místě článku jsme původně mazali aplikaci pro zprávy, abychom obešli bug v CM 6.1 RC1. Tato chyba už ve finální verzi CyanogenModu není, a návod kvůli jeho vedlejším účinkům stahuji. Ponechám ale kostru pro lidi, kteří si skutečně něco z ROM smazat potřebují, a za oběť padne Twitter.

Dejme tomu, že stejně jako já odmítáte používat oficiální klient Twitteru, nebo dokonce bojkotujete sociální sítě úplně (pak můžete obdobně postupovat i s Facebookem), a chcete se vyhnout různým dialogům pro výběr výchozí aplikace.

Restartujte telefon do recovery, a nastartujte si adb shell (opět v tools, resp. platform-tools). Připojte /system ("mount /system"), přesuňte se do adresáře aplikací příkazem "cd /system/app", a všechny systémové balíčky si vypište příkazem "ls". Uvidíte mezi nimi Twitter.apk, což je naše vyhlídutá oběť. Příkazem "rm Twitter.apk" (je to case-sensitive, bacha na velká písmena) aplikaci nenávratně smažete (obdobně můžete rovnou zničit i Facebook.apk nebo jinou aplikaci). Příkazem "cd /" se vraťte do rootu a /system odpojte přes "umount /system". Pokud toto všechno děláte ihned po flashi, můžete telefon rovnou rebootovat. Pokud však už byla ROM spuštěna a Dalvik si nacachoval svá data, nezapomeňte udělat wipe cache. Nikoli úplný, to byste pochopitelně ztratili data. Pokud byste wipe neudělali, možná by vám aplikace zůstaly viset v systému, Market by je vedl jako nainstalované, a museli byste se z toho vymotávat nějakou odinstalací, novou instalací a novou odinstalací. Což je trochu prasárna. Připravte se jen na to, že další boot bude trvat déle, stejněě jako první start po flashi.

Na závěr ještě důležité upozornění - pokud si nejste 100% jistí co děláte, a nedokážete se sami vymotat z případných problémů, nesnažte se za každou cenu odstraňovat ze /systemu všechno, co nepoužíváte. Jednak hrozí nebezpečí, že smažete něco důležitého, k čemu se v lepším případě těžko shání APK (v horším třeba nenabootujete). A i kdybyste smazali něco, co skutečně nepotřebujete, docela zdlouhavě budete odstraňovat ze systému pozůstatky. Pokud nemáte dobrý důvod, nechte to prostě být.

No a příště si trochu odpočineme, a podíváme se, jak si vynahradit funkce, které mělo HTC Sense v sobě, ale CyanogenModu chybí.

Přehled celého seriálu a preferovanou diskuzi naleznete na tomto fóru.

pondělí 15. listopadu 2010

Ladění HTC Desire - část 2. [Aktualizováno pro CM 6.1]

V souladu s rozvrhem se tentokrát podíváme na rootování, dva typy zálohování a flashování radia a upravených ROM (v našem případě CyanogenMod). Tentokrát budu daleko více zaměřen přímo na Desire, a návod se dá pro jiná HTC použít jen s jistými úkroky. Pro další Androidy není použitelný skoro vůbec. Předesílám, že tento díl již není navzdory své "vysvětlující" formě určen úplným začátečníkům (jen těm odvážným), a riskujete poškození telefonu a ztrátu záruky.

Na úvod
Nejprve je vhodné říct, proč jsem tato témata zařadil do optimalizačního seriálu. Důvod je jednoduchý - dobře uvařená ROM může být znatelně rychlejší než ta dodávaná. Poznáte to samozřejmě i při běžném používání, ale nejvíc si smlsnou fanoušci benchmarků, kterým můžou naměřená čísla vyskočit až do několikanásobků. Já tomu moc nefandím, ale proč ne. A nízké nároky na výkon znamenají vyšší výdrž baterie. A obojí my chceme. No a abychom mohli ROM nahrát, nevyhneme se rootu (povolení nejvyšších uživatelských práv), náhradě recovery (prostředí umožňující nějakou tu práci s telefonem, aniž by naskočil operační systém), a v neposlední řadě pořádné záloze. Rootnutí a flashnutí ROM je svým způsobem riskantní. I když se v drtivé většině případů podaří, může se vám při některém kroku docela dobře stát, že si telefon tzv. bricknete (prostě si z telefonu uděláte drahou cihlu, a už ho nezapnete). Pokud se vám to stane, ztratíte možnost vrátit telefon do původního stavu (dodávaná ROM, dodávaná recovery, unroot), a s nejvyšší pravděpodobností jej servis nepřijme na záruční opravu, čímž se vám cihla ještě trochu prodraží. Někdy to jen beznadějně vypadá, a telefon se dá ještě oživit v pohodlí domova, ale to už vyžaduje vaše samostudium. Já nikomu v takové situaci pomáhat nebudu, protože to stojí čas, a ještě by se to mohlo snadno obrátit proti mně - to jen na úvod, abyste věděli, do čeho jdete.

Rootujeme a měníme recovery
Díky vynikajícímu nástroji Unrevoked proběhnou obě věci naráz, a to zcela automaticky a bez jediného vstupu od uživatele. Což vypadá krásně, ale ve skutečnosti se trochu angažovat musíte. Proces totiž neproběhne, dokud nenahrajete upravený ovladač připojení k bootloaderu. Ten naleznete zde i s podrobným návodem k jeho instalaci. Jednoduše řečeno - vypnutý telefon nabootujete do recovery za současného držení vypínače a tlačítka pro snížení hlasitosti, najdete telefon ve správci zařízení Windows, a tam mu nalistujete stažený ovladač. Až bude hotovo, nabootujte zpátky do Androida. Pokud to nesvedete, do rootu se raději vůbec nepouštějte. Kdybyste náhodou na tento krok před spuštěním Unrevoked zapomněli, nic zásadního se neděje. Nepřerušujte činnost Unrevoked, a on se zasekne v momentě, kdy telefon naskočí do recovery, a Unrevoked o něm neví. V této fázi začne systém hledat ovladač, a můžete ho nalistovat až zde. Pak je třeba telefon nastartovat do operačního systému, a Unrevoked vypnout a znovu spustit. Ale raději to udělejte pořádně. Tohle uvádím jen proto, abyste zbytečně nepanikařili, a nezkoušeli telefon narychlo odpojovat, nebo proces zastavovat. To během podobných činností NIKDY nedělejte. Máte-li ovladač nainstalovaný, stačí Unrevoked (reflash_package.exe) spustit, a nemusíte vůbec na nic klikat. Jen čekejte. Současně s rootem se zavede i ClockworkMod Recovery, což je fantastický nástroj, který vám umožní bez použití počítače flashovat nové ROM, provádět kompletní zálohy (o tom více později), mazat cache, provádět wipe, a v neposlední řadě samozřejmě umožní připojení k telefonu přes ADB, a vzhledem k neběžící ROM budete mít v konzoli zcela volnou ruku. To se nám bude hodit později.

Dodatek: Jak je uvedeno v programu, Unrevoked nebude fungovat, pokud máte nainstalovaný HTC Sync. Pokud už jste root spustili, nic se neděje. Prostě ho ukončete, HTC Sync odinstalujte, a zkuste to znovu.

Dodatek 2: Na druhou stranu; budete nejprve potřebovat ovladače telefonu. Pokud je ještě nemáte (nepoužívali jste ADB nebo právě HTC Sync), tak je třeba spustit instalaci Sync, nechat na začátku nainstalovat všechny ovladače, a v zápětí instalátor ukončit, protože samotný HTC Sync nechceme.

Zálohujeme
Flashnutí zcela nové ROM vyžaduje i tzv. wipe, tedy kompletní vymazání uživatelských dat z telefonu. Přijdete o veškeré aplikace, SMS, uložené pozice ve hrách, atp. Pokud nepoužíváte synchronizaci s Googlem, rozlučte se i s kontakty, e-maily a kalendářem. Prostě stanete před čistým systémem. A proto je dobré mít zálohu. My si uděláme hned dvě. První bude sloužit pro obnovu dat v nové ROM, a druhá nám zachrání kůži, když se flash nepovede.

1) MyBackup Pro
K záloze všech uživatelských dat a aplikací použijeme komerční aplikaci MyBackup Pro. Stojí 5 USD (90 Kč), a zejména pokud se v telefonu rádi šťouráte, je to nepatrná investice, která se vám mnohokrát vyplatí. Pokud na to nemáte, tak jste lháři, protože máte v rukou telefon s pěticifernou cenovkou. Pokud vás lhaní baví, nebo si chcete nejprve ověřit funkčnost aplikace, tak je k dispozici i 30denní trial verze zdarma, ale netuším, jestli má všechny funkce plné verze. Konkurenční produkty neznám, a proto vám nejsem schopen předložit stejně funkční alternativy. Když MyBackup spustíte, většina z vás se asi poprvé setká s dialogem pro přidělení rootovských práv. Této aplikaci je určitě udělte (klidně nechte zaškrtnutou volbu pro zapamatování), protože to ihned rozpozná, a nabídne vám kriticky důležité funkce navíc. Pokud jste se překlepli, stačí vlézt do menu MyBackup, sjet až úplně dolů, a zaškrtnout alespoň Use Root Features a Restore Market Link. Tím získáte možnost zálohovat vedle APK aplikací i jejich data (uložené pozice, nastavení, vložená data, atp.), a současně umožníte obnoveným aplikacím integraci do Marketu. Bez této funkce se aplikace po obnově sice nainstalují, ale Market o nich neví, a nenabízí aktualizace. Máte-li nastaveno, klikněte na Backup, Applications, Local, Check All, OK, a potvrďte název zálohy. Poté Klikněte na APKs + DATA, čímž zajistíte zálohu se vším všudy. Bez rootu máte možnost zálohovat pouze APK. Proces trvá několik minut, tak ho nechte doběhnout. Poté klikněte na Backup znovu, a obdobným způsobem zálohujte místo aplikací data. Pokud používáte synchronizaci s Googlem, můžete z výběru vyjmout kontakty a kalendář. Pokud tak neučiníte, nezapomeňte je zrušit při následné obnově! Za nešťastných okolností byste totiž mohli při první synchronizaci přijít o kontakty a události v mobilu i na Googlu současně.

2) Snapshot
Snapshot (daleko častěji se setkáte s označením NAND/Nandroid backup, ale já jsem si tento pojem nějak vžil pro jeho univerzálnost) je takový způsob zálohy, kdy se vytvoří kompletní otisk celého systému včetně veškerých aplikací, dat, nastavení, systémových proměnných, atp. Tento otisk se uloží na SD kartu, a můžete jej přes ClockworkMod Recovery kdykoli načíst, a dostat telefon na chlup přesně do stavu, v jakém byl před zálohou. Sice to platí pouze teď, po třetím díle seriálu to nebude úplně jednoznačné, ale v každém případě budete za svůj poslední snapshot děkovat všem bohům, až se vám nepovede nějaký flash a nenaskočí vám systém. Je navíc vysloveně žádoucí si bezpečně (tj. i mimo paměťovou kartu) schovat snapshot s dodávanou ROM pro případ nějaké budoucí reklamace. Nemusíte pak po všech čertech shánět oficiální ROM právě pro váš telefon právě z vaší distribuce. My si zálohu uděláme přímo z prostředí ClockworkMod Recovery. Dá se k ní dostat i přes nástroj ROM Manager, ovšem raději si své čtenáře vychovám tak, aby věděli, co vlastně kde spouštějí, a jak se dostat z průseru, když operační systém s ROM Managerem vůbec nenaběhne. Až to budete ovládat, určitě si program nainstalujte. Umí řadu užitečných věcí. Pro začátek si připravte na kartě dost volného místa. Otisk může mít klidně přes 500 MB, a je docela mrzuté, když se jeho tvorba kvůli takové banalitě přeruší.

Nabootujte tedy do recovery (opět zapnutím telefonu za současného držení tlačítka pro snížení hlasitosti, ale dá se tam dostat i ROM Managerem, nebo přes ADB příkazem "reboot recovery"), pokud jste volili první metodu bootování a objevili se na šedé obrazovce bootloaderu, najeďte tlačítky hlasitosti na volbu RECOVERY (někdy trochu trvá, než začnou tlačítka reagovat) a potvrďte vypínačem. Ocitnete se na černé obrazovce ClockworkMod Recovery. Zde už můžete vedle tlačítek používat i trackpad. Najeďte na backup and restore a potvrďte stiskem trackpadu (zde vypínač jen zhasíná display). Zvolte Backup, a chvíli čekejte. Proces je obvykle rychlejší než záloha MyBackupem, a na pozadí uvidíte graf průběhu (proběhne různými rychlostmi čtyřikrát). Na závěr se vygeneruje md5 hash (trochu to trvá), a je hotovo. Nyní můžete zvolit reboot system now, a nabootujete zpět do svého Androida. Výslednou zálohu najdete na kartě ve složce /sdcard/clockworkmod/backup, a je docela žádoucí si ji zkopírovat na pevný disk pro případ, že si neopatrnou volbou v recovery poškodíte formát karty.

Flashujeme radio
Data máte dvojitě zálohována; můžeme přistoupit k flashování. Začneme radiem. Tím samozřejmě nemyslím FM tuner, ale softwarovou výbavu pro obsluhu bezdrátových modulů - od GSM, přes WiFi a mobilní data, až po GPS. Různé verze vydává přímo výrobce (v našem případě HTC), a ROM s Froyem budou potřebovat jednu z těch novějších. Drtivá většina z vás už Froyo má, a krok proto není nezbytný, ale v rámci optimalizace sáhneme po vyzkoušené verzi 32.48.00.32U_5.11.05.14, kterou naleznete například zde. Tato verze nabízí dle zkušeností uživatelů dosud nejlépe vyváženou kvalitu signálu a výdrž baterie při zapnutých datech. Stažený soubor ZIP nerozbalujte, a umístěte na kartu někam, kde ho později určitě najdete. Dá se to opět flashnout přes ROM Manager, ale budu pedant. Ujistěte se, že máte baterii aspoň na 50% (plné nabití a připojená nabíječka jsou vysloveně žádoucí), nabootujte do Recovery, a postupujte následovně: install zip from sdcard, choose zip from sdcard, nalistujte stažený ZIP, najeďte na volbu yes (je umístěná tak nešikovně, abyste nepotvrdili volbu omylem), a flashování je zahájeno. Nesnažte se ho nijak přerušit, prostě čekejte, dokud nebudete vráceni zpět do menu. Až doběhne, můžete zařízení restartovat. Pokud se připojí k síti vašeho operátora, popř. k WiFi, je to dobré znamení. V opačném případě je něco zatraceně špatně, a nezbude než zkusit flashnout jinou verzi radia (např. tu nejnovější).

Flashujeme upravenou ROM
Teď už můžeme flashnout celou ROM. Těch je na výběr obrovská škála. Od stock (ROM dodaná výrobcem), přes různě upravené verze, až po úplně holý Android. Pro Desire pak můžete například najít i ROM z Desire HD či Desire Z, a kochat se novou verzí HTC Sense. Já se rozhodl pro CyanogenMod. Ten má blíže k holému Androidu, ovšem je rozšířen o velikou paletu nejrůznějších (většinou nevyditelných) tweaků, které z něj dělají senzačně rychlou a nastavitelnou ROM. Oproti stock ROM získáte vedle vysokého výkonu i upravitelný taskbar, pestrá nastavení spotřeby, upozornění a uživatelského prostředí, nebo třeba několik barevných profilů displaye. Současně ale i něco ztratíte - konkrétně například všechny funkce balíku Sense (řadu funkcí si nahradíme ve čtvrté části seriálu), či v demonstrované verzi plnou funkčnost notifikační diody (pro jiné verze to neplatí, ale v této funguje dioda jen při vypnutém displayi, a v některých případech neumí blikat - jen vytrvale modře svítí). Musíte si při výběru ROM ujasnit, co jste ochotni oželet, a co za to získáte. Já zvolil ověřený CyanogenMod ve zbrusu nové verzi 6.1 (již je k dispozi finální). Když se vám ROM nebude líbit, můžete se kdykoli vrátit ke snapshotu, který jste si vytvořili, a budete zpátky u svého Sense. CyanogenMod nalezneme buď na ROM Manageru, nebo raději zde. Pokud budete hledat na vlastní pěst, dejte si velký pozor na to, abyste stahovali verzi pro GSM, nikoli pro americké CDMA. ZIP opět nerozbalujte, jen umístěte na kartu. Tady ale nekončíme - Cyanogen kvůli problémům s právníky šíří ROM bez aplikací od Googlu, které je nutné stáhnout zvlášť. Stáhněte si i ZIP odtud a umístěte jej na kartu.

Vše je připraveno, nabootujte do recovery, a provedeme wipe. Nejprve zvolíte a potvrdíte wipe data/factory reset, posléze i wipe cache partition. Tím přijdete o veškerá data v telefonu, a můžete přistoupit k flashování. Úplně stejně jako předtím radio, nalistujete teď ZIP s CyanogenModem a potvrdíte flash. V žádném případě jej nepřerušujte, a počkejte, až budete mít opět k dispozici menu. Nyní stejným způsobem flashněte i GApps. Máte-li hotovo, můžete rebootovat telefon. Když budete mít štěstí, uvítá vás azurový Android, a po nějaké době naskočí i operační systém (poprvé to může trvat docela dlouho). Používáte-li synchronizaci s Googlem, vyplňte své přihlašovací údaje, a nechte systém během synchronizace chvilku uležet, nebo se věnujte nastavování i za cenu pomalejší odezvy. Zpočátku má hodně práce, a než se plně inicializuje, nebude tak rychlý, jak byste bývali chtěli. Standardně běží CM s ADW.Launcherem, ale nic vám nebrání nahodit LauncherPro. Ostatně pokud jej používáte, nainstaluje se sám při obnově zálohy. Pokud se flash nepovedl, a už několik minut koukáte na neustále se restartující animaci s androidem, nepropadejte panice a skočte v textu na obnovu zálohy ze snapshotu.

Obnovujeme zálohy
Může se to jevit jako banalita, ale čekají nás jistá úskalí.

1) Flash se povedl, obnovujeme z MyBackup
V prvé řadě musíte z Marketu opět nainstalovat MyBackup, abyste měli ke své záloze přístup. CyanogenMod je už předem rootnutý, takže nezapomeňte udělit aplikaci rootovská práva. Až se tak stane, musíme postupovat obezřetně. Začneme obnovou dat. V programu klikněte na Restore, Data, Local, [váš název]. Načte se seznam zálohovaných dat. Klikněte na Check All, ovšem pokud používáte sync s Googlem, určite nezapomeňte zrušit Contacts a Calendar, jinak si koledujete o průšvih. Klikněte na OK a potvrďte volbu. Tímto jsou obnovena některá systémová data. Pro jistotu můžete už teď provést restart telefonu. Teď přistoupíme k obnově aplikací (Restore, Applications), což bude vzhledem k malé paměti Desire dost otrava. Pokud jste totiž přesouvali aplikace na kartu, MyBackup na to nebere zřetel, a obnovuje aplikace do vnitřní paměti. Tím se může během obnovy brzy vyčerpat, a obnova nedoběhne kompletně. Navíc neproběne prolinkování s Marketem. Je tedy třeba aplikace obnovovat ručním výběrem po dávkách (já vzal vždy pár písmen z abecedy), a dávku pokaždé přesouvat na kartu ručně. Hodně vám pomůže např. aplikace Advanced SD Card Manager, ale nic to nemění na tom, že budete po těch několik minut HTC proklínat. Restart proveďte až nakonec, to byste se jinak zbláznili. U každé dávky samozřejmě obnovte APKs + DATA. Pokud jste na kartu nic neinstalovali, tak vám velice závidím, a můžete vesele obnovit všechno najednou. Ještě dodatek: pokud se vám po nahození systému a aplikací znatelně zhoršila výdrž baterie, udělejte přes noc formování baterie (vizte minulý díl), a zase bude líp.

2) Flash se nepovedl (popř. nová ROM nevyhovuje potřebám), obnovujeme snapshot
Pokud se potřebujete vrátit k zálohovanému systému, postup je naprosto jednoduchý. Nabootujete do recovery (v CM, pokud naběhl systém, stačí podržet vypínač, a zvolit Reboot, Recovery), zvolíte Backup and Restore, Restore, a vyberete snapshot správného data a času. Opět označte Yes, potvrďte, a vyčkejte na kompletní obnovu. Až bude hotová, můžete rebootovat zpět do své původní ROM. Postup oceníte i v budoucnu, pokud si třeba nejrůznějšími modifikačními ZIPy (taskbar, atp.) poškodíte ROM a systém místo naběhnutí skončí ve smyčce.

Co dál?
Teď už se můžete naplno věnovat objevování nové ROM, a hrát si s jejím nastavením (některá dílčí nastavení se nepřenesou, mnoho je zcela nových). Možná vám zpočátku budou chybět některé funkce Sense. Tuto funkční propast budeme zasypávat v některém z příštích dílů. S největší pravděpodobností až ve čtvrtém; jako takový bonbónek na závěr. Přehled celého seriálu a preferovanou diskuzi naleznete na tomto fóru.

pátek 12. listopadu 2010

Ladění HTC Desire - část 1. [Aktualizována náhrada launcheru]

Nedávno jsem vyměnil své HTC Touch Pro2 za HTC Desire, a jelikož už se tentokrát nejedná o novinku na trhu, nebudu vás zdržovat psaním prvních zkušeností. Místo toho bych se v krátkém seriálu psaném během dlouhých cest autobusem (a hluchých míst v práci) rád věnoval ladění Desire (ale i jiných Androidů) pro výkon, výdrž baterie, vzhled, ovládání, atp. První článek bude patřit k těm bezpečným, jako jediný je vhodný pro začátečníky, ale v dalších už se podíváme hodně pod povrch.

Nahrazujeme Sense
HTC Sense má líbivý launcher s celou řadou funkcí, kterými se můžete chlubit před kamarády - ovšem užitná hodnota těchto hraček je minimální, a jde dle mého názoru až příliš na úkor výkonu (a v druhém plánu i baterie). Přitom můžete launcher bez jakéhokoli rizika či ohrožení záruky libovolně měnit. Jednoduše jej nainstalujete z Marketu, nabídne se vám po stisku tlačítka Home, a budete-li spokojeni, prostě ho nastavíte jako výchozí, a o Sense už neuslyšíte (pokud samozřejmě tomu novému nezrušíte status výchozího - v nastavení aplikací). Nevěřte řečem, že Sense stále běží na pozadí a žere prostředky - můžete si i experimentálně ověřit, že je to nesmysl. Některé jeho služby sice běží, díky čemuž nepřicházíte např. o různé sociální a synchronizační funkce, nicméně launcher jako takový se brzy ukončí a už se znovu nenastartuje, pokud to nebudete výslovně chtít.

Já osobně jsem volil mezi dvěma nejlepšími: ADW.Launcher a LauncherPro. ADW se může chlubit vysokou rychlostí, takřka totální konfigurovatelností, a s ADWNotifierem (nově zdarma!) i iPhone-like zobrazováním nových a nepřečtených položek u ikon (s bezkonkurenčně širokou podporou aplikací). Získal si mě ale LauncherPro, a to snad ještě vyšší rychlostí a plynulostí, a unikátními možnostmi nastavení dockbaru (ta řada ikon úplně dole). Oba Launchery jsou v základní podobě zdarma, ale za vskutku nepatrný příspěvek můžete oba rozšířit o zajímavé funkce. U ADW je to samostatná verze EX (vizte níže), u LauncherPro například možnost měnit velikost Widgetů či používat proprietární widgety podobné těm v Sense (Facebook, Twitter...). Oba vám standardně nabídnou např. volitelný počet obrazovek, skinovatelný dockbar, atp. Ale především jsou oba výkonově nenáročné (a tedy plynulejší), a ušetří vám nemalý kus paměti a snad i baterie.

Klidně si oba nainstalujte současně, trochu je zkoušejte používat a nastavit (některá výchozí nastavení jsou poněkud otravná - třeba pomalé najíždění nabídky s aplikacemi - u obou se dá jednoduchým nastavením zrychlit), a nakonec si nechte ten lepší.

EDIT: Před časem se objevil na Marketu ADWLauncher EX a ihned se stal mým favoritem. Rychostí podle mého dohnal a předehnal LauncherPro, a má spoustu funkcí lahodících oku (třírozměrné přechodové efekty, iPhonovské pozadí ikon, nové štítky s názvy aplikací, řada variant app draweru, atp.). Nastavit dockbar je tradičně o dost náročnější a méně variabilní než u LauncherPro (já potřeboval přinejmenším Sense Glass ADW Theme kvůli nebarevným ikonám), a mnohým lidem chybí sada widgetů z LP, ale stejně u ADW EX zůstávám. Pokud vám není líto těch pár dolarů, určitě to vyzkoušejte. Někteří lidé si oblíbili i GO Launcher, ale mě vůbec nezaujal a proto jej nedoporučím.

Nahrazujeme aplikaci pro zprávy
Výchozí Messaging aplikace v Sense má dvě nesmírně otravné vlastnosti - neumí ořezávat diakritika v textu, čímž zkracuje délku zpráv při použití XT9, a bliká notifikační diodou jen 5 minut, načež přestane. Obojí (a mnohem víc) řeší aplikace Handcent SMS. Ta má v nastavení podporu pro češtinu, která se postará o odstranění háčků a čárek. Navíc má možnost opakovaného upozornění, takže můžete nechat diodu blikat třeba donekonečna. Barvu LED navíc můžete měnit - např. na nepřehlédnutelnou modrou. Nevýhodou Handcentu je snad jen to, že je dle mého soudu ve výchozím nastavení dost škaredá, a nastavení vzhledu chce nějaký čas. Ale pokud se vám líbí šílené iPhonové bublinky, můžete to klidně nechat v defaultu. Když už jsem nakousnul tu LEDku - obdobné možnosti nastavení pro Gmail nabízí Gmail Notifier. Nezapomeňte v obou případech vypnout standardní systémová upozornění, aby se vám všechno nezobrazovalo dvakrát.

Umírňujeme data
Internetové možnosti dnešních smartphonů jsou natolik atraktivní, že se mnozí z nás (já především) nechají snadno unést, a nejraději by měli všechny informace ve svém telefonu v reálném čase. Doporučuji to poněkud omezit, protože se jedná o obrovské žrouty baterie, a v neposlední řadě i směšných datových limitů, které nasazují čeští operátoři. Já třeba po zralé úvaze zcela vypnul synchronizaci sociálních sítí, protože mi docela stačí, když se updatují po spuštění klienta. Méně podstatným položkám (počasí, atp.) jsem nedal kratší interval než 1 nebo 2 hodiny, a věci typu narozeniny a obrázky kontaktů jsem dal rovnou na týden; tam se to tolik nemění. Některé ze jmenovaných položek řeší aplikace třetích stran, proto se nedivte, pokud je tam nemáte. Často se doporučuje i vypínání 3G, pokud jej zrovna nepotřebujete. Žere hodně energie, a na většinu věcí EDGE stačí. Mně to ale za ten nekomfort nastavování nějak nestálo (i když to třeba SwitchPro docela zkrátí), tak jsem na to rezignoval. Dodržuji to pouze u WiFi.

Hledáme zloděje prostředků
Pokud používáte hodně aplikací a widgetů, je takřka nemožné běžnými cestami zjistit, která vám na pozadí vysává baterii a procesorový čas. Často to ani nemusí být celá aplikace, ale jen některá z jejích funkcí, kterou můžete snadno vypnout. V hledání vám skvěle pomůže bezplatná aplikace PowerTutor, která vám v textovém i grafickém zobrazení prozradí, kolik každá z běžících aplikací spotřebuje procesorového času, či nakolik využívá bezdrátové sítě. Po spuštění PowerTutoru nastartujte Power Profiler, a telefon třeba pár desítek minut nechte netknutě ležet (hledáte-li skrytého žrouta energie), nebo ho pár hodin normálně používejte (pokud vás zajímá např. energetická náročnost konkurenčních aplikací). Pak zase otevřete Power Profiler, vyberte Application Power Usage, v horní části zrušte označení OLED/LCD (je snad zřejmé, že aplikace na popředí spotřebuje spoustu energie přes display - je zdaleka nejnáročnější HW komponentou telefonu), ostatní nechte zapnuté, a vesele pozorujte, kam spadlo nejvíce procent. Samotného PowerTutoru si nevšímejte. Ten žere energie docela dost, a slouží jen k odhalení viníka. Jakmile jeho činnost zastavíte (Stop Power Profiler), už nebude mít na baterii vliv. Nenasytnou aplikaci můžete buď odinstalovat (či widget odebrat), nebo nahradit kvalitnější alternativou.

Formujeme baterii
Předem upozorňuji na to, že je tento pojem poněkud zavádějící. S akumulátorem jako takovým se nic tajemného nedělá, jedná se jen o urovnání měřící elektroniky, aby správně zobrazovala zbývající kapacitu baterie, a nevypínala telefon předčasně. Postup je úplně jednoduchý. Telefon vybijte tak, aby se sám vypnul. Znovu ho ale nezapínejte - Lithiovým bateriím to významně škodí, a neměli byste se u žádného novějšího mobilu pokoušet přístroj znovu zapínat, dokud nebude na nabíječce. Až se telefon vypne, napojte ho na nabíječku (ideálně do zásuvky - nabíjení přes USB port počítače probíhá s cca polovičním proudem, což zejména plnému nabíjení nikterak neprospívá), a nechte ho tam cca 3 hodiny, nebo rovnou přes noc. Až bude zcela nabitý, odpojte ho od nabíječky a zapněte. Teď můžete telefon po nějakou dobu používat normálně, a nabíjet kdykoli cítíte potřebu, ale jednou za čas můžete postup zopakovat. Měli byste okamžitě vidět, že telefon vydrží zapnutý výrazně déle.

To by pro dnešek stačilo, a do budoucna se podíváme na nějaký ten root, flashování rádia, modifikovanou ROM, odstranění předinstalovaných aplikací, nebo jak získat nějakých 100 MB vnitřní paměti k dobru.

Přehled celého seriálu a preferovanou diskuzi naleznete na tomto fóru.