diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/MainActivity.kt
index 03b99dd6d..da283f6fd 100644
--- a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/MainActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/MainActivity.kt
@@ -251,12 +251,12 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener {
private fun checkOpenIntents(): Boolean {
val dayCodeToOpen = intent.getStringExtra(DAY_CODE) ?: ""
- val openMonth = intent.getBooleanExtra(OPEN_MONTH, false)
- intent.removeExtra(OPEN_MONTH)
+ val viewToOpen = intent.getIntExtra(VIEW_TO_OPEN, DAILY_VIEW)
+ intent.removeExtra(VIEW_TO_OPEN)
intent.removeExtra(DAY_CODE)
if (dayCodeToOpen.isNotEmpty()) {
calendar_fab.beVisible()
- config.storedView = if (openMonth) MONTHLY_VIEW else DAILY_VIEW
+ if (viewToOpen != LAST_VIEW) {config.storedView = viewToOpen}
updateViewPager(dayCodeToOpen)
return true
}
diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/SettingsActivity.kt
index c0e6f56d4..25a71b965 100644
--- a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/SettingsActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/SettingsActivity.kt
@@ -67,6 +67,7 @@ class SettingsActivity : SimpleActivity() {
setupDisplayPastEvents()
setupFontSize()
setupCustomizeWidgetColors()
+ setupDefaultView()
setupDimEvents()
updateTextColors(settings_holder)
checkPrimaryColor()
@@ -501,6 +502,35 @@ class SettingsActivity : SimpleActivity() {
}
}
+ private fun setupDefaultView() {
+ settings_default_view.text = getDefaultViewText()
+ settings_default_view_holder.setOnClickListener {
+ val items = arrayListOf(
+ RadioItem(DAILY_VIEW, res.getString(R.string.daily_view)),
+ RadioItem(WEEKLY_VIEW, res.getString(R.string.weekly_view)),
+ RadioItem(MONTHLY_VIEW, res.getString(R.string.monthly_view)),
+ RadioItem(YEARLY_VIEW, res.getString(R.string.yearly_view)),
+ RadioItem(EVENTS_LIST_VIEW, res.getString(R.string.simple_event_list)),
+ RadioItem(LAST_VIEW, res.getString(R.string.last_view)))
+
+ RadioGroupDialog(this@SettingsActivity, items, config.defaultView) {
+ config.defaultView = it as Int
+ settings_default_view.text = getDefaultViewText()
+ updateWidgets()
+ updateListWidget()
+ }
+ }
+ }
+
+ private fun getDefaultViewText() = getString(when (config.defaultView) {
+ DAILY_VIEW -> R.string.daily_view
+ WEEKLY_VIEW -> R.string.weekly_view
+ MONTHLY_VIEW -> R.string.monthly_view
+ YEARLY_VIEW -> R.string.yearly_view
+ EVENTS_LIST_VIEW -> R.string.simple_event_list
+ else -> R.string.last_view
+ })
+
private fun setupDimEvents() {
settings_dim_past_events.isChecked = config.dimPastEvents
settings_dim_past_events_holder.setOnClickListener {
diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/SplashActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/SplashActivity.kt
index 34025f507..b89b88d15 100644
--- a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/SplashActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/SplashActivity.kt
@@ -1,10 +1,7 @@
package com.simplemobiletools.calendar.activities
import android.content.Intent
-import com.simplemobiletools.calendar.helpers.DAY_CODE
-import com.simplemobiletools.calendar.helpers.EVENT_ID
-import com.simplemobiletools.calendar.helpers.EVENT_OCCURRENCE_TS
-import com.simplemobiletools.calendar.helpers.OPEN_MONTH
+import com.simplemobiletools.calendar.helpers.*
import com.simplemobiletools.commons.activities.BaseSplashActivity
class SplashActivity : BaseSplashActivity() {
@@ -12,7 +9,7 @@ class SplashActivity : BaseSplashActivity() {
when {
intent.extras?.containsKey(DAY_CODE) == true -> Intent(this, MainActivity::class.java).apply {
putExtra(DAY_CODE, intent.getStringExtra(DAY_CODE))
- putExtra(OPEN_MONTH, intent.getBooleanExtra(OPEN_MONTH, false))
+ putExtra(VIEW_TO_OPEN, intent.getIntExtra(VIEW_TO_OPEN, LAST_VIEW))
startActivity(this)
}
intent.extras?.containsKey(EVENT_ID) == true -> Intent(this, MainActivity::class.java).apply {
diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Config.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Config.kt
index 021c78bdf..c7b7c3a45 100644
--- a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Config.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Config.kt
@@ -76,6 +76,10 @@ class Config(context: Context) : BaseConfig(context) {
get() = prefs.getInt(FONT_SIZE, FONT_SIZE_MEDIUM)
set(size) = prefs.edit().putInt(FONT_SIZE, size).apply()
+ var defaultView: Int
+ get() = prefs.getInt(DEFAULT_VIEW, DAILY_VIEW)
+ set(defaultView) = prefs.edit().putInt(DEFAULT_VIEW, defaultView).apply()
+
var caldavSync: Boolean
get() = prefs.getBoolean(CALDAV_SYNC, false)
set(caldavSync) {
diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Constants.kt
index ce736e0e7..ca8d8a109 100644
--- a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Constants.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/Constants.kt
@@ -14,13 +14,14 @@ const val WEEK_START_TIMESTAMP = "week_start_timestamp"
const val NEW_EVENT_SET_HOUR_DURATION = "new_event_set_hour_duration"
const val WEEK_START_DATE_TIME = "week_start_date_time"
const val CALDAV = "Caldav"
-const val OPEN_MONTH = "open_month"
+const val VIEW_TO_OPEN = "view_to_open"
const val MONTHLY_VIEW = 1
const val YEARLY_VIEW = 2
const val EVENTS_LIST_VIEW = 3
const val WEEKLY_VIEW = 4
const val DAILY_VIEW = 5
+const val LAST_VIEW = 6
const val REMINDER_OFF = -1
@@ -46,6 +47,7 @@ const val LAST_EVENT_REMINDER_MINUTES_2 = "reminder_minutes_2"
const val LAST_EVENT_REMINDER_MINUTES_3 = "reminder_minutes_3"
const val DISPLAY_EVENT_TYPES = "display_event_types"
const val FONT_SIZE = "font_size"
+const val DEFAULT_VIEW = "default_view"
const val CALDAV_SYNC = "caldav_sync"
const val CALDAV_SYNCED_CALENDAR_IDS = "caldav_synced_calendar_ids"
const val LAST_USED_CALDAV_CALENDAR = "last_used_caldav_calendar"
diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/MyWidgetListProvider.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/MyWidgetListProvider.kt
index 2e2903d86..57548aad4 100644
--- a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/MyWidgetListProvider.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/MyWidgetListProvider.kt
@@ -18,7 +18,7 @@ import org.joda.time.DateTime
class MyWidgetListProvider : AppWidgetProvider() {
private val NEW_EVENT = "new_event"
- private val LAUNCH_TODAY = "launch_today"
+ private val LAUNCH_CAL = "launch_cal"
override fun onUpdate(context: Context, appWidgetManager: AppWidgetManager, appWidgetIds: IntArray) {
performUpdate(context)
@@ -44,7 +44,7 @@ class MyWidgetListProvider : AppWidgetProvider() {
views.setImageViewBitmap(R.id.widget_event_new_event, context.resources.getColoredBitmap(R.drawable.ic_plus, textColor))
setupIntent(context, views, NEW_EVENT, R.id.widget_event_new_event)
- setupIntent(context, views, LAUNCH_TODAY, R.id.widget_event_list_today)
+ setupIntent(context, views, LAUNCH_CAL, R.id.widget_event_list_today)
Intent(context, WidgetService::class.java).apply {
data = Uri.parse(this.toUri(Intent.URI_INTENT_SCHEME))
@@ -74,14 +74,15 @@ class MyWidgetListProvider : AppWidgetProvider() {
override fun onReceive(context: Context, intent: Intent) {
when (intent.action) {
NEW_EVENT -> context.launchNewEventIntent()
- LAUNCH_TODAY -> launchDayActivity(context)
+ LAUNCH_CAL -> launchCalenderInDefaultView(context)
else -> super.onReceive(context, intent)
}
}
- private fun launchDayActivity(context: Context) {
+ private fun launchCalenderInDefaultView(context: Context) {
(context.getLaunchIntent() ?: Intent(context, SplashActivity::class.java)).apply {
putExtra(DAY_CODE, Formatter.getDayCodeFromDateTime(DateTime()))
+ putExtra(VIEW_TO_OPEN, context.config.defaultView)
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
context.startActivity(this)
}
diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/MyWidgetMonthlyProvider.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/MyWidgetMonthlyProvider.kt
index 06ca36113..ce1b699cf 100644
--- a/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/MyWidgetMonthlyProvider.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/calendar/helpers/MyWidgetMonthlyProvider.kt
@@ -49,7 +49,7 @@ class MyWidgetMonthlyProvider : AppWidgetProvider() {
private fun setupAppOpenIntent(context: Context, views: RemoteViews, id: Int, dayCode: String) {
(context.getLaunchIntent() ?: Intent(context, SplashActivity::class.java)).apply {
putExtra(DAY_CODE, dayCode)
- putExtra(OPEN_MONTH, true)
+ putExtra(VIEW_TO_OPEN, MONTHLY_VIEW)
val pendingIntent = PendingIntent.getActivity(context, Integer.parseInt(dayCode.substring(0, 6)), this, 0)
views.setOnClickPendingIntent(id, pendingIntent)
}
diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml
index 14f5c73fa..7d408a270 100644
--- a/app/src/main/res/layout/activity_settings.xml
+++ b/app/src/main/res/layout/activity_settings.xml
@@ -849,6 +849,40 @@
+
+
+
+
+
+
+
+
Default reminder 1
Default reminder 2
Default reminder 3
+ Default view
+ Last view
CalDAV
diff --git a/app/src/main/res/values-br/strings.xml b/app/src/main/res/values-br/strings.xml
index f2f959e06..f53f42d6f 100644
--- a/app/src/main/res/values-br/strings.xml
+++ b/app/src/main/res/values-br/strings.xml
@@ -168,6 +168,8 @@
Default reminder 1
Default reminder 2
Default reminder 3
+ Default view
+ Last view
CalDAV
diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index 3d2ea1447..9c625736a 100644
--- a/app/src/main/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
@@ -168,6 +168,8 @@
Výchozí připomenutí 1
Výchozí připomenutí 2
Výchozí připomenutí 3
+ Default view
+ Last view
CalDAV
diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml
index ff980b4a1..f2829efd8 100644
--- a/app/src/main/res/values-da/strings.xml
+++ b/app/src/main/res/values-da/strings.xml
@@ -168,6 +168,8 @@
Påmindelse 1
Påmindelse 2
Påmindelse 3
+ Default view
+ Last view
CalDAV
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 10328f900..4ce44d004 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -168,6 +168,8 @@
Standarderinnerung 1
Standarderinnerung 2
Standarderinnerung 3
+ Letzte Ansicht
+ Standardansicht
CalDAV
diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml
index 6786b0bd4..c9b1bdbab 100644
--- a/app/src/main/res/values-el/strings.xml
+++ b/app/src/main/res/values-el/strings.xml
@@ -168,6 +168,8 @@
Default reminder 1
Default reminder 2
Default reminder 3
+ Default view
+ Last view
CalDAV
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index ccdcedc79..94166928d 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -168,6 +168,8 @@
Default reminder 1
Default reminder 2
Default reminder 3
+ Default view
+ Last view
CalDAV
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index db7adb867..c6853c600 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -168,6 +168,8 @@
Default reminder 1
Default reminder 2
Default reminder 3
+ Default view
+ Last view
CalDAV
diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml
index 6b80a0c72..74ade93a4 100644
--- a/app/src/main/res/values-gl/strings.xml
+++ b/app/src/main/res/values-gl/strings.xml
@@ -168,6 +168,8 @@
Default reminder 1
Default reminder 2
Default reminder 3
+ Default view
+ Last view
CalDAV
diff --git a/app/src/main/res/values-hi-rIN/strings.xml b/app/src/main/res/values-hi-rIN/strings.xml
index 74b686969..c23b97ff7 100644
--- a/app/src/main/res/values-hi-rIN/strings.xml
+++ b/app/src/main/res/values-hi-rIN/strings.xml
@@ -169,6 +169,8 @@
Default reminder 1
Default reminder 2
Default reminder 3
+ Default view
+ Last view
CalDAV
diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml
index ab52a489f..fdc448678 100644
--- a/app/src/main/res/values-hr/strings.xml
+++ b/app/src/main/res/values-hr/strings.xml
@@ -168,6 +168,8 @@
Default reminder 1
Default reminder 2
Default reminder 3
+ Default view
+ Last view
CalDAV
diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml
index 35037d3e9..128f15ba7 100644
--- a/app/src/main/res/values-hu/strings.xml
+++ b/app/src/main/res/values-hu/strings.xml
@@ -168,6 +168,8 @@
Default reminder 1
Default reminder 2
Default reminder 3
+ Default view
+ Last view
CalDAV
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index 529c66147..666e9e3da 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -168,6 +168,8 @@
Promemoria predefinito 1
Promemoria predefinito 2
Promemoria predefinito 3
+ Default view
+ Last view
CalDAV
diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml
index 888d618b5..f8a389f59 100644
--- a/app/src/main/res/values-iw/strings.xml
+++ b/app/src/main/res/values-iw/strings.xml
@@ -169,6 +169,8 @@
Default reminder 1
Default reminder 2
Default reminder 3
+ Default view
+ Last view
CalDAV
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index 6d625c422..f91b487dd 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -168,6 +168,8 @@
Default reminder 1
Default reminder 2
Default reminder 3
+ Default view
+ Last view
CalDAV
diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml
index 1b00ee085..3a11d8a34 100644
--- a/app/src/main/res/values-ko/strings.xml
+++ b/app/src/main/res/values-ko/strings.xml
@@ -168,6 +168,8 @@
Default reminder 1
Default reminder 2
Default reminder 3
+ Default view
+ Last view
CalDAV
diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml
index 615fe9048..7d22bb2d3 100644
--- a/app/src/main/res/values-lt/strings.xml
+++ b/app/src/main/res/values-lt/strings.xml
@@ -168,6 +168,8 @@
Default reminder 1
Default reminder 2
Default reminder 3
+ Default view
+ Last view
CalDAV
diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml
index b5aa6d84f..e410c3039 100644
--- a/app/src/main/res/values-nb/strings.xml
+++ b/app/src/main/res/values-nb/strings.xml
@@ -168,6 +168,8 @@
Default reminder 1
Default reminder 2
Default reminder 3
+ Default view
+ Last view
CalDAV
diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml
index 861a53c42..219eda2a9 100644
--- a/app/src/main/res/values-nl/strings.xml
+++ b/app/src/main/res/values-nl/strings.xml
@@ -168,6 +168,8 @@
Standaardherinnering 1
Standaardherinnering 2
Standaardherinnering 3
+ Default view
+ Last view
CalDAV
diff --git a/app/src/main/res/values-no/strings.xml b/app/src/main/res/values-no/strings.xml
index b8e43aaf8..29e8f5f50 100644
--- a/app/src/main/res/values-no/strings.xml
+++ b/app/src/main/res/values-no/strings.xml
@@ -168,6 +168,8 @@
Default reminder 1
Default reminder 2
Default reminder 3
+ Default view
+ Last view
CalDAV
diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index 9b289c1f9..56d111548 100644
--- a/app/src/main/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
@@ -168,6 +168,8 @@
Default reminder 1
Default reminder 2
Default reminder 3
+ Default view
+ Last view
CalDAV
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index ded2b08d8..cbd4224b5 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -168,6 +168,8 @@
Default reminder 1
Default reminder 2
Default reminder 3
+ Default view
+ Last view
CalDAV
diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml
index 8c1f6d734..3ad4aa707 100644
--- a/app/src/main/res/values-pt/strings.xml
+++ b/app/src/main/res/values-pt/strings.xml
@@ -168,6 +168,8 @@
Lembrete 1
Lembrete 2
Lembrete 3
+ Default view
+ Last view
CalDAV
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index d8e730162..94f3e1a23 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -168,6 +168,8 @@
Напоминание по умолчанию 1
Напоминание по умолчанию 2
Напоминание по умолчанию 3
+ Default view
+ Last view
CalDAV
diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml
index 0a5d783a6..f9d41029a 100644
--- a/app/src/main/res/values-sk/strings.xml
+++ b/app/src/main/res/values-sk/strings.xml
@@ -168,6 +168,8 @@
Predvolená pripomienka 1
Predvolená pripomienka 2
Predvolená pripomienka 3
+ Default view
+ Last view
CalDAV
diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml
index 0b4b540bb..324abee92 100644
--- a/app/src/main/res/values-sv/strings.xml
+++ b/app/src/main/res/values-sv/strings.xml
@@ -168,6 +168,8 @@
Default reminder 1
Default reminder 2
Default reminder 3
+ Default view
+ Last view
CalDAV
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index ec742e565..c6bff7ea9 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -168,6 +168,8 @@
Default reminder 1
Default reminder 2
Default reminder 3
+ Default view
+ Last view
CalDAV
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 8019b70e9..8fe8ee228 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -168,6 +168,8 @@
預設提醒1
預設提醒2
預設提醒3
+ Default view
+ Last view
CalDAV
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index b1de5682b..4ab8585d0 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -168,6 +168,8 @@
Default reminder 1
Default reminder 2
Default reminder 3
+ Default view
+ Last view
CalDAV