How to update timezone data? As you might listened, Russian government loves to change the law about timezones in Russia every couple of years. It causes situation when one year we have daylight savings time, but another year we don't have it.

I use Huawei G700 with rooted Android 4.2 with timezones issue: if I enable clock synchronization via GPS on menu, my Android's clock goes wrong for extra hour; it disables synchronization and sets up right time by hands, I see wrong timestamps in messaging apps, like I'm writing from the future.

The system timezone sets up right, to Moscow Standard Time, but the tzdata itself in the Android is obsolete, I guess. TimeZone Changer doesn't help - it shows that my timezone is Moscow, and if I change it to Moscow, nothing really changes =)

So -


how could I know current tzdata version used by Android, and
how could I update it?


Edit: I searched for something related to tzdata on my Android file system and found file /system/usr/share/zoneinfo/zoneinfo.version with content "2012h" - it looks like tzdata version. There are also 2 other files in this dir - zoneinfo.idx and zoneinfo.dat, but their content doesn't looks as tzdata.

Edit2: currently choosen timezone (not it's offset, but timezone itself!) could be found by typing getprop persist.sys.timezone in terminal emulator.
Yeah, it seems that /system/usr/share/zoneinfo/zoneinfo.* files is tzdata in java format. I tried to use TimeZone Fixer - it replaced all those 3 files. After rebooting device and enable clock synchronization via GPS on system menu, I get right time. Messaging apps now show right time too.

So, using "TimeZone Fixer" app is likely solves my issue - but app description says it could cause unable-to-boot state for some Android versions.