From 91fadd60c19005c3dfba6791b82aece56dc4aa48 Mon Sep 17 00:00:00 2001 From: fobidlim Date: Mon, 13 Aug 2018 17:00:53 +0900 Subject: [PATCH 1/2] Fix HorizontalCalendarListener#onDateSelected not called when first date selected --- .../mulham/horizontalcalendar/utils/HorizontalSnapHelper.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/horizontalcalendar/src/main/java/devs/mulham/horizontalcalendar/utils/HorizontalSnapHelper.java b/horizontalcalendar/src/main/java/devs/mulham/horizontalcalendar/utils/HorizontalSnapHelper.java index eb04597..4be417b 100644 --- a/horizontalcalendar/src/main/java/devs/mulham/horizontalcalendar/utils/HorizontalSnapHelper.java +++ b/horizontalcalendar/src/main/java/devs/mulham/horizontalcalendar/utils/HorizontalSnapHelper.java @@ -29,7 +29,9 @@ public View findSnapView(RecyclerView.LayoutManager layoutManager) { } else { int[] snapDistance = calculateDistanceToFinalSnap(layoutManager, snapView); if ((snapDistance[0] != 0) || (snapDistance[1] != 0)){ - return snapView; + if ((snapDistance[0] != -1) && (snapDistance[0] != -2)){ + return snapView; + } } selectedItemPosition = layoutManager.getPosition(snapView); } From 523181b4261a25a138cdb6f5eafdc9f11a2e0e95 Mon Sep 17 00:00:00 2001 From: fobidlim Date: Mon, 4 Feb 2019 13:15:48 +0900 Subject: [PATCH 2/2] Fix onDateSelected not called when first selected date is the newest --- .../mulham/horizontalcalendar/utils/HorizontalSnapHelper.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/horizontalcalendar/src/main/java/devs/mulham/horizontalcalendar/utils/HorizontalSnapHelper.java b/horizontalcalendar/src/main/java/devs/mulham/horizontalcalendar/utils/HorizontalSnapHelper.java index 4be417b..7525143 100644 --- a/horizontalcalendar/src/main/java/devs/mulham/horizontalcalendar/utils/HorizontalSnapHelper.java +++ b/horizontalcalendar/src/main/java/devs/mulham/horizontalcalendar/utils/HorizontalSnapHelper.java @@ -29,7 +29,8 @@ public View findSnapView(RecyclerView.LayoutManager layoutManager) { } else { int[] snapDistance = calculateDistanceToFinalSnap(layoutManager, snapView); if ((snapDistance[0] != 0) || (snapDistance[1] != 0)){ - if ((snapDistance[0] != -1) && (snapDistance[0] != -2)){ + if ((snapDistance[0] != -1) && (snapDistance[0] != -2) + && (snapDistance[0] != 1) && (snapDistance[0] != 2)){ return snapView; } }