バグ取りついでに

 Androidランダムアルバム。
 そういえばSDカードのことをすっかり忘れていた、自分は内蔵ストレージ(ユーザメモリ)に曲を入れてるからなぁ。ということで対応しておこうと思ったら、何のことはない、Androidのコンテンツプロバイダがユーザメモリも外部SDカードも一緒くたに扱ってくれていた。そもそも外部ストレージとしてのユーザメモリがsdcardになってて、SDカードは更にexternal_sdになっているという、何だかなな状態なんだよね。
 逆にここを分けて扱うことはパッと見出来ないのかも。まぁSDカードアクセスのバッテリ消費が勿体ないので普段は切り分けておきたい、とかいう希少な需要でもなければ必要のない話なのかもですが。

 お陰で折角の改修のネタも無くなってしまいましたが。
 いやはや、早速バグを見付けてしまいましたよ。レジュームでトラックのランダム再生リストの復旧に失敗してた。
 ソースを見れば明らかにおかしいし、動作確認は一度やった筈なのでおかしいなと思ったら、一旦レジューム機能を作った後に、別途盛り込んだ機能の都合で手を入れた際のミスだった。まぁ経緯が分かれば納得。そういう点を気にするのは職業病なのかなぁやっぱ(笑)。

 という訳で、ver0.06。
>AlbumShuffle006.apk (※提供元不明のアプリを許可で)

・レジューム処理修正
・テーマHoloに変更(HC(3.0)以降)
・ボタンの見た目を変更

 ver2までのデフォルトのカラースキームが気に入らないので、折角ICS機なのだからとHoloテーマに変更した。勿論、旧OSで起動した場合は昔のまま。
img
 ただボタンのアイコンに白基調のものを使っているため、ボタン背景が黒いと苦しいのでそこだけ調整。白基調にして、ついでに角を落としてグラデを掛けた(安直)。安直だけれど、こんな単純な事だけでもデフォのカクカクべったりよりは喜ばれるものなんだよね。
 しかし一度ボタンをいじると押下時のグラフィックについてもいじらなければいけなくて、そこはデフォルトのhighlight色に準じておいたけど、実はここは機種依存なのが悩み所。Androidはデフォルトリソースも機種毎に変えられるので、職場に転がっているMEDIASのようにデフォルトのチェックボックスの色等もいじられていると、それと色が合わなくなって非常に残念なことになると思う(休日なのでまだ試してないけど)。一度グラフィックリソースを弄ろうと思ったら徹底して全部弄らないといけないんだよね。めんどくさい。
 ついでに言うと、そのhighlight色をシステムで取得できればこっちで何とかすることも出来るのだけれど、問題が2つある。まずそれがある(?android:attr/colorPressedHighlight)のはICS以降、そしてattr参照をshape内で行うと落ちるという罠。幾つも同事例を見掛けたけれど誰も解決してないのでどうにもならないんだと思う。まぁ何かAndroid側の都合が色々あるのだろうけれど、使い手としては残念な話。


 ところでそもそもの話、Androidのカラースキームって、てっきり黒背景に青地強調、緑のインジケータの組み合わせだと思い込んでいたけれど、ver2までは黒にオレンジがデフォルトだったのね。何と言うか、一言で言えばダサいです、はい。黒青緑は悪くないと思ってたんだけどなぁ。
 GalaxyS2に搭載されているシステムアプリや基本アプリ(如何にも標準リソースを使っているような見た目のもの)がことごとく前述のカラースキームなのでそれがデフォルトだと思っていたけれど、わざわざver3以降のカラースキームに近いものに変更していたみたいね。
 というかMEDIAS同様、デフォルトリソースそのものを変更していたんじゃないのかなぁ? いまいち記憶があやふやだけれど、オレンジだと気付いたのはGB(2.3)からICS(4.0)にアップデートしてからという気がしてならない。ICS対応の時にリソースを変え忘れたというか、それが証拠にメニューのhighlightだけはデフォルトでも青なんだよなぁ。何だかやってしまった感が。
 まぁ何にしてもデフォルトがはっきりしないので、弄るなら徹底的に弄るか、弄らないならまったく弄らない、ってことになっちゃうのでめんどくさい。デフォルトがもっとしっかりしていれば、って思うわやっぱ。

 何かAndroidは年々知れば知るほど愚痴っぽくなってしまうのですよ(苦笑)。
 droid君は好きなんだけどなぁ。