From 28c6f91d6c695139584ea1c2530c1b79ad4e74a4 Mon Sep 17 00:00:00 2001 From: Thomas Goureau Date: Mon, 1 Feb 2016 15:32:19 +0100 Subject: [PATCH 1/4] Clean Code (refractor move --> interfaces) --- .../weekview/DateTimeInterpreter.java | 11 --- .../com/alamkanak/weekview/MonthLoader.java | 2 + .../java/com/alamkanak/weekview/WeekView.java | 70 +++++-------------- .../alamkanak/weekview/WeekViewLoader.java | 24 ------- 4 files changed, 19 insertions(+), 88 deletions(-) delete mode 100644 library/src/main/java/com/alamkanak/weekview/DateTimeInterpreter.java delete mode 100644 library/src/main/java/com/alamkanak/weekview/WeekViewLoader.java diff --git a/library/src/main/java/com/alamkanak/weekview/DateTimeInterpreter.java b/library/src/main/java/com/alamkanak/weekview/DateTimeInterpreter.java deleted file mode 100644 index 383c5570d..000000000 --- a/library/src/main/java/com/alamkanak/weekview/DateTimeInterpreter.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.alamkanak.weekview; - -import java.util.Calendar; - -/** - * Created by Raquib on 1/6/2015. - */ -public interface DateTimeInterpreter { - String interpretDate(Calendar date); - String interpretTime(int hour); -} diff --git a/library/src/main/java/com/alamkanak/weekview/MonthLoader.java b/library/src/main/java/com/alamkanak/weekview/MonthLoader.java index 424d67c1b..e3eeb7e8a 100644 --- a/library/src/main/java/com/alamkanak/weekview/MonthLoader.java +++ b/library/src/main/java/com/alamkanak/weekview/MonthLoader.java @@ -1,5 +1,7 @@ package com.alamkanak.weekview; +import com.alamkanak.weekview.interfaces.WeekViewLoader; + import java.util.Calendar; import java.util.List; diff --git a/library/src/main/java/com/alamkanak/weekview/WeekView.java b/library/src/main/java/com/alamkanak/weekview/WeekView.java index cb22eefca..9c8b9d7e8 100755 --- a/library/src/main/java/com/alamkanak/weekview/WeekView.java +++ b/library/src/main/java/com/alamkanak/weekview/WeekView.java @@ -1,5 +1,13 @@ package com.alamkanak.weekview; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; +import java.util.Locale; + import android.content.Context; import android.content.res.TypedArray; import android.graphics.Canvas; @@ -33,13 +41,13 @@ import android.view.ViewConfiguration; import android.widget.OverScroller; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; -import java.util.Locale; +import com.alamkanak.weekview.interfaces.DateTimeInterpreter; +import com.alamkanak.weekview.interfaces.EmptyViewClickListener; +import com.alamkanak.weekview.interfaces.EmptyViewLongPressListener; +import com.alamkanak.weekview.interfaces.EventClickListener; +import com.alamkanak.weekview.interfaces.EventLongPressListener; +import com.alamkanak.weekview.interfaces.ScrollListener; +import com.alamkanak.weekview.interfaces.WeekViewLoader; /** * Created by Raquib-ul-Alam Kanak on 7/21/2014. @@ -280,7 +288,8 @@ public void onLongPress(MotionEvent e) { } // If the tap was on in an empty space, then trigger the callback. - if (mEmptyViewLongPressListener != null && e.getX() > mHeaderColumnWidth && e.getY() > (mHeaderTextHeight + mHeaderRowPadding * 2 + mHeaderMarginBottom)) { + if (mEmptyViewLongPressListener != null +&& e.getX() > mHeaderColumnWidth && e.getY() > (mHeaderTextHeight + mHeaderRowPadding * 2 + mHeaderMarginBottom)) { Calendar selectedTime = getTimeFromPoint(e.getX(), e.getY()); if (selectedTime != null) { performHapticFeedback(HapticFeedbackConstants.LONG_PRESS); @@ -1891,56 +1900,11 @@ public double getFirstVisibleHour(){ - ///////////////////////////////////////////////////////////////// - // - // Interfaces. - // - ///////////////////////////////////////////////////////////////// - public interface EventClickListener { - /** - * Triggered when clicked on one existing event - * @param event: event clicked. - * @param eventRect: view containing the clicked event. - */ - void onEventClick(WeekViewEvent event, RectF eventRect); - } - public interface EventLongPressListener { - /** - * Similar to {@link com.alamkanak.weekview.WeekView.EventClickListener} but with a long press. - * @param event: event clicked. - * @param eventRect: view containing the clicked event. - */ - void onEventLongPress(WeekViewEvent event, RectF eventRect); - } - public interface EmptyViewClickListener { - /** - * Triggered when the users clicks on a empty space of the calendar. - * @param time: {@link Calendar} object set with the date and time of the clicked position on the view. - */ - void onEmptyViewClicked(Calendar time); - } - public interface EmptyViewLongPressListener { - /** - * Similar to {@link com.alamkanak.weekview.WeekView.EmptyViewClickListener} but with long press. - * @param time: {@link Calendar} object set with the date and time of the long pressed position on the view. - */ - void onEmptyViewLongPress(Calendar time); - } - public interface ScrollListener { - /** - * Called when the first visible day has changed. - * - * (this will also be called during the first draw of the weekview) - * @param newFirstVisibleDay The new first visible day - * @param oldFirstVisibleDay The old first visible day (is null on the first call). - */ - void onFirstVisibleDayChanged(Calendar newFirstVisibleDay, Calendar oldFirstVisibleDay); - } ///////////////////////////////////////////////////////////////// diff --git a/library/src/main/java/com/alamkanak/weekview/WeekViewLoader.java b/library/src/main/java/com/alamkanak/weekview/WeekViewLoader.java deleted file mode 100644 index dcedfe988..000000000 --- a/library/src/main/java/com/alamkanak/weekview/WeekViewLoader.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.alamkanak.weekview; - -import java.util.Calendar; -import java.util.List; - -public interface WeekViewLoader { - /** - * Convert a date into a double that will be used to reference when you're loading data. - * - * All periods that have the same integer part, define one period. Dates that are later in time - * should have a greater return value. - * - * @param instance the date - * @return The period index in which the date falls (floating point number). - */ - double toWeekViewPeriodIndex(Calendar instance); - - /** - * Load the events within the period - * @param periodIndex the period to load - * @return A list with the events of this period - */ - List onLoad(int periodIndex); -} From 5cc93c799c0a37603f62f0c29da6fb1873167c23 Mon Sep 17 00:00:00 2001 From: Thomas Goureau Date: Thu, 4 Feb 2016 11:28:30 +0100 Subject: [PATCH 2/4] Clean Code (refractor move --> interfaces) part 2 --- .../interfaces/DateTimeInterpreter.java | 11 ++++++++ .../interfaces/EmptyViewClickListener.java | 14 ++++++++++ .../EmptyViewLongPressListener.java | 14 ++++++++++ .../interfaces/EventClickListener.java | 17 ++++++++++++ .../interfaces/EventLongPressListener.java | 17 ++++++++++++ .../weekview/interfaces/ScrollListener.java | 17 ++++++++++++ .../weekview/interfaces/WeekViewLoader.java | 26 +++++++++++++++++++ .../weekview/sample/BaseActivity.java | 2 +- 8 files changed, 117 insertions(+), 1 deletion(-) create mode 100644 library/src/main/java/com/alamkanak/weekview/interfaces/DateTimeInterpreter.java create mode 100644 library/src/main/java/com/alamkanak/weekview/interfaces/EmptyViewClickListener.java create mode 100644 library/src/main/java/com/alamkanak/weekview/interfaces/EmptyViewLongPressListener.java create mode 100644 library/src/main/java/com/alamkanak/weekview/interfaces/EventClickListener.java create mode 100644 library/src/main/java/com/alamkanak/weekview/interfaces/EventLongPressListener.java create mode 100644 library/src/main/java/com/alamkanak/weekview/interfaces/ScrollListener.java create mode 100644 library/src/main/java/com/alamkanak/weekview/interfaces/WeekViewLoader.java diff --git a/library/src/main/java/com/alamkanak/weekview/interfaces/DateTimeInterpreter.java b/library/src/main/java/com/alamkanak/weekview/interfaces/DateTimeInterpreter.java new file mode 100644 index 000000000..814715e64 --- /dev/null +++ b/library/src/main/java/com/alamkanak/weekview/interfaces/DateTimeInterpreter.java @@ -0,0 +1,11 @@ +package com.alamkanak.weekview.interfaces; + +import java.util.Calendar; + +/** + * Created by Raquib on 1/6/2015. + */ +public interface DateTimeInterpreter { + String interpretDate(Calendar date); + String interpretTime(int hour); +} diff --git a/library/src/main/java/com/alamkanak/weekview/interfaces/EmptyViewClickListener.java b/library/src/main/java/com/alamkanak/weekview/interfaces/EmptyViewClickListener.java new file mode 100644 index 000000000..85d4cfd5d --- /dev/null +++ b/library/src/main/java/com/alamkanak/weekview/interfaces/EmptyViewClickListener.java @@ -0,0 +1,14 @@ +package com.alamkanak.weekview.interfaces; + +import java.util.Calendar; + +/** + * Created by Thomas on 01/02/2016. + */ +public interface EmptyViewClickListener { + /** + * Triggered when the users clicks on a empty space of the calendar. + * @param time: {@link Calendar} object set with the date and time of the clicked position on the view. + */ + void onEmptyViewClicked(Calendar time); +} diff --git a/library/src/main/java/com/alamkanak/weekview/interfaces/EmptyViewLongPressListener.java b/library/src/main/java/com/alamkanak/weekview/interfaces/EmptyViewLongPressListener.java new file mode 100644 index 000000000..c02076a40 --- /dev/null +++ b/library/src/main/java/com/alamkanak/weekview/interfaces/EmptyViewLongPressListener.java @@ -0,0 +1,14 @@ +package com.alamkanak.weekview.interfaces; + +import java.util.Calendar; + +/** + * Created by Thomas on 01/02/2016. + */ +public interface EmptyViewLongPressListener { + /** + * Similar to {@link com.alamkanak.weekview.WeekView.EmptyViewClickListener} but with long press. + * @param time: {@link Calendar} object set with the date and time of the long pressed position on the view. + */ + void onEmptyViewLongPress(Calendar time); +} diff --git a/library/src/main/java/com/alamkanak/weekview/interfaces/EventClickListener.java b/library/src/main/java/com/alamkanak/weekview/interfaces/EventClickListener.java new file mode 100644 index 000000000..5532f5249 --- /dev/null +++ b/library/src/main/java/com/alamkanak/weekview/interfaces/EventClickListener.java @@ -0,0 +1,17 @@ +package com.alamkanak.weekview.interfaces; + +import android.graphics.RectF; + +import com.alamkanak.weekview.WeekViewEvent; + +/** + * Created by Thomas on 01/02/2016. + */ +public interface EventClickListener { + /** + * Triggered when clicked on one existing event + * @param event: event clicked. + * @param eventRect: view containing the clicked event. + */ + void onEventClick(WeekViewEvent event, RectF eventRect); +} diff --git a/library/src/main/java/com/alamkanak/weekview/interfaces/EventLongPressListener.java b/library/src/main/java/com/alamkanak/weekview/interfaces/EventLongPressListener.java new file mode 100644 index 000000000..0bb4fe435 --- /dev/null +++ b/library/src/main/java/com/alamkanak/weekview/interfaces/EventLongPressListener.java @@ -0,0 +1,17 @@ +package com.alamkanak.weekview.interfaces; + +import android.graphics.RectF; + +import com.alamkanak.weekview.WeekViewEvent; + +/** + * Created by Thomas on 01/02/2016. + */ +public interface EventLongPressListener { + /** + * Similar to {@link com.alamkanak.weekview.WeekView.EventClickListener} but with a long press. + * @param event: event clicked. + * @param eventRect: view containing the clicked event. + */ + void onEventLongPress(WeekViewEvent event, RectF eventRect); +} diff --git a/library/src/main/java/com/alamkanak/weekview/interfaces/ScrollListener.java b/library/src/main/java/com/alamkanak/weekview/interfaces/ScrollListener.java new file mode 100644 index 000000000..7697a18c5 --- /dev/null +++ b/library/src/main/java/com/alamkanak/weekview/interfaces/ScrollListener.java @@ -0,0 +1,17 @@ +package com.alamkanak.weekview.interfaces; + +import java.util.Calendar; + +/** + * Created by Thomas on 01/02/2016. + */ +public interface ScrollListener { + /** + * Called when the first visible day has changed. + * + * (this will also be called during the first draw of the weekview) + * @param newFirstVisibleDay The new first visible day + * @param oldFirstVisibleDay The old first visible day (is null on the first call). + */ + void onFirstVisibleDayChanged(Calendar newFirstVisibleDay, Calendar oldFirstVisibleDay); +} diff --git a/library/src/main/java/com/alamkanak/weekview/interfaces/WeekViewLoader.java b/library/src/main/java/com/alamkanak/weekview/interfaces/WeekViewLoader.java new file mode 100644 index 000000000..47d157a48 --- /dev/null +++ b/library/src/main/java/com/alamkanak/weekview/interfaces/WeekViewLoader.java @@ -0,0 +1,26 @@ +package com.alamkanak.weekview.interfaces; + +import com.alamkanak.weekview.WeekViewEvent; + +import java.util.Calendar; +import java.util.List; + +public interface WeekViewLoader { + /** + * Convert a date into a double that will be used to reference when you're loading data. + * + * All periods that have the same integer part, define one period. Dates that are later in time + * should have a greater return value. + * + * @param instance the date + * @return The period index in which the date falls (floating point number). + */ + double toWeekViewPeriodIndex(Calendar instance); + + /** + * Load the events within the period + * @param periodIndex the period to load + * @return A list with the events of this period + */ + List onLoad(int periodIndex); +} diff --git a/sample/src/main/java/com/alamkanak/weekview/sample/BaseActivity.java b/sample/src/main/java/com/alamkanak/weekview/sample/BaseActivity.java index e311d1943..fb7762f13 100644 --- a/sample/src/main/java/com/alamkanak/weekview/sample/BaseActivity.java +++ b/sample/src/main/java/com/alamkanak/weekview/sample/BaseActivity.java @@ -8,7 +8,7 @@ import android.view.MenuItem; import android.widget.Toast; -import com.alamkanak.weekview.DateTimeInterpreter; +import com.alamkanak.weekview.interfaces.DateTimeInterpreter; import com.alamkanak.weekview.MonthLoader; import com.alamkanak.weekview.WeekView; import com.alamkanak.weekview.WeekViewEvent; From acc494684428bc4a47fac637848f4226665d4d94 Mon Sep 17 00:00:00 2001 From: Thomas Goureau Date: Thu, 4 Feb 2016 11:30:19 +0100 Subject: [PATCH 3/4] Clean Code (refractor move --> interfaces) part 3 --- .../java/com/alamkanak/weekview/sample/BaseActivity.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sample/src/main/java/com/alamkanak/weekview/sample/BaseActivity.java b/sample/src/main/java/com/alamkanak/weekview/sample/BaseActivity.java index fb7762f13..04432754c 100644 --- a/sample/src/main/java/com/alamkanak/weekview/sample/BaseActivity.java +++ b/sample/src/main/java/com/alamkanak/weekview/sample/BaseActivity.java @@ -8,10 +8,13 @@ import android.view.MenuItem; import android.widget.Toast; -import com.alamkanak.weekview.interfaces.DateTimeInterpreter; import com.alamkanak.weekview.MonthLoader; import com.alamkanak.weekview.WeekView; import com.alamkanak.weekview.WeekViewEvent; +import com.alamkanak.weekview.interfaces.DateTimeInterpreter; +import com.alamkanak.weekview.interfaces.EmptyViewLongPressListener; +import com.alamkanak.weekview.interfaces.EventClickListener; +import com.alamkanak.weekview.interfaces.EventLongPressListener; import java.text.SimpleDateFormat; import java.util.Calendar; @@ -23,7 +26,7 @@ * Created by Raquib-ul-Alam Kanak on 1/3/2014. * Website: http://alamkanak.github.io */ -public abstract class BaseActivity extends AppCompatActivity implements WeekView.EventClickListener, MonthLoader.MonthChangeListener, WeekView.EventLongPressListener, WeekView.EmptyViewLongPressListener { +public abstract class BaseActivity extends AppCompatActivity implements EventClickListener, MonthLoader.MonthChangeListener, EventLongPressListener, EmptyViewLongPressListener { private static final int TYPE_DAY_VIEW = 1; private static final int TYPE_THREE_DAY_VIEW = 2; private static final int TYPE_WEEK_VIEW = 3; From ebb1ffbd6c578c81c48e655696d5630f4f13eb18 Mon Sep 17 00:00:00 2001 From: Thomas Goureau Date: Mon, 22 Feb 2016 12:14:11 +0100 Subject: [PATCH 4/4] Clean Code (refractor move --> interfaces) part 5 : add deprecated tag and documentations --- .../weekview/DateTimeInterpreter.java | 13 +++ .../com/alamkanak/weekview/MonthLoader.java | 26 +++-- .../java/com/alamkanak/weekview/WeekView.java | 99 ++++++++++++------- .../alamkanak/weekview/WeekViewLoader.java | 9 ++ .../interfaces/DateTimeInterpreter.java | 2 +- .../interfaces/EventClickListener.java | 2 +- .../interfaces/EventLongPressListener.java | 2 +- .../interfaces/MonthChangeListener.java | 21 ++++ .../weekview/interfaces/WeekViewLoader.java | 2 +- 9 files changed, 122 insertions(+), 54 deletions(-) create mode 100644 library/src/main/java/com/alamkanak/weekview/DateTimeInterpreter.java create mode 100644 library/src/main/java/com/alamkanak/weekview/WeekViewLoader.java create mode 100644 library/src/main/java/com/alamkanak/weekview/interfaces/MonthChangeListener.java diff --git a/library/src/main/java/com/alamkanak/weekview/DateTimeInterpreter.java b/library/src/main/java/com/alamkanak/weekview/DateTimeInterpreter.java new file mode 100644 index 000000000..f72341501 --- /dev/null +++ b/library/src/main/java/com/alamkanak/weekview/DateTimeInterpreter.java @@ -0,0 +1,13 @@ +package com.alamkanak.weekview; + +/** + * Created by Raquib on 1/6/2015. + */ +/** + * @deprecated code refractoring + * {will be removed in next version}
+ * use {@link com.alamkanak.weekview.interfaces.DateTimeInterpreter} instead. + */ +@Deprecated +public interface DateTimeInterpreter extends com.alamkanak.weekview.interfaces.DateTimeInterpreter{ +} diff --git a/library/src/main/java/com/alamkanak/weekview/MonthLoader.java b/library/src/main/java/com/alamkanak/weekview/MonthLoader.java index e3eeb7e8a..49ab285b2 100644 --- a/library/src/main/java/com/alamkanak/weekview/MonthLoader.java +++ b/library/src/main/java/com/alamkanak/weekview/MonthLoader.java @@ -7,9 +7,9 @@ public class MonthLoader implements WeekViewLoader { - private MonthChangeListener mOnMonthChangeListener; + private com.alamkanak.weekview.interfaces.MonthChangeListener mOnMonthChangeListener; - public MonthLoader(MonthChangeListener listener){ + public MonthLoader(com.alamkanak.weekview.interfaces.MonthChangeListener listener){ this.mOnMonthChangeListener = listener; } @@ -23,23 +23,21 @@ public List onLoad(int periodIndex){ return mOnMonthChangeListener.onMonthChange(periodIndex / 12, periodIndex % 12 + 1); } - public MonthChangeListener getOnMonthChangeListener() { + public com.alamkanak.weekview.interfaces.MonthChangeListener getOnMonthChangeListener() { return mOnMonthChangeListener; } - public void setOnMonthChangeListener(MonthChangeListener onMonthChangeListener) { + public void setOnMonthChangeListener(com.alamkanak.weekview.interfaces.MonthChangeListener onMonthChangeListener) { this.mOnMonthChangeListener = onMonthChangeListener; } - public interface MonthChangeListener { - /** - * Very important interface, it's the base to load events in the calendar. - * This method is called three times: once to load the previous month, once to load the next month and once to load the current month.
- * That's why you can have three times the same event at the same place if you mess up with the configuration - * @param newYear : year of the events required by the view. - * @param newMonth : month of the events required by the view
1 based (not like JAVA API) --> January = 1 and December = 12. - * @return a list of the events happening during the specified month. - */ - List onMonthChange(int newYear, int newMonth); + /** + * @deprecated code refractoring + * {will be removed in next version}
+ * use {@link com.alamkanak.weekview.interfaces.MonthChangeListener} instead. + */ + @Deprecated + public interface MonthChangeListener extends com.alamkanak.weekview.interfaces.MonthChangeListener{ + } } diff --git a/library/src/main/java/com/alamkanak/weekview/WeekView.java b/library/src/main/java/com/alamkanak/weekview/WeekView.java index 748e17342..838724e85 100755 --- a/library/src/main/java/com/alamkanak/weekview/WeekView.java +++ b/library/src/main/java/com/alamkanak/weekview/WeekView.java @@ -42,11 +42,6 @@ import android.widget.OverScroller; import com.alamkanak.weekview.interfaces.DateTimeInterpreter; -import com.alamkanak.weekview.interfaces.EmptyViewClickListener; -import com.alamkanak.weekview.interfaces.EmptyViewLongPressListener; -import com.alamkanak.weekview.interfaces.EventClickListener; -import com.alamkanak.weekview.interfaces.EventLongPressListener; -import com.alamkanak.weekview.interfaces.ScrollListener; import com.alamkanak.weekview.interfaces.WeekViewLoader; import static com.alamkanak.weekview.WeekViewUtil.*; @@ -154,13 +149,13 @@ private enum Direction { private int mScrollDuration = 250; // Listeners. - private EventClickListener mEventClickListener; - private EventLongPressListener mEventLongPressListener; - private WeekViewLoader mWeekViewLoader; - private EmptyViewClickListener mEmptyViewClickListener; - private EmptyViewLongPressListener mEmptyViewLongPressListener; - private DateTimeInterpreter mDateTimeInterpreter; - private ScrollListener mScrollListener; + private com.alamkanak.weekview.interfaces.EventClickListener mEventClickListener; + private com.alamkanak.weekview.interfaces.EventLongPressListener mEventLongPressListener; + private com.alamkanak.weekview.interfaces.WeekViewLoader mWeekViewLoader; + private com.alamkanak.weekview.interfaces.EmptyViewClickListener mEmptyViewClickListener; + private com.alamkanak.weekview.interfaces.EmptyViewLongPressListener mEmptyViewLongPressListener; + private com.alamkanak.weekview.interfaces.DateTimeInterpreter mDateTimeInterpreter; + private com.alamkanak.weekview.interfaces.ScrollListener mScrollListener; private final GestureDetector.SimpleOnGestureListener mGestureListener = new GestureDetector.SimpleOnGestureListener() { @@ -1230,21 +1225,21 @@ public void invalidate() { // ///////////////////////////////////////////////////////////////// - public void setOnEventClickListener (EventClickListener listener) { + public void setOnEventClickListener (com.alamkanak.weekview.interfaces.EventClickListener listener) { this.mEventClickListener = listener; } - public EventClickListener getEventClickListener() { + public com.alamkanak.weekview.interfaces.EventClickListener getEventClickListener() { return mEventClickListener; } - public @Nullable MonthLoader.MonthChangeListener getMonthChangeListener() { + public @Nullable com.alamkanak.weekview.interfaces.MonthChangeListener getMonthChangeListener() { if (mWeekViewLoader instanceof MonthLoader) return ((MonthLoader) mWeekViewLoader).getOnMonthChangeListener(); return null; } - public void setMonthChangeListener(MonthLoader.MonthChangeListener monthChangeListener) { + public void setMonthChangeListener(com.alamkanak.weekview.interfaces.MonthChangeListener monthChangeListener) { this.mWeekViewLoader = new MonthLoader(monthChangeListener); } @@ -1268,35 +1263,35 @@ public void setWeekViewLoader(WeekViewLoader loader){ this.mWeekViewLoader = loader; } - public EventLongPressListener getEventLongPressListener() { + public com.alamkanak.weekview.interfaces.EventLongPressListener getEventLongPressListener() { return mEventLongPressListener; } - public void setEventLongPressListener(EventLongPressListener eventLongPressListener) { + public void setEventLongPressListener(com.alamkanak.weekview.interfaces.EventLongPressListener eventLongPressListener) { this.mEventLongPressListener = eventLongPressListener; } - public void setEmptyViewClickListener(EmptyViewClickListener emptyViewClickListener){ + public void setEmptyViewClickListener(com.alamkanak.weekview.interfaces.EmptyViewClickListener emptyViewClickListener){ this.mEmptyViewClickListener = emptyViewClickListener; } - public EmptyViewClickListener getEmptyViewClickListener(){ + public com.alamkanak.weekview.interfaces.EmptyViewClickListener getEmptyViewClickListener(){ return mEmptyViewClickListener; } - public void setEmptyViewLongPressListener(EmptyViewLongPressListener emptyViewLongPressListener){ + public void setEmptyViewLongPressListener(com.alamkanak.weekview.interfaces.EmptyViewLongPressListener emptyViewLongPressListener){ this.mEmptyViewLongPressListener = emptyViewLongPressListener; } - public EmptyViewLongPressListener getEmptyViewLongPressListener(){ + public com.alamkanak.weekview.interfaces.EmptyViewLongPressListener getEmptyViewLongPressListener(){ return mEmptyViewLongPressListener; } - public void setScrollListener(ScrollListener scrolledListener){ + public void setScrollListener(com.alamkanak.weekview.interfaces.ScrollListener scrolledListener){ this.mScrollListener = scrolledListener; } - public ScrollListener getScrollListener(){ + public com.alamkanak.weekview.interfaces.ScrollListener getScrollListener(){ return mScrollListener; } @@ -1998,18 +1993,50 @@ public double getFirstVisibleHour(){ + ///////////////////////////////////////////////////////////////// + // + // Interfaces. + // + ///////////////////////////////////////////////////////////////// + /** + * @deprecated code refractoring + * {will be removed in next version}
+ * use {@link com.alamkanak.weekview.interfaces.EventClickListener} instead. + */ + @Deprecated + public interface EventClickListener extends com.alamkanak.weekview.interfaces.EventClickListener{ + } + /** + * @deprecated code refractoring + * {will be removed in next version}
+ * use {@link com.alamkanak.weekview.interfaces.EventLongPressListener} instead. + */ + @Deprecated + public interface EventLongPressListener extends com.alamkanak.weekview.interfaces.EventLongPressListener{ + } + /** + * @deprecated code refractoring + * {will be removed in next version}
+ * use {@link com.alamkanak.weekview.interfaces.EmptyViewClickListener} instead. + */ + @Deprecated + public interface EmptyViewClickListener extends com.alamkanak.weekview.interfaces.EmptyViewClickListener{ + } + /** + * @deprecated code refractoring + * {will be removed in next version}
+ * use {@link com.alamkanak.weekview.interfaces.EmptyViewLongPressListener} instead. + */ + @Deprecated + public interface EmptyViewLongPressListener extends com.alamkanak.weekview.interfaces.EmptyViewLongPressListener{ + } + /** + * @deprecated code refractoring + * {will be removed in next version}
+ * use {@link com.alamkanak.weekview.interfaces.ScrollListener} instead. + */ + @Deprecated + public interface ScrollListener extends com.alamkanak.weekview.interfaces.ScrollListener{ - - - - public interface ScrollListener { - /** - * Called when the first visible day has changed. - * - * (this will also be called during the first draw of the weekview) - * @param newFirstVisibleDay The new first visible day - * @param oldFirstVisibleDay The old first visible day (is null on the first call). - */ - void onFirstVisibleDayChanged(Calendar newFirstVisibleDay, Calendar oldFirstVisibleDay); } } diff --git a/library/src/main/java/com/alamkanak/weekview/WeekViewLoader.java b/library/src/main/java/com/alamkanak/weekview/WeekViewLoader.java new file mode 100644 index 000000000..81d001746 --- /dev/null +++ b/library/src/main/java/com/alamkanak/weekview/WeekViewLoader.java @@ -0,0 +1,9 @@ +package com.alamkanak.weekview; +/** + * @deprecated code refractoring + * {will be removed in next version}
+ * use {@link com.alamkanak.weekview.interfaces.WeekViewLoader} instead. + */ +@Deprecated +public interface WeekViewLoader extends com.alamkanak.weekview.interfaces.WeekViewLoader{ +} diff --git a/library/src/main/java/com/alamkanak/weekview/interfaces/DateTimeInterpreter.java b/library/src/main/java/com/alamkanak/weekview/interfaces/DateTimeInterpreter.java index 814715e64..ae0837ffc 100644 --- a/library/src/main/java/com/alamkanak/weekview/interfaces/DateTimeInterpreter.java +++ b/library/src/main/java/com/alamkanak/weekview/interfaces/DateTimeInterpreter.java @@ -5,7 +5,7 @@ /** * Created by Raquib on 1/6/2015. */ -public interface DateTimeInterpreter { +public interface DateTimeInterpreter{ String interpretDate(Calendar date); String interpretTime(int hour); } diff --git a/library/src/main/java/com/alamkanak/weekview/interfaces/EventClickListener.java b/library/src/main/java/com/alamkanak/weekview/interfaces/EventClickListener.java index 5532f5249..314bcc787 100644 --- a/library/src/main/java/com/alamkanak/weekview/interfaces/EventClickListener.java +++ b/library/src/main/java/com/alamkanak/weekview/interfaces/EventClickListener.java @@ -7,7 +7,7 @@ /** * Created by Thomas on 01/02/2016. */ -public interface EventClickListener { +public interface EventClickListener{ /** * Triggered when clicked on one existing event * @param event: event clicked. diff --git a/library/src/main/java/com/alamkanak/weekview/interfaces/EventLongPressListener.java b/library/src/main/java/com/alamkanak/weekview/interfaces/EventLongPressListener.java index 0bb4fe435..d1d35caf9 100644 --- a/library/src/main/java/com/alamkanak/weekview/interfaces/EventLongPressListener.java +++ b/library/src/main/java/com/alamkanak/weekview/interfaces/EventLongPressListener.java @@ -7,7 +7,7 @@ /** * Created by Thomas on 01/02/2016. */ -public interface EventLongPressListener { +public interface EventLongPressListener{ /** * Similar to {@link com.alamkanak.weekview.WeekView.EventClickListener} but with a long press. * @param event: event clicked. diff --git a/library/src/main/java/com/alamkanak/weekview/interfaces/MonthChangeListener.java b/library/src/main/java/com/alamkanak/weekview/interfaces/MonthChangeListener.java new file mode 100644 index 000000000..69d771010 --- /dev/null +++ b/library/src/main/java/com/alamkanak/weekview/interfaces/MonthChangeListener.java @@ -0,0 +1,21 @@ +package com.alamkanak.weekview.interfaces; + +import com.alamkanak.weekview.WeekViewEvent; + +import java.util.List; + +/** + * Created by Thomas on 22/02/2016. + */ + +public interface MonthChangeListener{ + /** + * Very important interface, it's the base to load events in the calendar. + * This method is called three times: once to load the previous month, once to load the next month and once to load the current month.
+ * That's why you can have three times the same event at the same place if you mess up with the configuration + * @param newYear : year of the events required by the view. + * @param newMonth : month of the events required by the view
1 based (not like JAVA API) --> January = 1 and December = 12. + * @return a list of the events happening during the specified month. + */ + List onMonthChange(int newYear, int newMonth); +} diff --git a/library/src/main/java/com/alamkanak/weekview/interfaces/WeekViewLoader.java b/library/src/main/java/com/alamkanak/weekview/interfaces/WeekViewLoader.java index 47d157a48..9644dde31 100644 --- a/library/src/main/java/com/alamkanak/weekview/interfaces/WeekViewLoader.java +++ b/library/src/main/java/com/alamkanak/weekview/interfaces/WeekViewLoader.java @@ -5,7 +5,7 @@ import java.util.Calendar; import java.util.List; -public interface WeekViewLoader { +public interface WeekViewLoader{ /** * Convert a date into a double that will be used to reference when you're loading data. *