Skip to content

Commit ae17dee

Browse files
-removed dropping from WholeViewSnappingActivity. It makes scrolling too slow.
-from now on, dropping is automatically enabled by having its listener. If set to null (or not set at all), it's turned off.
1 parent 4241b17 commit ae17dee

File tree

6 files changed

+14
-30
lines changed

6 files changed

+14
-30
lines changed

library/src/main/java/com/alamkanak/weekview/WeekView.kt

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -208,13 +208,6 @@ class WeekView @JvmOverloads constructor(context: Context, attrs: AttributeSet?
208208
invalidate()
209209
}
210210

211-
var isDropListenerEnabled = false
212-
set(value) {
213-
if (field == value)
214-
return
215-
field = value
216-
setOnDragListener(if (value) DragListener() else null)
217-
}
218211
var minOverlappingMinutes = 0
219212

220213
// Listeners.
@@ -230,7 +223,14 @@ class WeekView @JvmOverloads constructor(context: Context, attrs: AttributeSet?
230223
var emptyViewLongPressListener: EmptyViewLongPressListener? = null
231224
var scrollListener: ScrollListener? = null
232225
var addEventClickListener: AddEventClickListener? = null
233-
var weekViewDropListener: DropListener? = null
226+
var dropListener: DropListener? = null
227+
set(value) {
228+
if (field == value)
229+
return
230+
field = value
231+
setOnDragListener(if (value != null) DragListener() else null)
232+
}
233+
234234
var enableDrawHeaderBackgroundOnlyOnWeekDays = false
235235
set(value) {
236236
if (field == value)
@@ -1049,7 +1049,6 @@ class WeekView @JvmOverloads constructor(context: Context, attrs: AttributeSet?
10491049
autoLimitTime = a.getBoolean(R.styleable.WeekView_autoLimitTime, autoLimitTime)
10501050
mMinTime = a.getInt(R.styleable.WeekView_minTime, mMinTime)
10511051
mMaxTime = a.getInt(R.styleable.WeekView_maxTime, mMaxTime)
1052-
isDropListenerEnabled = a.getBoolean(R.styleable.WeekView_dropListenerEnabled, isDropListenerEnabled)
10531052
minOverlappingMinutes = a.getInt(R.styleable.WeekView_minOverlappingMinutes, minOverlappingMinutes)
10541053
isScrollNumberOfVisibleDays = a.getBoolean(R.styleable.WeekView_isScrollNumberOfVisibleDays, isScrollNumberOfVisibleDays)
10551054
enableDrawHeaderBackgroundOnlyOnWeekDays = a.getBoolean(R.styleable.WeekView_enableDrawHeaderBackgroundOnlyOnWeekDays, enableDrawHeaderBackgroundOnlyOnWeekDays)
@@ -2445,7 +2444,7 @@ class WeekView @JvmOverloads constructor(context: Context, attrs: AttributeSet?
24452444
if (e.x > mHeaderColumnWidth && e.y > headerTitleAndSubtitleTextHeight + (weekDaysHeaderRowPadding * 2).toFloat() + spaceBelowAllDayEvents) {
24462445
val selectedTime = getTimeFromPoint(e.x, e.y)
24472446
if (selectedTime != null) {
2448-
weekViewDropListener!!.onDrop(v, selectedTime)
2447+
dropListener!!.onDrop(v, selectedTime)
24492448
}
24502449
}
24512450
}

library/src/main/res/values/attrs.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@
6363
<attr name="xScrollingSpeed" format="float"/>
6464
<attr name="zoomFocusPoint" format="fraction"/>
6565
<attr name="zoomFocusPointEnabled" format="boolean"/>
66-
<attr name="dropListenerEnabled" format="boolean"/>
6766
<attr name="isScrollNumberOfVisibleDays" format="boolean"/>
6867
<attr name="enableDrawHeaderBackgroundOnlyOnWeekDays" format="boolean"/>
6968
<attr name="isUsingCheckersStyle" format="boolean"/>

sample/src/main/java/com/alamkanak/weekview/sample/BaseActivity.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ abstract class BaseActivity : AppCompatActivity(), WeekView.EventClickListener,
5252
weekView.addEventClickListener = this
5353

5454
// Set Drag and Drop Listener
55-
weekView.weekViewDropListener = this
55+
weekView.dropListener = this
5656

5757
// Set minDate
5858
/*Calendar minDate = Calendar.getInstance();
@@ -139,7 +139,7 @@ abstract class BaseActivity : AppCompatActivity(), WeekView.EventClickListener,
139139
}
140140

141141
fun setDayViewType(dayViewType: Int) {
142-
setupDateTimeInterpreter(dayViewType==TYPE_WEEK_VIEW)
142+
setupDateTimeInterpreter(dayViewType == TYPE_WEEK_VIEW)
143143

144144
when (dayViewType) {
145145
TYPE_DAY_VIEW -> {

sample/src/main/java/com/alamkanak/weekview/sample/MainActivity.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,7 @@ class MainActivity : AppCompatActivity() {
2424
buttonWholeViewSnap.setOnClickListener {
2525
startActivity(Intent(this@MainActivity, WholeViewSnappingActivity::class.java))
2626
}
27+
startActivity(Intent(this@MainActivity, WholeViewSnappingActivity::class.java))
28+
finish()
2729
}
2830
}

sample/src/main/java/com/alamkanak/weekview/sample/WholeViewSnappingActivity.kt

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.alamkanak.weekview.sample
22

3-
import android.graphics.RectF
43
import android.os.Bundle
54
import android.text.format.DateFormat
65
import android.util.TypedValue
@@ -10,7 +9,6 @@ import android.view.View
109
import com.alamkanak.weekview.DateTimeInterpreter
1110
import com.alamkanak.weekview.WeekDaySubtitleInterpreter
1211
import com.alamkanak.weekview.WeekView
13-
import com.alamkanak.weekview.WeekViewEvent
1412
import kotlinx.android.synthetic.main.activity_base.*
1513
import java.text.SimpleDateFormat
1614
import java.util.*
@@ -30,33 +28,20 @@ class WholeViewSnappingActivity : BasicActivity() {
3028
weekView.columnGap = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 1f, resources.displayMetrics).toInt()
3129
weekView.hourSeparatorHeight = weekView.columnGap
3230
weekView.isScrollNumberOfVisibleDays = true
31+
weekView.dropListener = null
3332
setDayViewType(TYPE_WEEK_VIEW)
3433
val cal = Calendar.getInstance()
3534
val currentHour = cal.get(Calendar.HOUR_OF_DAY) + cal.get(Calendar.MINUTE) / 60.0
3635
weekView.goToHour(Math.max(currentHour - 1, 0.0))
3736
cal.set(Calendar.DAY_OF_WEEK, cal.firstDayOfWeek)
3837
weekView.goToDate(cal)
39-
// weekView.addEventClickListener = null
40-
// weekView.eventClickListener = object : WeekView.EventClickListener {
41-
// override fun onEventClick(event: WeekViewEvent, eventRect: RectF) {
42-
// }
43-
// }
44-
45-
weekView.emptyViewClickListener = null
46-
weekView.emptyViewLongPressListener = null
4738
weekView.scrollListener = object : WeekView.ScrollListener {
4839
val monthFormatter = SimpleDateFormat("MMM", Locale.getDefault())
4940
override fun onFirstVisibleDayChanged(newFirstVisibleDay: Calendar, oldFirstVisibleDay: Calendar?) {
5041
weekView.sideTitleText = monthFormatter.format(newFirstVisibleDay.time)
5142
}
5243
}
5344
draggable_view.visibility = View.GONE
54-
55-
56-
weekView.eventClickListener = object : WeekView.EventClickListener {
57-
override fun onEventClick(event: WeekViewEvent, eventRect: RectF) {
58-
}
59-
}
6045
weekView.weekDaySubtitleInterpreter = object : WeekDaySubtitleInterpreter {
6146
val dateFormatTitle = SimpleDateFormat("d", Locale.getDefault())
6247

sample/src/main/res/layout/activity_base.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
app:todayHeaderTextColor="@color/accent"
2424
app:newEventTimeResolutionInMinutes="15"
2525
app:timeColumnResolution="60"
26-
app:dropListenerEnabled="true"
2726
app:minOverlappingMinutes="5" />
2827

2928
<TextView

0 commit comments

Comments
 (0)