Preserve event-local timestamp timezone
This commit is contained in:
@@ -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))
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user