Share

[脱獄]Flyme Chargeというウィジェットが動かない問題を治す方法。

どもどもちくわです。

綺麗なアニメーションだなーと思ってインストールしてみたら

動かず、、、

。。。

とりあえず動かす方法が分かったので紹介したいと思います。

スポンサーリンク

治し方

作業自体は簡単です。

/Library/Application Support/Stats/InfoStats.bundle/ja.lproj/

から

/Library/Application Support/Stats/InfoStats.bundle/ja.lproj.bk/

フォルダをリネームし参照できないようにします。

これだけです!

あとはリスプリングしすると動くはずです。

スポンサーリンク

原因と考察

ウィジェットのJavascriptを見ると、

/var/mobile/Library/BatteryStats.txt

から取得し、充電状態、バッテリー残量を取得しています。

このファイルの中身(本体の言語設定が日本語の場合)は

*未接続時

Level: 99
State: アンプラグド

*充電中

Level: 99
State: 充電

こののようになります

見てわかるかもしれませんが、

State:<なんとか>

の<なんとか>の値でアニメーションを表示するか否かを判別しているわけです

実際Javascript内にもそのような記述があります。

var re = /: ?([w]+)/g,
st = result.split(re);

if (batState == “Charging” || batState == “Fully Charged”) {

記述を見る限りBatteryStatus.txtが

State:Charging

のときにアニメーションが行われる訳です。

つまり

InfoStatusの出力がローカライズされてしまうのが原因です。

そこでローカライズファイルのフォルダをリネームし参照できないようにすることで

解決できます。

スポンサーリンク

まとめ

マニアックな解説が長くなりましたが、暫定的な解決方法はフォルダのリネームですww

ではでは~

関連リンク

2001年生まれの現在中学3年生の男です(・∀・) プログラミングや、Jailbreakを中心にいろいろやってます。

Share Me!