アーカイブ

2012年 8月 28日 のアーカイブ

 SO-03Dと同じacro HDのau版とかacro Sとかは既にICSが出てて、docomo版ももうすぐ来るんだろうけど、ICSが現行GBより気に入るとは限らないので、GBの方で今できるカスタマイズをしている。その一つとして、通知領域の透明化ってのをやったんだけど、いろいろ挫折してなかなか進まず、ようやくどうにかなった感じ。

 iPhoneでもAndroidでもそうだが、上部ステータスバーから通知領域をカーテンのようにガラガラっと引き下ろすことが出来て、それは便利ではあるんだけれども、何もその通知領域を塗りつぶしてアプリを隠してしまう必要はないじゃない。通知を降ろしてても半透明でアプリが透けて見えた方がベターだろ。それが必須というわけでは全然ないし、それによってものすごく便利になるわけでもない。単に、見えないよりは透けて見えた方がいいってだけで、透けて見えなきゃダメなわけじゃない。だから、ちょこちょこっといじってすぐ出来るならやるけど、あまり手間がかかるんならあきらめてもいい事だ。あと例えばリスクが高くてもやる気はしない。

 で、最初はUOTキッチンで楽々出来ると思ったのになぜかうまく行かない。出来上がりのフォルダがhdpiサイズををいじっているが、目的のフォルダはxhdpiだからダメなのかも知れないと思って、手動で画像ファイルをいじったりもしたがやっぱりダメ。一応、指定した半透明画像は使われているようだけれども、黒い塗りつぶしの上に半透明画像を置いて表示してて、全然透けてない。UOTの説明をよく読んだら、バージョン2.3.xの場合はSystemUI.apkも一緒にアップしてくれって書いてたのでそれをやったがうまく行かない。SystemUI.apkをアップすると、それまでframework-res.apk内に追加されてたファイルがSytemUI.apk内の同名フォルダにアップされていたので、今度はSytemUI.apk内でxhdpiをいじってみたがやっぱりうまく行かない。

 UOTを使わない方法で手動で透明化するには具体的にどうするかってのをググって調べてたら、SystemUI.apk内のsmaliフォルダをいじらなきゃ行けないみたいなんだけど、うちのSytemUI.apkにはsmaliフォルダがない。どういうことかと思ってさらに調べたら、SystemUI.apkとSystemUI.odexに別れている物を一つに統合しないといけないらしい。deodexって言うんだって。

 deodexの手順は結構難しく、いろいろゴチャゴチャやらなきゃいけないんだけど、xdaには一発で全部自動的にやってくれるツールがあったので、それを使ってやってみたんだけど、argumentの数が合わないなどとエラーを吐いてうまく行かない。しかもそのエラーを吐いてる画面を一瞬で消しちゃうスクリプトになってるから、この時点ではそのエラー内容にも気がついていない。そこでその自動ツールをあきらめて手動でやってみて、ようやくそのエラーを確認できた。でも何が行けなくてそんなエラーが出てるのか意味が分からない。分からなくても表示さえ出てればググって解決出来るわけで、調べてみたらAPIレベルを指定しなきゃ行けないらしい。xdaの自動deodexは初期値で15になっていたが、これを2.3.xでは10に変更して使わなきゃいけなかったみたいで、それに気がついてようやくdeodexは成功した。

 で、そのdeodexしたSystemUI.apkと、deodexしてないframework-res.apkをUOTキッチンで調理したところ、やっとこさ透明化を実現することが出来た。最初は不透明度25%の単色とかにしてたんだけど、薄すぎて完全に透明なのとあまり変わらない。降ろした通知の向こう側はタッチできないんだよって事が直感的に分かるインターフェースであるには、やはり通知は透明ではなく半透明じゃなきゃいけない。単に不透明度を上げるのではなく、UOTキッチンのデフォにある若干模様が出る背景画像を選んで、より半透明を際立たせるようにして、まぁだいたい満足って所か。こんなに手間をかけるはずじゃなかったけどね。

 よその人が作ったトグルスイッチ付き半透明ステータスバーも拾えたんだけど、そのトグルスイッチより別のアプリのトグルスイッチの方が好きだから、半透明ではあるけどトグルスイッチがないステータスバーってのを探して、まぁそれは見つからなかったけれども、見つけなくても自分でカスタマイズできるようにはなった。まぁ、ICSでやるってんなら需要はあるかも知れないが、GBでは需要がないんだろう。

 バッテリーアイコンもUOTで選べるのをそのまま使うんじゃなく、何か色々な小細工をしてうまく行ったんだけど、数字が小さくて見えにくくなる本末転倒なことをしていたことに気がつき、UOTで楽々出来るやつのまま使う事にした。