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 d5c6e1b84..7616caeaa 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/MainActivity.kt @@ -111,6 +111,8 @@ class MainActivity : SimpleActivity(), NavigationListener { dbHelper.deleteEvents(ids, false) config.googleSync = false } + + checkOpenIntents() } override fun onResume() { @@ -194,6 +196,23 @@ class MainActivity : SimpleActivity(), NavigationListener { mStoredDayCode = Formatter.getTodayCode() } + private fun checkOpenIntents() { + val dayCodeToOpen = intent.getStringExtra(DAY_CODE) ?: "" + if (dayCodeToOpen.isNotEmpty()) { + openDayCode(dayCodeToOpen) + } + + val eventIdToOpen = intent.getIntExtra(EVENT_ID, 0) + val eventOccurrenceToOpen = intent.getIntExtra(EVENT_OCCURRENCE_TS, 0) + if (eventIdToOpen != 0 && eventOccurrenceToOpen != 0) { + Intent(this, EventActivity::class.java).apply { + putExtra(EVENT_ID, eventIdToOpen) + putExtra(EVENT_OCCURRENCE_TS, eventOccurrenceToOpen) + startActivity(this) + } + } + } + private fun showViewDialog() { val res = resources val items = arrayListOf( @@ -661,6 +680,10 @@ class MainActivity : SimpleActivity(), NavigationListener { private fun openDayAt(timestamp: Long) { val dayCode = Formatter.getDayCodeFromTS((timestamp / 1000).toInt()) + openDayCode(dayCode) + } + + private fun openDayCode(dayCode: String) { Intent(this, DayActivity::class.java).apply { putExtra(DAY_CODE, dayCode) startActivity(this) 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 1fdfc4346..a19afcbc4 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/activities/SplashActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/activities/SplashActivity.kt @@ -11,19 +11,17 @@ class SplashActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - if (intent.extras?.containsKey(DAY_CODE) == true) { - Intent(this, DayActivity::class.java).apply { + when { + intent.extras?.containsKey(DAY_CODE) == true -> Intent(this, MainActivity::class.java).apply { putExtra(DAY_CODE, intent.getStringExtra(DAY_CODE)) startActivity(this) } - } else if (intent.extras?.containsKey(EVENT_ID) == true) { - Intent(this, EventActivity::class.java).apply { + intent.extras?.containsKey(EVENT_ID) == true -> Intent(this, MainActivity::class.java).apply { putExtra(EVENT_ID, intent.getIntExtra(EVENT_ID, 0)) putExtra(EVENT_OCCURRENCE_TS, intent.getIntExtra(EVENT_OCCURRENCE_TS, 0)) startActivity(this) } - } else { - startActivity(Intent(this, MainActivity::class.java)) + else -> startActivity(Intent(this, MainActivity::class.java)) } finish() }