mirror of
https://github.com/SimpleMobileTools/Simple-Calendar.git
synced 2025-03-03 19:09:07 +01:00
Allow creating tasks as well using the event list widget btn
https://github.com/SimpleMobileTools/Simple-Calendar/issues/1665
This commit is contained in:
parent
e164298e15
commit
40b070bc57
@ -194,6 +194,11 @@
|
||||
android:exported="false"
|
||||
android:theme="@style/Theme.Transparent" />
|
||||
|
||||
<activity
|
||||
android:name=".activities.EventTypePickerActivity"
|
||||
android:exported="false"
|
||||
android:theme="@style/Theme.Transparent" />
|
||||
|
||||
<receiver
|
||||
android:name=".helpers.MyWidgetMonthlyProvider"
|
||||
android:exported="true"
|
||||
|
@ -0,0 +1,35 @@
|
||||
package com.simplemobiletools.calendar.pro.activities
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import com.simplemobiletools.calendar.pro.R
|
||||
import com.simplemobiletools.calendar.pro.extensions.launchNewEventIntent
|
||||
import com.simplemobiletools.calendar.pro.extensions.launchNewTaskIntent
|
||||
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
|
||||
import com.simplemobiletools.commons.models.RadioItem
|
||||
|
||||
class EventTypePickerActivity : AppCompatActivity() {
|
||||
private val TYPE_EVENT = 0
|
||||
private val TYPE_TASK = 1
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
val items = arrayListOf(
|
||||
RadioItem(TYPE_EVENT, getString(R.string.event)),
|
||||
RadioItem(TYPE_TASK, getString(R.string.task))
|
||||
)
|
||||
RadioGroupDialog(this, items = items, cancelCallback = { dialogCancelled() }) {
|
||||
val checkedId = it as Int
|
||||
if (checkedId == TYPE_EVENT) {
|
||||
launchNewEventIntent()
|
||||
} else if (checkedId == TYPE_TASK) {
|
||||
launchNewTaskIntent()
|
||||
}
|
||||
finish()
|
||||
}
|
||||
}
|
||||
|
||||
private fun dialogCancelled() {
|
||||
finish()
|
||||
}
|
||||
}
|
@ -9,6 +9,7 @@ import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.widget.RemoteViews
|
||||
import com.simplemobiletools.calendar.pro.R
|
||||
import com.simplemobiletools.calendar.pro.activities.EventTypePickerActivity
|
||||
import com.simplemobiletools.calendar.pro.activities.SplashActivity
|
||||
import com.simplemobiletools.calendar.pro.extensions.config
|
||||
import com.simplemobiletools.calendar.pro.extensions.getWidgetFontSize
|
||||
@ -86,7 +87,7 @@ class MyWidgetListProvider : AppWidgetProvider() {
|
||||
|
||||
override fun onReceive(context: Context, intent: Intent) {
|
||||
when (intent.action) {
|
||||
NEW_EVENT -> context.launchNewEventIntent()
|
||||
NEW_EVENT -> launchNewEventActivity(context)
|
||||
LAUNCH_CAL -> launchCalenderInDefaultView(context)
|
||||
GO_TO_TODAY -> goToToday(context)
|
||||
else -> super.onReceive(context, intent)
|
||||
@ -102,6 +103,17 @@ class MyWidgetListProvider : AppWidgetProvider() {
|
||||
}
|
||||
}
|
||||
|
||||
private fun launchNewEventActivity(context: Context) {
|
||||
if (context.config.allowCreatingTasks) {
|
||||
Intent(context, EventTypePickerActivity::class.java).apply {
|
||||
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
context.startActivity(this)
|
||||
}
|
||||
} else {
|
||||
context.launchNewEventIntent()
|
||||
}
|
||||
}
|
||||
|
||||
private fun launchCalenderInDefaultView(context: Context) {
|
||||
(context.getLaunchIntent() ?: Intent(context, SplashActivity::class.java)).apply {
|
||||
putExtra(DAY_CODE, Formatter.getDayCodeFromDateTime(DateTime()))
|
||||
|
Loading…
x
Reference in New Issue
Block a user