ここのところ、新しいアプリや案件のアプリをこなしていて、既存のアプリのバグ修正等が手がけられていなかったのですが、ようやく、BatteryCrystalのバグを修正しました。端末起動時にバッテリーウィジェットの表示が0になるというバグです。0になる理由がさっぱりわからなかったのですが、今もよくわかっていません。原因はわかったので、直せたのですが、理論的にはならんだろうというか…。
ACTION_BATTERY_CHANGEDをBroadcastで受け取って、BroadcastReceiverでウィジェットの描画処理を行っていたのですが、その処理をReceiverじゃなくてServiceに任せるようにしたら、直ったという…。未だに謎です。ただ、以前にReceiverはServiceとかを起動させるためのフックだけにして、処理自体は書かないほうがいいと聞いたことがあったので、それが関係しているのかもしれません(でもそんなに重い処理してないと思うんだけど…。描画自体が重い?)
なんにせよ、バグ修正ができてよかったです。