ステータスバー時計mod

Twitter の TL の流れから、コレをいじってみようっていうテスト。




まず普通の時計。普通の時計表示はこんな感じ。


というわけで、以下のサイトを参考にして作業。

変更箇所

  • framework-res.apk の \res\values-ja\strings.xml
<string name="twenty_four_hour_time_format">H:mm</string>

H:mm を好きに書き換えれば良いとのことなので、上記サイトにもある記述を参考に書き換え。

<string name="twenty_four_hour_time_format">M/dd(E) HH:mm</string>


これだけだと横に長すぎるので改行 (\n) を入れて 2 行にしてみる。

<string name="twenty_four_hour_time_format">M/dd(E)\nHH:mm</string>


しかしこれだけだと改行されない。

さらに変更箇所

google:twenty_four_hour_time_format clock

検索して見つかった某巨大掲示板の他機種のスレッドのアーカイブにそれっぽい記述があるのでそれをマネる。

次に、SystemUI.apkを次のように書き換えます。


SystemUI.apk/res/layout/status_bar.xmlとstatus_bar_ex.xml(内容はほぼ同じファイル)の7行目



http://2chnull.info/r/smartphone/1339191752/160
  • SystemUI.apk の \res\layout\status_bar.xml
<com.android.systemui.statusbar.policy.Clock android:id="@id/clock" android:layout_width="wrap_content" android:layout_height="fill_parent" android:paddingLeft="6.0dip" android:gravity="left|center" android:singleLine="true" android:textAppearance="@android:style/TextAppearance.StatusBar.Icon"

android:singleLine="true" を "false" に変更。

<com.android.systemui.statusbar.policy.Clock android:id="@id/clock" android:layout_width="wrap_content" android:layout_height="fill_parent" android:paddingLeft="6.0dip" android:gravity="left|center" android:singleLine="false" android:textAppearance="@android:style/TextAppearance.StatusBar.Icon"


すると…

改行されているようだけどバーの高さが足りなくて見えてない!w


ということで、修正が抜けていたのでさらに修正。


android:textSize="9.0sp" を追加

<com.android.systemui.statusbar.policy.Clock android:id="@id/clock" android:textSize="9.0sp" android:layout_width="wrap_content" android:layout_height="fill_parent" android:paddingLeft="6.0dip" android:gravity="left|center" android:singleLine="false" android:textAppearance="@android:style/TextAppearance.StatusBar.Icon"


ちょっとちっこいけど反映された。

注意

システムの改変には ApkManager (ApkMultiTool) を使用した。このツールの場合

  • resources.arsc
  • classes.dex
  • 編集した xml


各自差し替えないと反映されないので注意。


また、変更はもちろん自己責任で。


追記
24時間表記を書き換えてるので一部時計表記で弊害がでることがあります。確認できたのではロック画面とか。

おまけ

SystemUI.apk の \smali\com\android\systemui\statusbar\ 配下の clock 関連の smali を改変してもうまく行かなかったのでこれも一緒にメモしておきます。