Preserve event-local timestamp timezone

This commit is contained in:
ajp_anton
2026-07-23 10:51:51 +00:00
parent dd1c9e5a01
commit 0091eb5d49
5 changed files with 21 additions and 6 deletions
@@ -77,7 +77,7 @@ class ViewLogsFragment : Fragment(R.layout.fragment_view_logs) {
entries.forEach { entry ->
view.logRows.addView(TextView(requireContext()).apply {
text = settings.order.filter { it in settings.visibleFields }.mapNotNull { field -> when (field) {
LogField.TIMESTAMP -> timestamp(entry.recordedAtEpochMillis, settings.timestampZone)
LogField.TIMESTAMP -> timestamp(entry.recordedAtEpochMillis, settings.timestampZone, entry.eventTimeZoneId)
LogField.APP_NAME -> entry.appName
LogField.PACKAGE_NAME -> entry.packageName
LogField.ACTION -> entry.action.name.lowercase().replace('_', ' ')
@@ -95,9 +95,13 @@ class ViewLogsFragment : Fragment(R.layout.fragment_view_logs) {
}
}
private fun timestamp(value: Long, zone: TimestampZone): String {
private fun timestamp(value: Long, zone: TimestampZone, eventTimeZoneId: String?): String {
val format = DateFormat.getDateTimeInstance()
if (zone == TimestampZone.UTC) format.timeZone = java.util.TimeZone.getTimeZone("UTC")
format.timeZone = when (zone) {
TimestampZone.UTC -> java.util.TimeZone.getTimeZone("UTC")
TimestampZone.LOCAL_NOW -> java.util.TimeZone.getDefault()
TimestampZone.EVENT_LOCAL -> eventTimeZoneId?.let(java.util.TimeZone::getTimeZone) ?: java.util.TimeZone.getDefault()
}
return format.format(Date(value))
}