@@ -106,7 +106,8 @@ public class WeekView extends View {
106
106
private EventClickListener mEventClickListener ;
107
107
private EventLongPressListener mEventLongPressListener ;
108
108
private MonthChangeListener mMonthChangeListener ;
109
- private TimeClickListener mTimeClickListener ;
109
+ private EmptyViewClickListener mEmptyViewClickListener ;
110
+ private EmptyViewLongPressListener mEmptyViewLongPressListener ;
110
111
private DateTimeInterpreter mDateTimeInterpreter ;
111
112
112
113
private final GestureDetector .SimpleOnGestureListener mGestureListener = new GestureDetector .SimpleOnGestureListener () {
@@ -169,11 +170,11 @@ public boolean onSingleTapConfirmed(MotionEvent e) {
169
170
}
170
171
171
172
// If the tap was on in an empty space, then trigger the callback.
172
- if (mTimeClickListener != null && e .getX () > mHeaderColumnWidth && e .getY () > (mHeaderTextHeight + mHeaderRowPadding * 2 + mHeaderMarginBottom )) {
173
+ if (mEmptyViewClickListener != null && e .getX () > mHeaderColumnWidth && e .getY () > (mHeaderTextHeight + mHeaderRowPadding * 2 + mHeaderMarginBottom )) {
173
174
Calendar selectedTime = getTimeFromPoint (e .getX (), e .getY ());
174
175
if (selectedTime != null ) {
175
176
playSoundEffect (SoundEffectConstants .CLICK );
176
- mTimeClickListener . onTimeClicked (selectedTime );
177
+ mEmptyViewClickListener . onEmptyViewClicked (selectedTime );
177
178
}
178
179
}
179
180
@@ -191,10 +192,19 @@ public void onLongPress(MotionEvent e) {
191
192
if (event .rectF != null && e .getX () > event .rectF .left && e .getX () < event .rectF .right && e .getY () > event .rectF .top && e .getY () < event .rectF .bottom ) {
192
193
mEventLongPressListener .onEventLongPress (event .originalEvent , event .rectF );
193
194
performHapticFeedback (HapticFeedbackConstants .LONG_PRESS );
194
- break ;
195
+ return ;
195
196
}
196
197
}
197
198
}
199
+
200
+ // If the tap was on in an empty space, then trigger the callback.
201
+ if (mEmptyViewLongPressListener != null && e .getX () > mHeaderColumnWidth && e .getY () > (mHeaderTextHeight + mHeaderRowPadding * 2 + mHeaderMarginBottom )) {
202
+ Calendar selectedTime = getTimeFromPoint (e .getX (), e .getY ());
203
+ if (selectedTime != null ) {
204
+ performHapticFeedback (HapticFeedbackConstants .LONG_PRESS );
205
+ mEmptyViewLongPressListener .onEmptyViewLongPress (selectedTime );
206
+ }
207
+ }
198
208
}
199
209
};
200
210
@@ -926,12 +936,20 @@ public void setEventLongPressListener(EventLongPressListener eventLongPressListe
926
936
this .mEventLongPressListener = eventLongPressListener ;
927
937
}
928
938
929
- public void setHourClickListener ( TimeClickListener mTimeClickListener ){
930
- this .mTimeClickListener = mTimeClickListener ;
939
+ public void setEmptyViewClickListener ( EmptyViewClickListener emptyViewClickListener ){
940
+ this .mEmptyViewClickListener = emptyViewClickListener ;
931
941
}
932
942
933
- public TimeClickListener getHourClickListener (){
934
- return mTimeClickListener ;
943
+ public EmptyViewClickListener getEmptyViewClickListener (){
944
+ return mEmptyViewClickListener ;
945
+ }
946
+
947
+ public void setEmptyViewLongPressListener (EmptyViewLongPressListener emptyViewLongPressListener ){
948
+ this .mEmptyViewLongPressListener = emptyViewLongPressListener ;
949
+ }
950
+
951
+ public EmptyViewLongPressListener getEmptyViewLongPressListener (){
952
+ return mEmptyViewLongPressListener ;
935
953
}
936
954
937
955
/**
@@ -1393,8 +1411,12 @@ public interface EventLongPressListener {
1393
1411
public void onEventLongPress (WeekViewEvent event , RectF eventRect );
1394
1412
}
1395
1413
1396
- public interface TimeClickListener {
1397
- public void onTimeClicked (Calendar time );
1414
+ public interface EmptyViewClickListener {
1415
+ public void onEmptyViewClicked (Calendar time );
1416
+ }
1417
+
1418
+ public interface EmptyViewLongPressListener {
1419
+ public void onEmptyViewLongPress (Calendar time );
1398
1420
}
1399
1421
1400
1422
0 commit comments