diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/MainActivity.kt index e1aa3fd2b..f028b8e48 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/MainActivity.kt @@ -173,7 +173,7 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { when (item.itemId) { R.id.change_view -> showViewDialog() R.id.go_to_today -> goToToday() - R.id.go_to_date -> goToDate() + R.id.go_to_date -> showGoToDateDialog() R.id.filter -> showFilterDialog() R.id.refresh_caldav_calendars -> refreshCalDAVCalendars(true) R.id.add_holidays -> addHolidays() @@ -341,8 +341,8 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { currentFragments.last().goToToday() } - private fun goToDate() { - currentFragments.last().goToDate() + fun showGoToDateDialog() { + currentFragments.last().showGoToDateDialog() } private fun resetActionBarTitle() { diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/DayFragmentsHolder.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/DayFragmentsHolder.kt index 087efeb90..4c3a81122 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/DayFragmentsHolder.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/DayFragmentsHolder.kt @@ -99,7 +99,7 @@ class DayFragmentsHolder : MyFragmentHolder(), NavigationListener { setupFragment() } - override fun goToDate() { + override fun showGoToDateDialog() { } diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/EventListFragment.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/EventListFragment.kt index 7c36e599e..9527b8eb3 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/EventListFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/EventListFragment.kt @@ -175,7 +175,7 @@ class EventListFragment : MyFragmentHolder(), RefreshRecyclerViewListener { override fun goToToday() {} - override fun goToDate() {} + override fun showGoToDateDialog() {} override fun refreshEvents() { checkEvents() diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/MonthFragment.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/MonthFragment.kt index a5ff52c6c..e83e21e08 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/MonthFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/MonthFragment.kt @@ -6,9 +6,7 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import android.widget.DatePicker import android.widget.RelativeLayout -import androidx.appcompat.app.AlertDialog import androidx.fragment.app.Fragment import com.simplemobiletools.calendar.pro.R import com.simplemobiletools.calendar.pro.activities.MainActivity @@ -21,9 +19,6 @@ import com.simplemobiletools.calendar.pro.interfaces.MonthlyCalendar import com.simplemobiletools.calendar.pro.interfaces.NavigationListener import com.simplemobiletools.calendar.pro.models.DayMonthly import com.simplemobiletools.commons.extensions.applyColorFilter -import com.simplemobiletools.commons.extensions.beGone -import com.simplemobiletools.commons.extensions.getDialogTheme -import com.simplemobiletools.commons.extensions.setupDialogStuff import kotlinx.android.synthetic.main.fragment_month.view.* import kotlinx.android.synthetic.main.top_navigation.view.* import org.joda.time.DateTime @@ -137,35 +132,11 @@ class MonthFragment : Fragment(), MonthlyCalendar { mHolder.top_value.apply { setTextColor(mConfig.textColor) setOnClickListener { - showMonthDialog() + (activity as MainActivity).showGoToDateDialog() } } } - private fun showMonthDialog() { - activity!!.setTheme(context!!.getDialogTheme()) - val view = layoutInflater.inflate(R.layout.date_picker, null) - val datePicker = view.findViewById(R.id.date_picker) - datePicker.findViewById(Resources.getSystem().getIdentifier("day", "id", "android")).beGone() - - val dateTime = DateTime(mCalendar!!.mTargetDate.toString()) - datePicker.init(dateTime.year, dateTime.monthOfYear - 1, 1, null) - - AlertDialog.Builder(context!!) - .setNegativeButton(R.string.cancel, null) - .setPositiveButton(R.string.ok) { dialog, which -> positivePressed(dateTime, datePicker) } - .create().apply { - activity?.setupDialogStuff(view, this) - } - } - - private fun positivePressed(dateTime: DateTime, datePicker: DatePicker) { - val month = datePicker.month + 1 - val year = datePicker.year - val newDateTime = dateTime.withDate(year, month, 1) - listener?.goToDateTime(newDateTime) - } - private fun updateDays(days: ArrayList) { mHolder.month_view_wrapper.updateDays(days) { (activity as MainActivity).openDayFromMonthly(Formatter.getDateTimeFromCode(it.code)) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/MonthFragmentsHolder.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/MonthFragmentsHolder.kt index 6eb2508e6..e9eebd787 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/MonthFragmentsHolder.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/MonthFragmentsHolder.kt @@ -1,10 +1,13 @@ package com.simplemobiletools.calendar.pro.fragments +import android.content.res.Resources import android.graphics.drawable.ColorDrawable import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.DatePicker +import androidx.appcompat.app.AlertDialog import androidx.viewpager.widget.ViewPager import com.simplemobiletools.calendar.pro.R import com.simplemobiletools.calendar.pro.activities.MainActivity @@ -14,6 +17,9 @@ import com.simplemobiletools.calendar.pro.extensions.getMonthCode import com.simplemobiletools.calendar.pro.helpers.DAY_CODE import com.simplemobiletools.calendar.pro.helpers.Formatter import com.simplemobiletools.calendar.pro.interfaces.NavigationListener +import com.simplemobiletools.commons.extensions.beGone +import com.simplemobiletools.commons.extensions.getDialogTheme +import com.simplemobiletools.commons.extensions.setupDialogStuff import com.simplemobiletools.commons.extensions.updateActionBarTitle import com.simplemobiletools.commons.views.MyViewPager import kotlinx.android.synthetic.main.fragment_months_holder.view.* @@ -99,8 +105,28 @@ class MonthFragmentsHolder : MyFragmentHolder(), NavigationListener { setupFragment() } - override fun goToDate() { + override fun showGoToDateDialog() { + activity!!.setTheme(context!!.getDialogTheme()) + val view = layoutInflater.inflate(R.layout.date_picker, null) + val datePicker = view.findViewById(R.id.date_picker) + datePicker.findViewById(Resources.getSystem().getIdentifier("day", "id", "android")).beGone() + val dateTime = DateTime(Formatter.getDateTimeFromCode(currentDayCode).toString()) + datePicker.init(dateTime.year, dateTime.monthOfYear - 1, 1, null) + + AlertDialog.Builder(context!!) + .setNegativeButton(R.string.cancel, null) + .setPositiveButton(R.string.ok) { dialog, which -> datePicked(dateTime, datePicker) } + .create().apply { + activity?.setupDialogStuff(view, this) + } + } + + private fun datePicked(dateTime: DateTime, datePicker: DatePicker) { + val month = datePicker.month + 1 + val year = datePicker.year + val newDateTime = dateTime.withDate(year, month, 1) + goToDateTime(newDateTime) } override fun refreshEvents() { diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/MyFragmentHolder.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/MyFragmentHolder.kt index bf5d43c6b..a7708e98e 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/MyFragmentHolder.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/MyFragmentHolder.kt @@ -5,7 +5,7 @@ import androidx.fragment.app.Fragment abstract class MyFragmentHolder : Fragment() { abstract fun goToToday() - abstract fun goToDate() + abstract fun showGoToDateDialog() abstract fun refreshEvents() diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/WeekFragmentsHolder.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/WeekFragmentsHolder.kt index fb8130d01..b55858e87 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/WeekFragmentsHolder.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/WeekFragmentsHolder.kt @@ -130,7 +130,7 @@ class WeekFragmentsHolder : MyFragmentHolder(), WeekFragmentListener { setupFragment() } - override fun goToDate() { + override fun showGoToDateDialog() { } diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/YearFragmentsHolder.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/YearFragmentsHolder.kt index 3e079fcf8..c537186fa 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/YearFragmentsHolder.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/fragments/YearFragmentsHolder.kt @@ -83,7 +83,7 @@ class YearFragmentsHolder : MyFragmentHolder() { setupFragment() } - override fun goToDate() { + override fun showGoToDateDialog() { }