From 34e89ea3f9cd2bbd4eaec4cc82232d0f43590d56 Mon Sep 17 00:00:00 2001 From: Dennis Guse Date: Sat, 20 Jun 2026 18:52:43 +0200 Subject: [PATCH] TimeZoneOffsets now supports minutes. Fixes #2357. --- .../opentracks/ui/ZoneOffsetAdapter.java | 48 +++++++++++++++++-- 1 file changed, 43 insertions(+), 5 deletions(-) diff --git a/src/main/java/de/dennisguse/opentracks/ui/ZoneOffsetAdapter.java b/src/main/java/de/dennisguse/opentracks/ui/ZoneOffsetAdapter.java index 9ae5148b0..310e9ff38 100644 --- a/src/main/java/de/dennisguse/opentracks/ui/ZoneOffsetAdapter.java +++ b/src/main/java/de/dennisguse/opentracks/ui/ZoneOffsetAdapter.java @@ -7,13 +7,51 @@ import android.widget.ArrayAdapter; import androidx.annotation.NonNull; import java.time.ZoneOffset; -import java.util.stream.IntStream; +/** + * https://en.wikipedia.org/wiki/List_of_UTC_offsets + */ public class ZoneOffsetAdapter extends ArrayAdapter { public ZoneOffsetAdapter(@NonNull Context context, int resource) { - super(context, resource, IntStream.range(-12, +12) - .boxed() - .map(ZoneOffset::ofHours) - .toList()); + super(context, resource); + + addAll( + ZoneOffset.ofHoursMinutes(-12, 00), + ZoneOffset.ofHoursMinutes(-11, 00), + ZoneOffset.ofHoursMinutes(-10, 00), + ZoneOffset.ofHoursMinutes(-9, -30), + ZoneOffset.ofHoursMinutes(-8, 00), + ZoneOffset.ofHoursMinutes(-7, 00), + ZoneOffset.ofHoursMinutes(-6, 00), + ZoneOffset.ofHoursMinutes(-5, 00), + ZoneOffset.ofHoursMinutes(-4, 00), + ZoneOffset.ofHoursMinutes(-3, -30), + ZoneOffset.ofHoursMinutes(-3, 00), + ZoneOffset.ofHoursMinutes(-2, 00), + ZoneOffset.ofHoursMinutes(-1, 00), + ZoneOffset.ofHoursMinutes(0, 00), + ZoneOffset.ofHoursMinutes(1, 00), + ZoneOffset.ofHoursMinutes(2, 00), + ZoneOffset.ofHoursMinutes(3, 00), + ZoneOffset.ofHoursMinutes(3, 30), + ZoneOffset.ofHoursMinutes(4, 00), + ZoneOffset.ofHoursMinutes(4, 30), + ZoneOffset.ofHoursMinutes(5, 30), + ZoneOffset.ofHoursMinutes(5, 45), + ZoneOffset.ofHoursMinutes(6, 00), + ZoneOffset.ofHoursMinutes(6, 30), + ZoneOffset.ofHoursMinutes(7, 00), + ZoneOffset.ofHoursMinutes(8, 00), + ZoneOffset.ofHoursMinutes(8, 45), + ZoneOffset.ofHoursMinutes(9, 00), + ZoneOffset.ofHoursMinutes(9, 30), + ZoneOffset.ofHoursMinutes(10, 00), + ZoneOffset.ofHoursMinutes(10, 30), + ZoneOffset.ofHoursMinutes(11, 00), + ZoneOffset.ofHoursMinutes(12, 00), + ZoneOffset.ofHoursMinutes(12, 45), + ZoneOffset.ofHoursMinutes(13, 00), + ZoneOffset.ofHoursMinutes(14, 00) + ); } }