|
| 1 | +package org.stypox.dicio.skills.calendar |
| 2 | + |
| 3 | +import android.content.Context |
| 4 | +import android.os.Build |
| 5 | +import androidx.compose.foundation.layout.Column |
| 6 | +import androidx.compose.material.icons.Icons |
| 7 | +import androidx.compose.material.icons.filled.CalendarMonth |
| 8 | +import androidx.compose.runtime.Composable |
| 9 | +import androidx.compose.runtime.collectAsState |
| 10 | +import androidx.compose.runtime.getValue |
| 11 | +import androidx.compose.runtime.rememberCoroutineScope |
| 12 | +import androidx.compose.ui.graphics.vector.rememberVectorPainter |
| 13 | +import androidx.compose.ui.platform.LocalContext |
| 14 | +import androidx.compose.ui.res.stringResource |
| 15 | +import androidx.datastore.core.handlers.ReplaceFileCorruptionHandler |
| 16 | +import androidx.datastore.dataStore |
| 17 | +import androidx.datastore.migrations.SharedPreferencesMigration |
| 18 | +import kotlinx.coroutines.launch |
| 19 | +import org.dicio.skill.context.SkillContext |
| 20 | +import org.dicio.skill.skill.Skill |
| 21 | +import org.dicio.skill.skill.SkillInfo |
| 22 | +import org.stypox.dicio.R |
| 23 | +import org.stypox.dicio.sentences.Sentences |
| 24 | +import org.stypox.dicio.settings.ui.ListSetting |
| 25 | +import org.stypox.dicio.settings.ui.StringSetting |
| 26 | + |
| 27 | +object CalendarInfo : SkillInfo("calendar") { |
| 28 | + override fun name(context: Context) = |
| 29 | + context.getString(R.string.skill_name_calendar) |
| 30 | + |
| 31 | + override fun sentenceExample(context: Context) = |
| 32 | + context.getString(R.string.skill_sentence_example_calendar) |
| 33 | + |
| 34 | + @Composable |
| 35 | + override fun icon() = |
| 36 | + rememberVectorPainter(Icons.Default.CalendarMonth) |
| 37 | + |
| 38 | + override fun isAvailable(ctx: SkillContext): Boolean { |
| 39 | + return Sentences.Calendar[ctx.sentencesLanguage] != null && ctx.parserFormatter != null |
| 40 | + } |
| 41 | + |
| 42 | + override fun build(ctx: SkillContext): Skill<*> { |
| 43 | + return CalendarSkill(CalendarInfo, Sentences.Calendar[ctx.sentencesLanguage]!!) |
| 44 | + } |
| 45 | +} |
0 commit comments