mirror of
https://github.com/mvt-project/mvt.git
synced 2026-09-11 12:18:57 +02:00
A bugreport zip stores each entry's time as the device's wall clock, and an unpacked bugreport's mtimes are whatever the extraction left. The bugreport modules read both as naive local datetimes, so a tombstone's file_timestamp moved with the analysing machine's timezone and sat three hours from the crash time the tombstone itself records for a device in Nairobi. check-bugreport now resolves the device's timezone once, from --timezone or from persist.sys.timezone in the dumpstate's SYSTEM PROPERTIES, and hands it to the modules as device_timezone the way check-androidqf does; a zone already known, as when androidqf drives the bugreport inside its own archive, is kept. Zip entry times are read in that zone and the mtimes of an unpacked bugreport as UTC instants, so convert_datetime_to_iso writes both in UTC. Without a zone the wall clock is kept naive and a warning says so, and an unpacked bugreport gets a warning that its file timestamps are the extraction's, not the device's. BugReportTimestamps uses the same reading instead of parsing the properties itself.