mirror of
https://github.com/SimpleMobileTools/Simple-Calendar.git
synced 2025-06-05 21:59:17 +02:00
implement GoToDate at the weekly fragment
This commit is contained in:
@ -5,7 +5,9 @@ import android.os.Bundle
|
|||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
|
import android.widget.DatePicker
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
|
import androidx.appcompat.app.AlertDialog
|
||||||
import androidx.viewpager.widget.ViewPager
|
import androidx.viewpager.widget.ViewPager
|
||||||
import com.simplemobiletools.calendar.pro.R
|
import com.simplemobiletools.calendar.pro.R
|
||||||
import com.simplemobiletools.calendar.pro.activities.MainActivity
|
import com.simplemobiletools.calendar.pro.activities.MainActivity
|
||||||
@ -16,6 +18,8 @@ import com.simplemobiletools.calendar.pro.helpers.Formatter
|
|||||||
import com.simplemobiletools.calendar.pro.helpers.WEEK_START_DATE_TIME
|
import com.simplemobiletools.calendar.pro.helpers.WEEK_START_DATE_TIME
|
||||||
import com.simplemobiletools.calendar.pro.interfaces.WeekFragmentListener
|
import com.simplemobiletools.calendar.pro.interfaces.WeekFragmentListener
|
||||||
import com.simplemobiletools.calendar.pro.views.MyScrollView
|
import com.simplemobiletools.calendar.pro.views.MyScrollView
|
||||||
|
import com.simplemobiletools.commons.extensions.getDialogTheme
|
||||||
|
import com.simplemobiletools.commons.extensions.setupDialogStuff
|
||||||
import com.simplemobiletools.commons.extensions.updateActionBarSubtitle
|
import com.simplemobiletools.commons.extensions.updateActionBarSubtitle
|
||||||
import com.simplemobiletools.commons.extensions.updateActionBarTitle
|
import com.simplemobiletools.commons.extensions.updateActionBarTitle
|
||||||
import com.simplemobiletools.commons.helpers.WEEK_SECONDS
|
import com.simplemobiletools.commons.helpers.WEEK_SECONDS
|
||||||
@ -131,7 +135,34 @@ class WeekFragmentsHolder : MyFragmentHolder(), WeekFragmentListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun showGoToDateDialog() {
|
override fun showGoToDateDialog() {
|
||||||
|
activity!!.setTheme(context!!.getDialogTheme())
|
||||||
|
val view = layoutInflater.inflate(R.layout.date_picker, null)
|
||||||
|
val datePicker = view.findViewById<DatePicker>(R.id.date_picker)
|
||||||
|
|
||||||
|
val dateTime = Formatter.getDateTimeFromTS(currentWeekTS)
|
||||||
|
datePicker.init(dateTime.year, dateTime.monthOfYear - 1, dateTime.dayOfMonth, null)
|
||||||
|
|
||||||
|
AlertDialog.Builder(context!!)
|
||||||
|
.setNegativeButton(R.string.cancel, null)
|
||||||
|
.setPositiveButton(R.string.ok) { dialog, which -> dateSelected(dateTime, datePicker) }
|
||||||
|
.create().apply {
|
||||||
|
activity?.setupDialogStuff(view, this)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun dateSelected(dateTime: DateTime, datePicker: DatePicker) {
|
||||||
|
val month = datePicker.month + 1
|
||||||
|
val year = datePicker.year
|
||||||
|
val day = datePicker.dayOfMonth
|
||||||
|
val newDateTime = dateTime.withDate(year, month, day)
|
||||||
|
|
||||||
|
var selectedWeek = newDateTime.withDayOfWeek(1).withTimeAtStartOfDay().minusDays(if (context!!.config.isSundayFirst) 1 else 0)
|
||||||
|
if (newDateTime.minusDays(7).seconds() > selectedWeek.seconds()) {
|
||||||
|
selectedWeek = selectedWeek.plusDays(7)
|
||||||
|
}
|
||||||
|
|
||||||
|
currentWeekTS = selectedWeek.seconds()
|
||||||
|
setupFragment()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun refreshEvents() {
|
override fun refreshEvents() {
|
||||||
|
Reference in New Issue
Block a user