adjust New Event default date/time according to currently selected fragment

This commit is contained in:
tibbi 2018-01-22 18:01:44 +01:00
parent 438935c301
commit 3857707345
8 changed files with 19 additions and 4 deletions

View file

@ -103,7 +103,9 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener {
refreshCalDAVCalendars(false) refreshCalDAVCalendars(false)
} }
calendar_fab.setOnClickListener { launchNewEventIntent() } calendar_fab.setOnClickListener {
launchNewEventIntent(currentFragments.last().getNewEventDayCode())
}
calendar_fab.beVisibleIf(config.storedView != YEARLY_VIEW) calendar_fab.beVisibleIf(config.storedView != YEARLY_VIEW)
checkOpenIntents() checkOpenIntents()
} }

View file

@ -232,10 +232,9 @@ private fun getSnoozePendingIntent(context: Context, event: Event): PendingInten
return PendingIntent.getService(context, event.id, intent, PendingIntent.FLAG_UPDATE_CURRENT) return PendingIntent.getService(context, event.id, intent, PendingIntent.FLAG_UPDATE_CURRENT)
} }
fun Context.launchNewEventIntent() { fun Context.launchNewEventIntent(dayCode: String = Formatter.getTodayCode(this)) {
val code = Formatter.getDayCodeFromDateTime(DateTime(DateTimeZone.getDefault()))
Intent(applicationContext, EventActivity::class.java).apply { Intent(applicationContext, EventActivity::class.java).apply {
putExtra(NEW_EVENT_START_TS, getNewEventTimestampFromCode(code)) putExtra(NEW_EVENT_START_TS, getNewEventTimestampFromCode(dayCode))
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
startActivity(this) startActivity(this)
} }

View file

@ -105,4 +105,6 @@ class DayFragmentsHolder : MyFragmentHolder(), NavigationListener {
override fun updateActionBarTitle() { override fun updateActionBarTitle() {
(activity as MainActivity).supportActionBar?.title = getString(R.string.app_launcher_name) (activity as MainActivity).supportActionBar?.title = getString(R.string.app_launcher_name)
} }
override fun getNewEventDayCode() = currentDayCode
} }

View file

@ -13,6 +13,7 @@ import com.simplemobiletools.calendar.adapters.EventListAdapter
import com.simplemobiletools.calendar.extensions.* import com.simplemobiletools.calendar.extensions.*
import com.simplemobiletools.calendar.helpers.EVENT_ID import com.simplemobiletools.calendar.helpers.EVENT_ID
import com.simplemobiletools.calendar.helpers.EVENT_OCCURRENCE_TS import com.simplemobiletools.calendar.helpers.EVENT_OCCURRENCE_TS
import com.simplemobiletools.calendar.helpers.Formatter
import com.simplemobiletools.calendar.models.Event import com.simplemobiletools.calendar.models.Event
import com.simplemobiletools.calendar.models.ListEvent import com.simplemobiletools.calendar.models.ListEvent
import com.simplemobiletools.commons.extensions.beGoneIf import com.simplemobiletools.commons.extensions.beGoneIf
@ -124,4 +125,6 @@ class EventListFragment : MyFragmentHolder(), RefreshRecyclerViewListener {
override fun updateActionBarTitle() { override fun updateActionBarTitle() {
(activity as MainActivity).supportActionBar?.title = getString(R.string.app_launcher_name) (activity as MainActivity).supportActionBar?.title = getString(R.string.app_launcher_name)
} }
override fun getNewEventDayCode() = Formatter.getTodayCode(context!!)
} }

View file

@ -106,4 +106,6 @@ class MonthFragmentsHolder : MyFragmentHolder(), NavigationListener {
override fun updateActionBarTitle() { override fun updateActionBarTitle() {
(activity as MainActivity).supportActionBar?.title = getString(R.string.app_launcher_name) (activity as MainActivity).supportActionBar?.title = getString(R.string.app_launcher_name)
} }
override fun getNewEventDayCode() = currentDayCode
} }

View file

@ -1,6 +1,7 @@
package com.simplemobiletools.calendar.fragments package com.simplemobiletools.calendar.fragments
import android.support.v4.app.Fragment import android.support.v4.app.Fragment
import org.joda.time.DateTime
abstract class MyFragmentHolder : Fragment() { abstract class MyFragmentHolder : Fragment() {
abstract fun goToToday() abstract fun goToToday()
@ -10,4 +11,6 @@ abstract class MyFragmentHolder : Fragment() {
abstract fun shouldGoToTodayBeVisible(): Boolean abstract fun shouldGoToTodayBeVisible(): Boolean
abstract fun updateActionBarTitle() abstract fun updateActionBarTitle()
abstract fun getNewEventDayCode(): String
} }

View file

@ -133,6 +133,8 @@ class WeekFragmentsHolder : MyFragmentHolder(), WeekFragmentListener {
setupWeeklyActionbarTitle(currentWeekTS) setupWeeklyActionbarTitle(currentWeekTS)
} }
override fun getNewEventDayCode() = Formatter.getDayCodeFromTS(currentWeekTS)
override fun scrollTo(y: Int) { override fun scrollTo(y: Int) {
weekHolder!!.week_view_hours_scrollview.scrollY = y weekHolder!!.week_view_hours_scrollview.scrollY = y
weekScrollY = y weekScrollY = y

View file

@ -87,4 +87,6 @@ class YearFragmentsHolder : MyFragmentHolder() {
override fun updateActionBarTitle() { override fun updateActionBarTitle() {
(activity as? MainActivity)?.supportActionBar?.title = "${getString(R.string.app_launcher_name)} - $currentYear" (activity as? MainActivity)?.supportActionBar?.title = "${getString(R.string.app_launcher_name)} - $currentYear"
} }
override fun getNewEventDayCode() = Formatter.getTodayCode(context!!)
} }