mirror of
https://github.com/SimpleMobileTools/Simple-Calendar.git
synced 2025-02-17 12:20:51 +01:00
rely on gestureDetector at recognizing weekly view clicks
This commit is contained in:
parent
c9bde11ca4
commit
dcbcaaf789
@ -5,10 +5,7 @@ import android.content.res.Resources
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
import android.os.Bundle
|
||||
import android.util.Range
|
||||
import android.view.LayoutInflater
|
||||
import android.view.MotionEvent
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.view.*
|
||||
import android.widget.ImageView
|
||||
import android.widget.RelativeLayout
|
||||
import android.widget.TextView
|
||||
@ -37,14 +34,12 @@ import org.joda.time.Days
|
||||
import java.util.*
|
||||
|
||||
class WeekFragment : Fragment(), WeeklyCalendar {
|
||||
private val CLICK_DURATION_THRESHOLD = 150
|
||||
private val PLUS_FADEOUT_DELAY = 5000L
|
||||
|
||||
var listener: WeekFragmentListener? = null
|
||||
private var weekTimestamp = 0L
|
||||
private var rowHeight = 0f
|
||||
private var todayColumnIndex = -1
|
||||
private var clickStartTime = 0L
|
||||
private var primaryColor = 0
|
||||
private var lastHash = 0
|
||||
private var mWasDestroyed = false
|
||||
@ -166,18 +161,18 @@ class WeekFragment : Fragment(), WeeklyCalendar {
|
||||
(0..6).map { getColumnWithId(it) }
|
||||
.forEachIndexed { index, layout ->
|
||||
layout.removeAllViews()
|
||||
val gestureDetector = getViewGestureDetector(layout, index)
|
||||
|
||||
layout.setOnTouchListener { view, motionEvent ->
|
||||
checkGridClick(motionEvent, index, layout)
|
||||
gestureDetector.onTouchEvent(motionEvent)
|
||||
true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun checkGridClick(event: MotionEvent, index: Int, view: ViewGroup) {
|
||||
when (event.action) {
|
||||
MotionEvent.ACTION_DOWN -> clickStartTime = System.currentTimeMillis()
|
||||
MotionEvent.ACTION_UP -> {
|
||||
if (System.currentTimeMillis() - clickStartTime < CLICK_DURATION_THRESHOLD) {
|
||||
private fun getViewGestureDetector(view: ViewGroup, index: Int): GestureDetector {
|
||||
val gestureDetector = GestureDetector(context, object : GestureDetector.SimpleOnGestureListener() {
|
||||
override fun onSingleTapUp(event: MotionEvent): Boolean {
|
||||
selectedGrid?.animation?.cancel()
|
||||
selectedGrid?.beGone()
|
||||
|
||||
@ -203,9 +198,10 @@ class WeekFragment : Fragment(), WeeklyCalendar {
|
||||
beGone()
|
||||
}
|
||||
}
|
||||
return super.onSingleTapUp(event)
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
return gestureDetector
|
||||
}
|
||||
|
||||
override fun updateWeeklyCalendar(events: ArrayList<Event>) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user