From e9f0213d475926e59354d939549faebdc7e3d577 Mon Sep 17 00:00:00 2001 From: manabu-nakamura Date: Mon, 18 Nov 2024 00:57:45 +0900 Subject: [PATCH] [DatePicker] DateSelector.getSelection() return local time --- .../android/material/datepicker/RangeDateSelector.java | 5 ++++- .../android/material/datepicker/SingleDateSelector.java | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/java/com/google/android/material/datepicker/RangeDateSelector.java b/lib/java/com/google/android/material/datepicker/RangeDateSelector.java index 03644dc3e7c..5a9af2db52c 100644 --- a/lib/java/com/google/android/material/datepicker/RangeDateSelector.java +++ b/lib/java/com/google/android/material/datepicker/RangeDateSelector.java @@ -42,6 +42,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collection; +import java.util.TimeZone; /** * A {@link DateSelector} that uses a {@link Pair} of {@link Long} objects to represent a selected @@ -96,7 +97,9 @@ public void setSelection(@NonNull Pair selection) { @Override @NonNull public Pair getSelection() { - return new Pair<>(selectedStartItem, selectedEndItem); + return new Pair<>( + selectedStartItem == null ? null : selectedStartItem - TimeZone.getDefault().getRawOffset(), + selectedEndItem == null ? null : selectedEndItem - TimeZone.getDefault().getRawOffset()); } @NonNull diff --git a/lib/java/com/google/android/material/datepicker/SingleDateSelector.java b/lib/java/com/google/android/material/datepicker/SingleDateSelector.java index 5354863d129..5aac4f72205 100644 --- a/lib/java/com/google/android/material/datepicker/SingleDateSelector.java +++ b/lib/java/com/google/android/material/datepicker/SingleDateSelector.java @@ -40,6 +40,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collection; +import java.util.TimeZone; /** * A {@link DateSelector} that uses a {@link Long} for its selection state. @@ -91,7 +92,7 @@ public Collection getSelectedDays() { @Override @Nullable public Long getSelection() { - return selectedItem; + return selectedItem == null ? null : selectedItem - TimeZone.getDefault().getRawOffset(); } @Override