ステータスバー時計mod その2
昨日やってみた ステータスバー時計mod なんですが、 24 時間表記フォーマット全体を変えたのでどっかに弊害があるかもなぁと思ってました。
…ありました。
ロック画面の時計までなんかわけのわからん表記になってしまうんですねーw
てことで今日は、昨日は諦めた SystemUI.apk\smali\com\android\systemui\statusbar\policy\clock.smali をいじります。昨日いじった twenty_four_hour_time_format は元に戻しておきます。
まずは clock.smali とにらめっこ
私は smali の読み方がわからないので、なんとかそれっぽいところを探します。
.method private final getSmallTime()Ljava/lang/CharSequence; .locals 22 .prologue .line 132 invoke-virtual/range {p0 .. p0}, Lcom/android/systemui/statusbar/policy/Clock;->getContext()Landroid/content/Context; move-result-object v8 .line 133 .local v8, context:Landroid/content/Context; invoke-static {v8}, Landroid/text/format/DateFormat;->is24HourFormat(Landroid/content/Context;)Z move-result v6 .line 136 .local v6, b24:Z if-eqz v6, :cond_2 .line 137 const v16, 0x1040091
0x1040091 に見覚えがあったので grep すると framework-res.apk の public.xml がヒット。確認するとコレが twenty_four_hour_time_format のことらしい。
<public type="string" name="twenty_four_hour_time_format" id="0x01040091" />
じゃぁ 0x1040091 を書き換えてしまおうということで。
ここでフォーマット指定して書いてあげてもいいんだろうなと思いつつ、フォーマットの指定の仕方がちょっとよくわからんので違うリソース ID を割り振ってそちらに飛ばしてやることにしました。
修正1
修正2
修正3
あとは昨日と同じ
2 行表示対応などは前回のとおりです。そしてそれぞれコンパイルして端末に転送して cache 削除等などで。
ID の追加の仕方とかこれでいいのかわからんけど、前回と違い他から参照されるかもしれないものを修正したわけではないので、少なくとも前回みたいなことはない…はず。