Revert "Accompanist appcompat theme adapter"

This reverts commit db82ef7fd6.

accompanist theme adapter doesn't support translucent backgrounds like
the wallpaper theme
pull/2297/head
Alex Baker 2 years ago
parent 7d83e8ba06
commit e05874d36a

@ -232,6 +232,7 @@ dependencies {
implementation("androidx.compose.foundation:foundation") implementation("androidx.compose.foundation:foundation")
implementation("androidx.compose.material:material") implementation("androidx.compose.material:material")
implementation("androidx.compose.runtime:runtime-livedata") implementation("androidx.compose.runtime:runtime-livedata")
implementation(libs.compose.theme.adapter)
implementation(libs.androidx.activity.compose) implementation(libs.androidx.activity.compose)
implementation("androidx.compose.material:material-icons-extended") implementation("androidx.compose.material:material-icons-extended")
implementation(libs.androidx.lifecycle.viewmodel.compose) implementation(libs.androidx.lifecycle.viewmodel.compose)
@ -241,7 +242,6 @@ dependencies {
implementation(libs.accompanist.flowlayout) implementation(libs.accompanist.flowlayout)
implementation(libs.accompanist.permissions) implementation(libs.accompanist.permissions)
implementation(libs.accompanist.themeadapter)
googleplayImplementation(platform(libs.firebase)) googleplayImplementation(platform(libs.firebase))
googleplayImplementation("com.google.firebase:firebase-crashlytics") googleplayImplementation("com.google.firebase:firebase-crashlytics")

@ -16,7 +16,6 @@ import android.view.LayoutInflater
import android.view.MenuItem import android.view.MenuItem
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.view.inputmethod.EditorInfo
import android.view.inputmethod.InputMethodManager import android.view.inputmethod.InputMethodManager
import androidx.activity.result.contract.ActivityResultContracts import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.content.res.AppCompatResources import androidx.appcompat.content.res.AppCompatResources
@ -36,9 +35,9 @@ import androidx.core.widget.addTextChangedListener
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels import androidx.fragment.app.viewModels
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme
import com.google.android.material.appbar.AppBarLayout import com.google.android.material.appbar.AppBarLayout
import com.google.android.material.appbar.AppBarLayout.Behavior.DragCallback import com.google.android.material.appbar.AppBarLayout.Behavior.DragCallback
import com.google.android.material.composethemeadapter.MdcTheme
import com.todoroo.andlib.utility.AndroidUtilities import com.todoroo.andlib.utility.AndroidUtilities
import com.todoroo.andlib.utility.DateUtilities import com.todoroo.andlib.utility.DateUtilities
import com.todoroo.astrid.api.Filter import com.todoroo.astrid.api.Filter
@ -91,6 +90,7 @@ import java.time.format.FormatStyle
import java.util.* import java.util.*
import javax.inject.Inject import javax.inject.Inject
import kotlin.math.abs import kotlin.math.abs
import android.view.inputmethod.EditorInfo
@AndroidEntryPoint @AndroidEntryPoint
class TaskEditFragment : Fragment(), Toolbar.OnMenuItemClickListener { class TaskEditFragment : Fragment(), Toolbar.OnMenuItemClickListener {
@ -235,7 +235,7 @@ class TaskEditFragment : Fragment(), Toolbar.OnMenuItemClickListener {
} }
} }
binding.composeView.setContent { binding.composeView.setContent {
AppCompatTheme { MdcTheme {
Column(modifier = Modifier.gesturesDisabled(editViewModel.isReadOnly)) { Column(modifier = Modifier.gesturesDisabled(editViewModel.isReadOnly)) {
taskEditControlSetFragmentManager.displayOrder.forEachIndexed { index, tag -> taskEditControlSetFragmentManager.displayOrder.forEachIndexed { index, tag ->
if (index < taskEditControlSetFragmentManager.visibleSize) { if (index < taskEditControlSetFragmentManager.visibleSize) {
@ -296,7 +296,7 @@ class TaskEditFragment : Fragment(), Toolbar.OnMenuItemClickListener {
binding.banner.setContent { binding.banner.setContent {
var visible by rememberSaveable { mutableStateOf(true) } var visible by rememberSaveable { mutableStateOf(true) }
val context = LocalContext.current val context = LocalContext.current
AppCompatTheme { MdcTheme {
BeastModeBanner( BeastModeBanner(
visible, visible,
showSettings = { showSettings = {

@ -36,9 +36,9 @@ import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout.OnRefreshListener import androidx.swiperefreshlayout.widget.SwipeRefreshLayout.OnRefreshListener
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme
import com.google.android.material.appbar.AppBarLayout import com.google.android.material.appbar.AppBarLayout
import com.google.android.material.bottomappbar.BottomAppBar import com.google.android.material.bottomappbar.BottomAppBar
import com.google.android.material.composethemeadapter.MdcTheme
import com.google.android.material.snackbar.Snackbar import com.google.android.material.snackbar.Snackbar
import com.todoroo.andlib.utility.AndroidUtilities import com.todoroo.andlib.utility.AndroidUtilities
import com.todoroo.andlib.utility.DateUtilities import com.todoroo.andlib.utility.DateUtilities
@ -163,7 +163,7 @@ class TaskListFragment : Fragment(), OnRefreshListener, Toolbar.OnMenuItemClickL
is TaskListEvent.BegForSubscription -> { is TaskListEvent.BegForSubscription -> {
binding.banner.setContent { binding.banner.setContent {
var showBanner by rememberSaveable { mutableStateOf(true) } var showBanner by rememberSaveable { mutableStateOf(true) }
AppCompatTheme { MdcTheme {
SubscriptionNagBanner( SubscriptionNagBanner(
visible = showBanner, visible = showBanner,
subscribe = { subscribe = {

@ -13,7 +13,7 @@ import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.compose.ui.platform.ComposeView import androidx.compose.ui.platform.ComposeView
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.flow.update import kotlinx.coroutines.flow.update
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
@ -48,7 +48,7 @@ class FilesControlSet : TaskEditControlFragment() {
override fun bind(parent: ViewGroup?): View = override fun bind(parent: ViewGroup?): View =
(parent as ComposeView).apply { (parent as ComposeView).apply {
setContent { setContent {
AppCompatTheme { MdcTheme {
AttachmentRow( AttachmentRow(
attachments = viewModel.selectedAttachments.collectAsStateLifecycleAware().value, attachments = viewModel.selectedAttachments.collectAsStateLifecycleAware().value,
openAttachment = { openAttachment = {

@ -12,7 +12,7 @@ import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.compose.ui.platform.ComposeView import androidx.compose.ui.platform.ComposeView
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import net.fortuna.ical4j.model.Recur import net.fortuna.ical4j.model.Recur
import net.fortuna.ical4j.model.WeekDay import net.fortuna.ical4j.model.WeekDay
@ -75,7 +75,7 @@ class RepeatControlSet : TaskEditControlFragment() {
override fun bind(parent: ViewGroup?): View = override fun bind(parent: ViewGroup?): View =
(parent as ComposeView).apply { (parent as ComposeView).apply {
setContent { setContent {
AppCompatTheme { MdcTheme {
RepeatRow( RepeatRow(
recurrence = viewModel.recurrence.collectAsStateLifecycleAware().value?.let { recurrence = viewModel.recurrence.collectAsStateLifecycleAware().value?.let {
repeatRuleToString.toString(it) repeatRuleToString.toString(it)

@ -5,7 +5,7 @@ import android.content.Intent
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.compose.ui.platform.ComposeView import androidx.compose.ui.platform.ComposeView
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.flow.update import kotlinx.coroutines.flow.update
import org.tasks.R import org.tasks.R
@ -29,7 +29,7 @@ class TagsControlSet : TaskEditControlFragment() {
override fun bind(parent: ViewGroup?): View = override fun bind(parent: ViewGroup?): View =
(parent as ComposeView).apply { (parent as ComposeView).apply {
setContent { setContent {
AppCompatTheme { MdcTheme {
TagsRow( TagsRow(
tags = viewModel.selectedTags.collectAsStateLifecycleAware().value, tags = viewModel.selectedTags.collectAsStateLifecycleAware().value,
colorProvider = { chipProvider.getColor(it) }, colorProvider = { chipProvider.getColor(it) },

@ -12,7 +12,7 @@ import android.view.ViewGroup
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import androidx.compose.ui.platform.ComposeView import androidx.compose.ui.platform.ComposeView
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import com.todoroo.astrid.data.Task import com.todoroo.astrid.data.Task
import com.todoroo.astrid.ui.TimeDurationControlSet import com.todoroo.astrid.ui.TimeDurationControlSet
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
@ -91,7 +91,7 @@ class TimerControlSet : TaskEditControlFragment() {
override fun bind(parent: ViewGroup?): View = override fun bind(parent: ViewGroup?): View =
(parent as ComposeView).apply { (parent as ComposeView).apply {
setContent { setContent {
AppCompatTheme { MdcTheme {
TimerRow( TimerRow(
started = viewModel.timerStarted.collectAsStateLifecycleAware().value, started = viewModel.timerStarted.collectAsStateLifecycleAware().value,
estimated = viewModel.estimatedSeconds.collectAsStateLifecycleAware().value, estimated = viewModel.estimatedSeconds.collectAsStateLifecycleAware().value,

@ -17,7 +17,7 @@ import androidx.compose.ui.platform.ComposeView
import com.google.accompanist.permissions.ExperimentalPermissionsApi import com.google.accompanist.permissions.ExperimentalPermissionsApi
import com.google.accompanist.permissions.PermissionStatus import com.google.accompanist.permissions.PermissionStatus
import com.google.accompanist.permissions.rememberPermissionState import com.google.accompanist.permissions.rememberPermissionState
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import com.todoroo.andlib.utility.AndroidUtilities import com.todoroo.andlib.utility.AndroidUtilities
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import org.tasks.R import org.tasks.R
@ -76,7 +76,7 @@ class ReminderControlSet : TaskEditControlFragment() {
override fun bind(parent: ViewGroup?): View = override fun bind(parent: ViewGroup?): View =
(parent as ComposeView).apply { (parent as ComposeView).apply {
setContent { setContent {
AppCompatTheme { MdcTheme {
val ringMode by remember { this@ReminderControlSet.ringMode } val ringMode by remember { this@ReminderControlSet.ringMode }
val notificationPermissions = if (AndroidUtilities.atLeastTiramisu()) { val notificationPermissions = if (AndroidUtilities.atLeastTiramisu()) {
rememberPermissionState( rememberPermissionState(

@ -8,7 +8,7 @@ import android.view.ViewGroup
import androidx.compose.ui.platform.ComposeView import androidx.compose.ui.platform.ComposeView
import androidx.fragment.app.viewModels import androidx.fragment.app.viewModels
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import com.todoroo.andlib.utility.DateUtilities import com.todoroo.andlib.utility.DateUtilities
import com.todoroo.andlib.utility.DateUtilities.getTimeString import com.todoroo.andlib.utility.DateUtilities.getTimeString
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
@ -48,7 +48,7 @@ class StartDateControlSet : TaskEditControlFragment() {
override fun bind(parent: ViewGroup?) = override fun bind(parent: ViewGroup?) =
(parent as ComposeView).apply { (parent as ComposeView).apply {
setContent { setContent {
AppCompatTheme { MdcTheme {
val selectedDay = vm.selectedDay.collectAsStateLifecycleAware().value val selectedDay = vm.selectedDay.collectAsStateLifecycleAware().value
val selectedTime = vm.selectedTime.collectAsStateLifecycleAware().value val selectedTime = vm.selectedTime.collectAsStateLifecycleAware().value
StartDateRow( StartDateRow(

@ -28,17 +28,10 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.window.Dialog import androidx.compose.ui.window.Dialog
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import at.bitfire.dav4jvm.exception.HttpException import at.bitfire.dav4jvm.exception.HttpException
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import net.openid.appauth.AuthState import net.openid.appauth.*
import net.openid.appauth.AuthorizationException
import net.openid.appauth.AuthorizationRequest
import net.openid.appauth.AuthorizationServiceConfiguration
import net.openid.appauth.ClientSecretBasic
import net.openid.appauth.RegistrationRequest
import net.openid.appauth.RegistrationResponse
import net.openid.appauth.ResponseTypeValues
import org.tasks.R import org.tasks.R
import org.tasks.Tasks.Companion.IS_GENERIC import org.tasks.Tasks.Companion.IS_GENERIC
import org.tasks.analytics.Firebase import org.tasks.analytics.Firebase
@ -105,7 +98,7 @@ class SignInActivity : ComponentActivity() {
var selectedPlatform by rememberSaveable { var selectedPlatform by rememberSaveable {
mutableStateOf(autoSelect) mutableStateOf(autoSelect)
} }
AppCompatTheme { MdcTheme {
selectedPlatform selectedPlatform
?.let { ?.let {
Dialog(onDismissRequest = { finish() }) { Dialog(onDismissRequest = { finish() }) {

@ -8,7 +8,7 @@ import androidx.activity.compose.setContent
import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.mutableStateOf
import androidx.compose.ui.window.Dialog import androidx.compose.ui.window.Dialog
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import org.tasks.LocalBroadcastManager import org.tasks.LocalBroadcastManager
@ -19,7 +19,7 @@ import org.tasks.extensions.Context.toast
import org.tasks.injection.InjectingAppCompatActivity import org.tasks.injection.InjectingAppCompatActivity
import org.tasks.preferences.Preferences import org.tasks.preferences.Preferences
import org.tasks.themes.Theme import org.tasks.themes.Theme
import java.util.Locale import java.util.*
import javax.inject.Inject import javax.inject.Inject
@AndroidEntryPoint @AndroidEntryPoint
@ -53,7 +53,7 @@ class PurchaseActivity : InjectingAppCompatActivity(), OnPurchasesUpdated {
} }
setContent { setContent {
AppCompatTheme { MdcTheme {
Dialog(onDismissRequest = { finish() }) { Dialog(onDismissRequest = { finish() }) {
PurchaseText( PurchaseText(
nameYourPrice = nameYourPrice, nameYourPrice = nameYourPrice,

@ -22,7 +22,7 @@ import androidx.core.widget.addTextChangedListener
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import at.bitfire.dav4jvm.exception.HttpException import at.bitfire.dav4jvm.exception.HttpException
import com.franmontiel.persistentcookiejar.persistence.CookiePersistor import com.franmontiel.persistentcookiejar.persistence.CookiePersistor
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import com.google.android.material.snackbar.BaseTransientBottomBar import com.google.android.material.snackbar.BaseTransientBottomBar
import com.google.android.material.snackbar.Snackbar import com.google.android.material.snackbar.Snackbar
import com.todoroo.astrid.data.Task import com.todoroo.astrid.data.Task
@ -136,7 +136,7 @@ abstract class BaseCaldavAccountSettingsActivity : ThemedInjectingAppCompatActiv
) )
binding.password.setOnFocusChangeListener { _, hasFocus -> onPasswordFocused(hasFocus) } binding.password.setOnFocusChangeListener { _, hasFocus -> onPasswordFocused(hasFocus) }
binding.serverSelector.setContent { binding.serverSelector.setContent {
AppCompatTheme { MdcTheme {
var selected by rememberSaveable { serverType } var selected by rememberSaveable { serverType }
ServerSelector(selected) { ServerSelector(selected) {
serverType.value = it serverType.value = it

@ -11,7 +11,7 @@ import androidx.compose.ui.platform.ComposeView
import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.painterResource
import androidx.core.view.isVisible import androidx.core.view.isVisible
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import org.tasks.R import org.tasks.R
@ -55,7 +55,7 @@ class CaldavCalendarSettingsActivity : BaseCaldavCalendarSettingsActivity() {
findViewById<ComposeView>(R.id.people) findViewById<ComposeView>(R.id.people)
.apply { isVisible = it.isNotEmpty() } .apply { isVisible = it.isNotEmpty() }
.setContent { .setContent {
AppCompatTheme { MdcTheme {
PrincipalList(it, if (canRemovePrincipals) this::onRemove else null) PrincipalList(it, if (canRemovePrincipals) this::onRemove else null)
} }
} }
@ -65,7 +65,7 @@ class CaldavCalendarSettingsActivity : BaseCaldavCalendarSettingsActivity() {
findViewById<ComposeView>(R.id.fab) findViewById<ComposeView>(R.id.fab)
.apply { isVisible = true } .apply { isVisible = true }
.setContent { .setContent {
AppCompatTheme { MdcTheme {
val openDialog = rememberSaveable { mutableStateOf(false) } val openDialog = rememberSaveable { mutableStateOf(false) }
ShareInviteDialog( ShareInviteDialog(
openDialog, openDialog,

@ -9,7 +9,7 @@ import androidx.compose.material.MaterialTheme
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import org.tasks.BuildConfig import org.tasks.BuildConfig
import org.tasks.R import org.tasks.R
import org.tasks.sync.AddAccountDialog.Platform import org.tasks.sync.AddAccountDialog.Platform
@ -76,7 +76,7 @@ fun AddAccountDialog(
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320)
@Composable @Composable
fun AddAccountDialogPreview() { fun AddAccountDialogPreview() {
AppCompatTheme { MdcTheme {
AddAccountDialog(hasTasksAccount = false, selected = {}) AddAccountDialog(hasTasksAccount = false, selected = {})
} }
} }

@ -3,31 +3,14 @@ package org.tasks.compose
import android.content.res.Configuration import android.content.res.Configuration
import androidx.annotation.StringRes import androidx.annotation.StringRes
import androidx.compose.foundation.clickable import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.*
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.foundation.text.KeyboardOptions
import androidx.compose.foundation.verticalScroll import androidx.compose.foundation.verticalScroll
import androidx.compose.material.AlertDialog import androidx.compose.material.*
import androidx.compose.material.Divider
import androidx.compose.material.Icon
import androidx.compose.material.IconButton
import androidx.compose.material.MaterialTheme
import androidx.compose.material.OutlinedTextField
import androidx.compose.material.RadioButton
import androidx.compose.material.Text
import androidx.compose.material.TextFieldDefaults
import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.Autorenew import androidx.compose.material.icons.outlined.Autorenew
import androidx.compose.runtime.Composable import androidx.compose.runtime.*
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.MutableState
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.ui.Alignment.Companion.CenterVertically import androidx.compose.ui.Alignment.Companion.CenterVertically
import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.ExperimentalComposeUiApi
@ -45,7 +28,7 @@ import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.core.content.res.ResourcesCompat import androidx.core.content.res.ResourcesCompat
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import com.todoroo.astrid.ui.ReminderControlSetViewModel.ViewState import com.todoroo.astrid.ui.ReminderControlSetViewModel.ViewState
import kotlinx.coroutines.android.awaitFrame import kotlinx.coroutines.android.awaitFrame
import org.tasks.R import org.tasks.R
@ -550,7 +533,7 @@ fun AddAlarmDialog(
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable @Composable
fun AddCustomReminderOne() = fun AddCustomReminderOne() =
AppCompatTheme { MdcTheme {
AddReminderDialog.AddCustomReminder( AddReminderDialog.AddCustomReminder(
time = remember { mutableStateOf(1) }, time = remember { mutableStateOf(1) },
units = remember { mutableStateOf(0) }, units = remember { mutableStateOf(0) },
@ -566,7 +549,7 @@ fun AddCustomReminderOne() =
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable @Composable
fun AddCustomReminder() = fun AddCustomReminder() =
AppCompatTheme { MdcTheme {
AddReminderDialog.AddCustomReminder( AddReminderDialog.AddCustomReminder(
time = remember { mutableStateOf(15) }, time = remember { mutableStateOf(15) },
units = remember { mutableStateOf(1) }, units = remember { mutableStateOf(1) },
@ -582,7 +565,7 @@ fun AddCustomReminder() =
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable @Composable
fun AddRepeatingReminderOne() = fun AddRepeatingReminderOne() =
AppCompatTheme { MdcTheme {
AddReminderDialog.AddRecurringReminder( AddReminderDialog.AddRecurringReminder(
openDialog = true, openDialog = true,
interval = remember { mutableStateOf(1) }, interval = remember { mutableStateOf(1) },
@ -596,7 +579,7 @@ fun AddRepeatingReminderOne() =
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable @Composable
fun AddRepeatingReminder() = fun AddRepeatingReminder() =
AppCompatTheme { MdcTheme {
AddReminderDialog.AddRecurringReminder( AddReminderDialog.AddRecurringReminder(
openDialog = true, openDialog = true,
interval = remember { mutableStateOf(15) }, interval = remember { mutableStateOf(15) },
@ -610,7 +593,7 @@ fun AddRepeatingReminder() =
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable @Composable
fun AddRandomReminderOne() = fun AddRandomReminderOne() =
AppCompatTheme { MdcTheme {
AddReminderDialog.AddRandomReminder( AddReminderDialog.AddRandomReminder(
time = remember { mutableStateOf(1) }, time = remember { mutableStateOf(1) },
units = remember { mutableStateOf(0) } units = remember { mutableStateOf(0) }
@ -622,7 +605,7 @@ fun AddRandomReminderOne() =
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable @Composable
fun AddRandomReminder() = fun AddRandomReminder() =
AppCompatTheme { MdcTheme {
AddReminderDialog.AddRandomReminder( AddReminderDialog.AddRandomReminder(
time = remember { mutableStateOf(15) }, time = remember { mutableStateOf(15) },
units = remember { mutableStateOf(1) } units = remember { mutableStateOf(1) }
@ -633,7 +616,7 @@ fun AddRandomReminder() =
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable @Composable
fun AddReminderDialog() = fun AddReminderDialog() =
AppCompatTheme { MdcTheme {
AddAlarmDialog( AddAlarmDialog(
viewState = ViewState(showAddAlarm = true), viewState = ViewState(showAddAlarm = true),
existingAlarms = emptyList(), existingAlarms = emptyList(),

@ -22,7 +22,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import org.tasks.R import org.tasks.R
import org.tasks.Tasks import org.tasks.Tasks
@ -149,7 +149,7 @@ fun BannerTextButton(text: Int, onClick: () -> Unit) {
@Preview(showBackground = true) @Preview(showBackground = true)
@Preview(showBackground = true, backgroundColor = 0x202124, uiMode = Configuration.UI_MODE_NIGHT_YES) @Preview(showBackground = true, backgroundColor = 0x202124, uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable @Composable
private fun BeastModePreview() = AppCompatTheme { private fun BeastModePreview() = MdcTheme {
BeastModeBanner(visible = true, showSettings = {}, dismiss = {}) BeastModeBanner(visible = true, showSettings = {}, dismiss = {})
} }
@ -157,7 +157,7 @@ private fun BeastModePreview() = AppCompatTheme {
@Preview(showBackground = true) @Preview(showBackground = true)
@Preview(showBackground = true, backgroundColor = 0x202124, uiMode = Configuration.UI_MODE_NIGHT_YES) @Preview(showBackground = true, backgroundColor = 0x202124, uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable @Composable
private fun SubscriptionNagPreview() = AppCompatTheme { private fun SubscriptionNagPreview() = MdcTheme {
SubscriptionNagBanner(visible = true, subscribe = {}, dismiss = {}) SubscriptionNagBanner(visible = true, subscribe = {}, dismiss = {})
} }

@ -21,7 +21,7 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import org.tasks.R import org.tasks.R
import org.tasks.themes.CustomIcons import org.tasks.themes.CustomIcons
@ -115,7 +115,7 @@ private fun ChipIcon(iconRes: Int?) {
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable @Composable
fun TasksChipIconAndTextPreview() { fun TasksChipIconAndTextPreview() {
AppCompatTheme { MdcTheme {
Chip( Chip(
text = "Home", text = "Home",
icon = CustomIcons.getIconResId(CustomIcons.LABEL), icon = CustomIcons.getIconResId(CustomIcons.LABEL),
@ -129,7 +129,7 @@ fun TasksChipIconAndTextPreview() {
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable @Composable
fun TasksChipIconTextAndClearPreview() { fun TasksChipIconTextAndClearPreview() {
AppCompatTheme { MdcTheme {
Chip( Chip(
text = "Home", text = "Home",
icon = CustomIcons.getIconResId(CustomIcons.LABEL), icon = CustomIcons.getIconResId(CustomIcons.LABEL),
@ -144,7 +144,7 @@ fun TasksChipIconTextAndClearPreview() {
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable @Composable
fun TasksChipIconPreview() { fun TasksChipIconPreview() {
AppCompatTheme { MdcTheme {
Chip( Chip(
text = null, text = null,
icon = CustomIcons.getIconResId(CustomIcons.LABEL), icon = CustomIcons.getIconResId(CustomIcons.LABEL),
@ -158,7 +158,7 @@ fun TasksChipIconPreview() {
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable @Composable
fun TasksChipTextPreview() { fun TasksChipTextPreview() {
AppCompatTheme { MdcTheme {
Chip( Chip(
text = "Home", text = "Home",
icon = null, icon = null,

@ -25,7 +25,6 @@ import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme
import org.tasks.R import org.tasks.R
import org.tasks.compose.Constants.HALF_KEYLINE import org.tasks.compose.Constants.HALF_KEYLINE
import org.tasks.compose.Constants.ICON_ALPHA import org.tasks.compose.Constants.ICON_ALPHA
@ -53,14 +52,14 @@ private val principals = listOf(
@Preview(showBackground = true) @Preview(showBackground = true)
@Preview(showBackground = true, backgroundColor = 0x202124, uiMode = UI_MODE_NIGHT_YES) @Preview(showBackground = true, backgroundColor = 0x202124, uiMode = UI_MODE_NIGHT_YES)
@Composable @Composable
private fun Owner() = AppCompatTheme { private fun Owner() = MaterialTheme {
ListSettingsComposables.PrincipalList(principals) {} ListSettingsComposables.PrincipalList(principals) {}
} }
@Preview(showBackground = true) @Preview(showBackground = true)
@Preview(showBackground = true, backgroundColor = 0x202124, uiMode = UI_MODE_NIGHT_YES) @Preview(showBackground = true, backgroundColor = 0x202124, uiMode = UI_MODE_NIGHT_YES)
@Composable @Composable
private fun NotOwner() = AppCompatTheme { private fun NotOwner() = MaterialTheme {
ListSettingsComposables.PrincipalList(principals, null) ListSettingsComposables.PrincipalList(principals, null)
} }

@ -18,7 +18,7 @@ import androidx.compose.ui.res.colorResource
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import org.tasks.R import org.tasks.R
@Composable @Composable
@ -56,6 +56,6 @@ fun ServerSelector(selected: Int, onSelected: (Int) -> Unit) {
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable @Composable
fun ServerSelectorPreview() = fun ServerSelectorPreview() =
AppCompatTheme { MdcTheme {
ServerSelector(1) {} ServerSelector(1) {}
} }

@ -23,7 +23,6 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.text.input.KeyboardType
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme
import org.tasks.R import org.tasks.R
import org.tasks.compose.Constants.TextButton import org.tasks.compose.Constants.TextButton
import org.tasks.compose.Constants.textFieldColors import org.tasks.compose.Constants.textFieldColors
@ -31,7 +30,7 @@ import org.tasks.compose.ShareInvite.ShareInvite
@Preview(showBackground = true, backgroundColor = 0xFFFFFF) @Preview(showBackground = true, backgroundColor = 0xFFFFFF)
@Composable @Composable
private fun Invite() = AppCompatTheme { private fun Invite() = MaterialTheme {
ShareInvite(true, remember { mutableStateOf("") }) ShareInvite(true, remember { mutableStateOf("") })
} }
@ -43,7 +42,7 @@ private fun InviteDark() = MaterialTheme(darkColors()) {
@Preview(showBackground = true, backgroundColor = 0xFFFFFF) @Preview(showBackground = true, backgroundColor = 0xFFFFFF)
@Composable @Composable
private fun InviteFilled() = AppCompatTheme { private fun InviteFilled() = MaterialTheme {
ShareInvite(true, remember { mutableStateOf("user@example.com") }) ShareInvite(true, remember { mutableStateOf("user@example.com") })
} }

@ -2,12 +2,7 @@ package org.tasks.compose
import android.content.res.Configuration import android.content.res.Configuration
import androidx.compose.foundation.background import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.*
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll import androidx.compose.foundation.verticalScroll
import androidx.compose.material.ContentAlpha import androidx.compose.material.ContentAlpha
@ -19,7 +14,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import org.tasks.R import org.tasks.R
import org.tasks.auth.SignInActivity import org.tasks.auth.SignInActivity
@ -104,7 +99,7 @@ fun ConsentDialog(
@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320) @Preview(uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320)
@Composable @Composable
fun SignInDialogPreview() { fun SignInDialogPreview() {
AppCompatTheme { MdcTheme {
SignInDialog(selected = {}, help = {}, cancel = {}) SignInDialog(selected = {}, help = {}, cancel = {})
} }
} }
@ -113,7 +108,7 @@ fun SignInDialogPreview() {
@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320) @Preview(uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320)
@Composable @Composable
fun DisclosurePreview() { fun DisclosurePreview() {
AppCompatTheme { MdcTheme {
ConsentDialog(agree = {}) ConsentDialog(agree = {})
} }
} }

@ -22,7 +22,7 @@ import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp import androidx.compose.ui.unit.sp
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import org.tasks.R import org.tasks.R
import org.tasks.compose.Constants.HALF_KEYLINE import org.tasks.compose.Constants.HALF_KEYLINE
import org.tasks.compose.Constants.KEYLINE_FIRST import org.tasks.compose.Constants.KEYLINE_FIRST
@ -415,7 +415,7 @@ object PurchaseText {
@Preview(showBackground = true, uiMode = UI_MODE_NIGHT_YES) @Preview(showBackground = true, uiMode = UI_MODE_NIGHT_YES)
@Composable @Composable
private fun PurchaseDialogPreview() { private fun PurchaseDialogPreview() {
AppCompatTheme { MdcTheme {
PurchaseText { _, _ -> } PurchaseText { _, _ -> }
} }
} }
@ -424,7 +424,7 @@ private fun PurchaseDialogPreview() {
@Preview(showBackground = true, uiMode = UI_MODE_NIGHT_YES) @Preview(showBackground = true, uiMode = UI_MODE_NIGHT_YES)
@Composable @Composable
private fun PurchaseDialogPreviewSolid() { private fun PurchaseDialogPreviewSolid() {
AppCompatTheme { MdcTheme {
PurchaseText(solidButton = true) { _, _ -> } PurchaseText(solidButton = true) { _, _ -> }
} }
} }
@ -433,7 +433,7 @@ private fun PurchaseDialogPreviewSolid() {
@Preview(showBackground = true, uiMode = UI_MODE_NIGHT_YES) @Preview(showBackground = true, uiMode = UI_MODE_NIGHT_YES)
@Composable @Composable
private fun PurchaseDialogPreviewBadge() { private fun PurchaseDialogPreviewBadge() {
AppCompatTheme { MdcTheme {
PurchaseText(badge = true) { _, _ -> } PurchaseText(badge = true) { _, _ -> }
} }
} }

@ -20,7 +20,7 @@ import androidx.compose.ui.unit.dp
import androidx.lifecycle.viewmodel.compose.viewModel import androidx.lifecycle.viewmodel.compose.viewModel
import com.google.accompanist.permissions.ExperimentalPermissionsApi import com.google.accompanist.permissions.ExperimentalPermissionsApi
import com.google.accompanist.permissions.PermissionStatus import com.google.accompanist.permissions.PermissionStatus
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import com.todoroo.astrid.ui.ReminderControlSetViewModel import com.todoroo.astrid.ui.ReminderControlSetViewModel
import org.tasks.R import org.tasks.R
import org.tasks.compose.* import org.tasks.compose.*
@ -203,7 +203,7 @@ private fun AlarmRow(
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320)
@Composable @Composable
fun NoAlarms() { fun NoAlarms() {
AppCompatTheme { MdcTheme {
AlarmRow( AlarmRow(
alarms = emptyList(), alarms = emptyList(),
ringMode = 0, ringMode = 0,
@ -223,7 +223,7 @@ fun NoAlarms() {
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320)
@Composable @Composable
fun PermissionDenied() { fun PermissionDenied() {
AppCompatTheme { MdcTheme {
AlarmRow( AlarmRow(
alarms = emptyList(), alarms = emptyList(),
ringMode = 0, ringMode = 0,

@ -3,31 +3,15 @@ package org.tasks.compose.edit
import android.content.res.Configuration import android.content.res.Configuration
import androidx.compose.foundation.border import androidx.compose.foundation.border
import androidx.compose.foundation.clickable import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.*
import androidx.compose.foundation.layout.BoxScope
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.ContentAlpha import androidx.compose.material.ContentAlpha
import androidx.compose.material.Icon import androidx.compose.material.Icon
import androidx.compose.material.MaterialTheme import androidx.compose.material.MaterialTheme
import androidx.compose.material.Text import androidx.compose.material.Text
import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.Add import androidx.compose.material.icons.outlined.*
import androidx.compose.material.icons.outlined.Cancel import androidx.compose.runtime.*
import androidx.compose.material.icons.outlined.Description
import androidx.compose.material.icons.outlined.Image
import androidx.compose.material.icons.outlined.Movie
import androidx.compose.material.icons.outlined.MusicNote
import androidx.compose.material.icons.outlined.PlayCircle
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.alpha import androidx.compose.ui.draw.alpha
@ -50,7 +34,7 @@ import coil.decode.VideoFrameDecoder
import coil.request.CachePolicy import coil.request.CachePolicy
import coil.request.ImageRequest import coil.request.ImageRequest
import com.google.accompanist.flowlayout.FlowRow import com.google.accompanist.flowlayout.FlowRow
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import com.todoroo.andlib.utility.AndroidUtilities import com.todoroo.andlib.utility.AndroidUtilities
import org.tasks.R import org.tasks.R
import org.tasks.compose.DisabledText import org.tasks.compose.DisabledText
@ -255,7 +239,7 @@ fun BoxScope.DeleteAttachment(
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320)
@Composable @Composable
fun NoAttachments() { fun NoAttachments() {
AppCompatTheme { MdcTheme {
AttachmentRow( AttachmentRow(
attachments = emptyList(), attachments = emptyList(),
openAttachment = {}, openAttachment = {},
@ -269,7 +253,7 @@ fun NoAttachments() {
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320)
@Composable @Composable
fun AttachmentPreview() { fun AttachmentPreview() {
AppCompatTheme { MdcTheme {
AttachmentRow( AttachmentRow(
attachments = listOf( attachments = listOf(
TaskAttachment( TaskAttachment(

@ -15,7 +15,7 @@ import androidx.compose.ui.draw.alpha
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import org.tasks.R import org.tasks.R
import org.tasks.compose.DisabledText import org.tasks.compose.DisabledText
import org.tasks.compose.TaskEditRow import org.tasks.compose.TaskEditRow
@ -69,7 +69,7 @@ fun CalendarRow(
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320)
@Composable @Composable
fun NoCalendar() { fun NoCalendar() {
AppCompatTheme { MdcTheme {
CalendarRow(eventUri = null, selectedCalendar = null, onClick = {}, clear = {}) CalendarRow(eventUri = null, selectedCalendar = null, onClick = {}, clear = {})
} }
} }
@ -78,7 +78,7 @@ fun NoCalendar() {
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320)
@Composable @Composable
fun NewCalendar() { fun NewCalendar() {
AppCompatTheme { MdcTheme {
CalendarRow(eventUri = null, selectedCalendar = "Personal", onClick = {}, clear = {}) CalendarRow(eventUri = null, selectedCalendar = "Personal", onClick = {}, clear = {})
} }
} }
@ -87,7 +87,7 @@ fun NewCalendar() {
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320)
@Composable @Composable
fun ExistingCalendar() { fun ExistingCalendar() {
AppCompatTheme { MdcTheme {
CalendarRow(eventUri = "abcd", selectedCalendar = null, onClick = {}, clear = {}) CalendarRow(eventUri = "abcd", selectedCalendar = null, onClick = {}, clear = {})
} }
} }

@ -6,13 +6,7 @@ import android.util.TypedValue
import android.view.View import android.view.View
import android.view.inputmethod.EditorInfo import android.view.inputmethod.EditorInfo
import android.widget.EditText import android.widget.EditText
import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.*
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.wrapContentHeight
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
@ -20,7 +14,7 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.compose.ui.viewinterop.AndroidView import androidx.compose.ui.viewinterop.AndroidView
import androidx.core.widget.addTextChangedListener import androidx.core.widget.addTextChangedListener
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import com.todoroo.andlib.utility.AndroidUtilities import com.todoroo.andlib.utility.AndroidUtilities
import org.tasks.R import org.tasks.R
import org.tasks.compose.TaskEditRow import org.tasks.compose.TaskEditRow
@ -91,7 +85,7 @@ fun DescriptionRow(
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320)
@Composable @Composable
fun EmptyDescriptionPreview() { fun EmptyDescriptionPreview() {
AppCompatTheme { MdcTheme {
DescriptionRow( DescriptionRow(
text = null, text = null,
onChanged = {}, onChanged = {},
@ -106,7 +100,7 @@ fun EmptyDescriptionPreview() {
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320)
@Composable @Composable
fun DescriptionPreview() { fun DescriptionPreview() {
AppCompatTheme { MdcTheme {
DescriptionRow( DescriptionRow(
text = """ text = """
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

@ -11,7 +11,7 @@ import androidx.compose.ui.res.colorResource
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import org.tasks.R import org.tasks.R
import org.tasks.compose.DisabledText import org.tasks.compose.DisabledText
import org.tasks.compose.TaskEditRow import org.tasks.compose.TaskEditRow
@ -59,7 +59,7 @@ fun DueDate(dueDate: String?, overdue: Boolean) {
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320)
@Composable @Composable
fun DueDatePreview() { fun DueDatePreview() {
AppCompatTheme { MdcTheme {
DueDateRow( DueDateRow(
dueDate = "Today", dueDate = "Today",
overdue = false, overdue = false,
@ -72,7 +72,7 @@ fun DueDatePreview() {
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320)
@Composable @Composable
fun NoDueDatePreview() { fun NoDueDatePreview() {
AppCompatTheme { MdcTheme {
DueDateRow( DueDateRow(
dueDate = null, dueDate = null,
overdue = false, overdue = false,

@ -10,11 +10,11 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import org.tasks.R import org.tasks.R
import org.tasks.compose.TaskEditRow import org.tasks.compose.TaskEditRow
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.Locale import java.util.*
@Composable @Composable
fun InfoRow( fun InfoRow(
@ -62,7 +62,7 @@ fun InfoRow(
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320)
@Composable @Composable
fun InfoPreview() { fun InfoPreview() {
AppCompatTheme { MdcTheme {
InfoRow( InfoRow(
creationDate = 1658727180000, creationDate = 1658727180000,
modificationDate = 1658813557000, modificationDate = 1658813557000,

@ -7,7 +7,7 @@ import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import com.todoroo.andlib.sql.QueryTemplate import com.todoroo.andlib.sql.QueryTemplate
import com.todoroo.astrid.api.Filter import com.todoroo.astrid.api.Filter
import org.tasks.R import org.tasks.R
@ -46,7 +46,7 @@ fun ListRow(
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320)
@Composable @Composable
fun ListPreview() { fun ListPreview() {
AppCompatTheme { MdcTheme {
ListRow( ListRow(
list = Filter("Default list", QueryTemplate()), list = Filter("Default list", QueryTemplate()),
colorProvider = { -769226 }, colorProvider = { -769226 },

@ -17,7 +17,7 @@ import androidx.compose.ui.draw.alpha
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import org.tasks.R import org.tasks.R
import org.tasks.compose.DisabledText import org.tasks.compose.DisabledText
import org.tasks.compose.TaskEditRow import org.tasks.compose.TaskEditRow
@ -92,7 +92,7 @@ fun Location(
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320)
@Composable @Composable
fun NoLocation() { fun NoLocation() {
AppCompatTheme { MdcTheme {
LocationRow( LocationRow(
location = null, location = null,
hasPermissions = true, hasPermissions = true,
@ -106,7 +106,7 @@ fun NoLocation() {
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320)
@Composable @Composable
fun SampleLocation() { fun SampleLocation() {
AppCompatTheme { MdcTheme {
LocationRow( LocationRow(
location = Location( location = Location(
Geofence(), Geofence(),

@ -14,7 +14,7 @@ import androidx.compose.ui.res.dimensionResource
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import com.todoroo.astrid.data.Task import com.todoroo.astrid.data.Task
import org.tasks.R import org.tasks.R
import org.tasks.compose.TaskEditRow import org.tasks.compose.TaskEditRow
@ -109,7 +109,7 @@ fun RowScope.PriorityButton(
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable @Composable
fun PriorityPreview() { fun PriorityPreview() {
AppCompatTheme { MdcTheme {
PriorityRow( PriorityRow(
priority = Task.Priority.MEDIUM, priority = Task.Priority.MEDIUM,
onChangePriority = {}, onChangePriority = {},
@ -122,7 +122,7 @@ fun PriorityPreview() {
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable @Composable
fun PriorityPreviewNoDesaturate() { fun PriorityPreviewNoDesaturate() {
AppCompatTheme { MdcTheme {
PriorityRow( PriorityRow(
priority = Task.Priority.MEDIUM, priority = Task.Priority.MEDIUM,
onChangePriority = {}, onChangePriority = {},
@ -135,7 +135,7 @@ fun PriorityPreviewNoDesaturate() {
@Preview(locale = "de", widthDp = 320, showBackground = true) @Preview(locale = "de", widthDp = 320, showBackground = true)
@Composable @Composable
fun PriorityNarrowWidth() { fun PriorityNarrowWidth() {
AppCompatTheme { MdcTheme {
PriorityRow( PriorityRow(
priority = Task.Priority.MEDIUM, priority = Task.Priority.MEDIUM,
onChangePriority = {}, onChangePriority = {},

@ -2,30 +2,19 @@ package org.tasks.compose.edit
import android.content.res.Configuration import android.content.res.Configuration
import androidx.compose.foundation.clickable import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.*
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.defaultMinSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.width
import androidx.compose.material.DropdownMenu import androidx.compose.material.DropdownMenu
import androidx.compose.material.DropdownMenuItem import androidx.compose.material.DropdownMenuItem
import androidx.compose.material.MaterialTheme import androidx.compose.material.MaterialTheme
import androidx.compose.material.Text import androidx.compose.material.Text
import androidx.compose.runtime.Composable import androidx.compose.runtime.*
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextDecoration import androidx.compose.ui.text.style.TextDecoration
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import org.tasks.R import org.tasks.R
import org.tasks.compose.DisabledText import org.tasks.compose.DisabledText
import org.tasks.compose.TaskEditRow import org.tasks.compose.TaskEditRow
@ -112,7 +101,7 @@ fun Repeat(
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320)
@Composable @Composable
fun RepeatPreview() { fun RepeatPreview() {
AppCompatTheme { MdcTheme {
RepeatRow( RepeatRow(
recurrence = "Repeats weekly on Mon, Tue, Wed, Thu, Fri", recurrence = "Repeats weekly on Mon, Tue, Wed, Thu, Fri",
repeatAfterCompletion = false, repeatAfterCompletion = false,
@ -127,7 +116,7 @@ fun RepeatPreview() {
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320)
@Composable @Composable
fun NoRepeatPreview() { fun NoRepeatPreview() {
AppCompatTheme { MdcTheme {
RepeatRow( RepeatRow(
recurrence = null, recurrence = null,
repeatAfterCompletion = false, repeatAfterCompletion = false,

@ -13,7 +13,7 @@ import androidx.compose.ui.res.colorResource
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import com.todoroo.andlib.utility.DateUtilities import com.todoroo.andlib.utility.DateUtilities
import com.todoroo.astrid.ui.StartDateControlSet.Companion.getRelativeDateString import com.todoroo.astrid.ui.StartDateControlSet.Companion.getRelativeDateString
import org.tasks.R import org.tasks.R
@ -81,7 +81,7 @@ fun StartDate(
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320)
@Composable @Composable
fun NoStartDate() { fun NoStartDate() {
AppCompatTheme { MdcTheme {
StartDateRow( StartDateRow(
startDate = 0L, startDate = 0L,
selectedDay = StartDatePicker.NO_DAY, selectedDay = StartDatePicker.NO_DAY,
@ -98,7 +98,7 @@ fun NoStartDate() {
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320)
@Composable @Composable
fun FutureStartDate() { fun FutureStartDate() {
AppCompatTheme { MdcTheme {
StartDateRow( StartDateRow(
startDate = 1657080392000L, startDate = 1657080392000L,
selectedDay = StartDatePicker.DUE_DATE, selectedDay = StartDatePicker.DUE_DATE,
@ -115,7 +115,7 @@ fun FutureStartDate() {
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320)
@Composable @Composable
fun PastStartDate() { fun PastStartDate() {
AppCompatTheme { MdcTheme {
StartDateRow( StartDateRow(
startDate = 1657080392000L, startDate = 1657080392000L,
selectedDay = StartDatePicker.DUE_TIME, selectedDay = StartDatePicker.DUE_TIME,

@ -3,24 +3,14 @@ package org.tasks.compose.edit
import android.content.res.Configuration import android.content.res.Configuration
import androidx.compose.foundation.clickable import androidx.compose.foundation.clickable
import androidx.compose.foundation.focusable import androidx.compose.foundation.focusable
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.*
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.text.BasicTextField import androidx.compose.foundation.text.BasicTextField
import androidx.compose.foundation.text.KeyboardActions import androidx.compose.foundation.text.KeyboardActions
import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.foundation.text.KeyboardOptions
import androidx.compose.material.ContentAlpha import androidx.compose.material.ContentAlpha
import androidx.compose.material.MaterialTheme import androidx.compose.material.MaterialTheme
import androidx.compose.material.Text import androidx.compose.material.Text
import androidx.compose.runtime.Composable import androidx.compose.runtime.*
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.alpha import androidx.compose.ui.draw.alpha
@ -33,16 +23,11 @@ import androidx.compose.ui.text.input.KeyboardCapitalization
import androidx.compose.ui.text.style.TextDecoration import androidx.compose.ui.text.style.TextDecoration
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import com.todoroo.astrid.api.Filter import com.todoroo.astrid.api.Filter
import com.todoroo.astrid.api.GtasksFilter import com.todoroo.astrid.api.GtasksFilter
import com.todoroo.astrid.data.Task import com.todoroo.astrid.data.Task
import org.tasks.compose.CheckBox import org.tasks.compose.*
import org.tasks.compose.ClearButton
import org.tasks.compose.DisabledText
import org.tasks.compose.SubtaskChip
import org.tasks.compose.TaskEditIcon
import org.tasks.compose.TaskEditRow
import org.tasks.data.TaskContainer import org.tasks.data.TaskContainer
@Composable @Composable
@ -223,7 +208,7 @@ fun ExistingSubtaskRow(
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320)
@Composable @Composable
fun NoSubtasks() { fun NoSubtasks() {
AppCompatTheme { MdcTheme {
SubtaskRow( SubtaskRow(
originalFilter = null, originalFilter = null,
filter = null, filter = null,
@ -245,7 +230,7 @@ fun NoSubtasks() {
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320)
@Composable @Composable
fun SubtasksPreview() { fun SubtasksPreview() {
AppCompatTheme { MdcTheme {
SubtaskRow( SubtaskRow(
originalFilter = null, originalFilter = null,
filter = null, filter = null,

@ -7,7 +7,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import org.tasks.R import org.tasks.R
import org.tasks.compose.Chip import org.tasks.compose.Chip
import org.tasks.compose.ChipGroup import org.tasks.compose.ChipGroup
@ -57,7 +57,7 @@ fun TagsRow(
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320)
@Composable @Composable
fun NoTags() { fun NoTags() {
AppCompatTheme { MdcTheme {
TagsRow( TagsRow(
tags = emptyList(), tags = emptyList(),
colorProvider = { 0 }, colorProvider = { 0 },
@ -71,7 +71,7 @@ fun NoTags() {
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320)
@Composable @Composable
fun SingleTag() { fun SingleTag() {
AppCompatTheme { MdcTheme {
TagsRow( TagsRow(
tags = listOf( tags = listOf(
TagData("Home").apply { TagData("Home").apply {
@ -89,7 +89,7 @@ fun SingleTag() {
@Preview(showBackground = true, widthDp = 320) @Preview(showBackground = true, widthDp = 320)
@Composable @Composable
fun BunchOfTags() { fun BunchOfTags() {
AppCompatTheme { MdcTheme {
TagsRow( TagsRow(
tags = listOf( tags = listOf(
TagData("One"), TagData("One"),
@ -108,7 +108,7 @@ fun BunchOfTags() {
@Preview(showBackground = true, widthDp = 320) @Preview(showBackground = true, widthDp = 320)
@Composable @Composable
fun TagWithReallyLongName() { fun TagWithReallyLongName() {
AppCompatTheme { MdcTheme {
TagsRow( TagsRow(
tags = listOf( tags = listOf(
TagData("This is a tag with a really really long name").apply { TagData("This is a tag with a really really long name").apply {

@ -11,18 +11,13 @@ import androidx.compose.material.Text
import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.Pause import androidx.compose.material.icons.outlined.Pause
import androidx.compose.material.icons.outlined.PlayArrow import androidx.compose.material.icons.outlined.PlayArrow
import androidx.compose.runtime.Composable import androidx.compose.runtime.*
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.alpha import androidx.compose.ui.draw.alpha
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import kotlinx.coroutines.delay import kotlinx.coroutines.delay
import org.tasks.R import org.tasks.R
import org.tasks.compose.DisabledText import org.tasks.compose.DisabledText
@ -115,7 +110,7 @@ fun TimerRow(
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320)
@Composable @Composable
fun NoTimer() { fun NoTimer() {
AppCompatTheme { MdcTheme {
TimerRow(started = 0, estimated = 0, elapsed = 0, timerClicked = {}, onClick = {}) TimerRow(started = 0, estimated = 0, elapsed = 0, timerClicked = {}, onClick = {})
} }
} }
@ -124,7 +119,7 @@ fun NoTimer() {
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320)
@Composable @Composable
fun RunningTimer() { fun RunningTimer() {
AppCompatTheme { MdcTheme {
TimerRow(started = System.currentTimeMillis(), estimated = 900, elapsed = 400, timerClicked = {}, onClick = {}) TimerRow(started = System.currentTimeMillis(), estimated = 900, elapsed = 400, timerClicked = {}, onClick = {})
} }
} }

@ -18,7 +18,7 @@ import androidx.compose.ui.unit.dp
import androidx.lifecycle.viewmodel.compose.viewModel import androidx.lifecycle.viewmodel.compose.viewModel
import com.google.accompanist.permissions.ExperimentalPermissionsApi import com.google.accompanist.permissions.ExperimentalPermissionsApi
import com.google.accompanist.permissions.rememberMultiplePermissionsState import com.google.accompanist.permissions.rememberMultiplePermissionsState
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import org.tasks.R import org.tasks.R
import org.tasks.calendars.AndroidCalendar import org.tasks.calendars.AndroidCalendar
import org.tasks.calendars.CalendarPickerViewModel import org.tasks.calendars.CalendarPickerViewModel
@ -88,7 +88,7 @@ fun CalendarPickerList(
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320)
@Composable @Composable
fun CalendarPickerPreview() { fun CalendarPickerPreview() {
AppCompatTheme { MdcTheme {
CalendarPickerList( CalendarPickerList(
calendars = listOf( calendars = listOf(
AndroidCalendar("1", "Home", -765666), AndroidCalendar("1", "Home", -765666),
@ -105,7 +105,7 @@ fun CalendarPickerPreview() {
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, widthDp = 320)
@Composable @Composable
fun CalendarPickerNoneSelected() { fun CalendarPickerNoneSelected() {
AppCompatTheme { MdcTheme {
CalendarPickerList( CalendarPickerList(
calendars = listOf( calendars = listOf(
AndroidCalendar("1", "Home", -765666), AndroidCalendar("1", "Home", -765666),

@ -7,7 +7,7 @@ import android.widget.ListAdapter
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.ComposeView import androidx.compose.ui.platform.ComposeView
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.dialog.MaterialAlertDialogBuilder
class AlertDialogBuilder internal constructor(private val context: Context) { class AlertDialogBuilder internal constructor(private val context: Context) {
@ -79,7 +79,7 @@ class AlertDialogBuilder internal constructor(private val context: Context) {
builder.setView(ComposeView(context) builder.setView(ComposeView(context)
.apply { .apply {
setContent { setContent {
AppCompatTheme { MdcTheme {
content() content()
} }
} }

@ -5,7 +5,7 @@ import android.os.Bundle
import androidx.core.os.bundleOf import androidx.core.os.bundleOf
import androidx.fragment.app.DialogFragment import androidx.fragment.app.DialogFragment
import androidx.fragment.app.setFragmentResult import androidx.fragment.app.setFragmentResult
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import org.tasks.R import org.tasks.R
import org.tasks.dialogs.DialogBuilder import org.tasks.dialogs.DialogBuilder
@ -35,7 +35,7 @@ class AddAccountDialog : DialogFragment() {
.newDialog() .newDialog()
.setTitle(R.string.choose_synchronization_service) .setTitle(R.string.choose_synchronization_service)
.setContent { .setContent {
AppCompatTheme { MdcTheme {
org.tasks.compose.AddAccountDialog( org.tasks.compose.AddAccountDialog(
hasTasksAccount = hasTasksAccount, hasTasksAccount = hasTasksAccount,
selected = this::selected selected = this::selected

@ -12,7 +12,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.ComposeView import androidx.compose.ui.platform.ComposeView
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import com.todoroo.andlib.utility.DateUtilities import com.todoroo.andlib.utility.DateUtilities
import com.todoroo.andlib.utility.DateUtilities.now import com.todoroo.andlib.utility.DateUtilities.now
import com.todoroo.astrid.api.Filter import com.todoroo.astrid.api.Filter
@ -32,7 +32,7 @@ import org.tasks.time.DateTimeUtils.startOfDay
import org.tasks.ui.CheckBoxProvider import org.tasks.ui.CheckBoxProvider
import org.tasks.ui.ChipProvider import org.tasks.ui.ChipProvider
import java.time.format.FormatStyle import java.time.format.FormatStyle
import java.util.Locale import java.util.*
import kotlin.math.max import kotlin.math.max
import kotlin.math.roundToInt import kotlin.math.roundToInt
@ -224,7 +224,7 @@ class TaskViewHolder internal constructor(
private fun setupChips(filter: Filter, sortByStartDate: Boolean, sortByList: Boolean) { private fun setupChips(filter: Filter, sortByStartDate: Boolean, sortByList: Boolean) {
chipGroup.setContent { chipGroup.setContent {
AppCompatTheme { MdcTheme {
ChipGroup( ChipGroup(
modifier = Modifier.padding( modifier = Modifier.padding(
end = 16.dp, end = 16.dp,

@ -8,7 +8,7 @@ import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.Toast.LENGTH_SHORT import android.widget.Toast.LENGTH_SHORT
import androidx.compose.ui.platform.ComposeView import androidx.compose.ui.platform.ComposeView
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import com.todoroo.astrid.activity.TaskEditFragment import com.todoroo.astrid.activity.TaskEditFragment
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import org.tasks.R import org.tasks.R
@ -45,7 +45,7 @@ class CalendarControlSet : TaskEditControlFragment() {
override fun bind(parent: ViewGroup?): View = override fun bind(parent: ViewGroup?): View =
(parent as ComposeView).apply { (parent as ComposeView).apply {
setContent { setContent {
AppCompatTheme { MdcTheme {
CalendarRow( CalendarRow(
eventUri = viewModel.eventUri.collectAsStateLifecycleAware().value, eventUri = viewModel.eventUri.collectAsStateLifecycleAware().value,
selectedCalendar = viewModel.selectedCalendar.collectAsStateLifecycleAware().value?.let { selectedCalendar = viewModel.selectedCalendar.collectAsStateLifecycleAware().value?.let {

@ -10,7 +10,7 @@ import androidx.compose.ui.platform.ComposeView
import androidx.core.util.Pair import androidx.core.util.Pair
import com.google.accompanist.permissions.ExperimentalPermissionsApi import com.google.accompanist.permissions.ExperimentalPermissionsApi
import com.google.accompanist.permissions.rememberMultiplePermissionsState import com.google.accompanist.permissions.rememberMultiplePermissionsState
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import org.tasks.R import org.tasks.R
import org.tasks.Strings.isNullOrEmpty import org.tasks.Strings.isNullOrEmpty
@ -82,7 +82,7 @@ class LocationControlSet : TaskEditControlFragment() {
override fun bind(parent: ViewGroup?): View = override fun bind(parent: ViewGroup?): View =
(parent as ComposeView).apply { (parent as ComposeView).apply {
setContent { setContent {
AppCompatTheme { MdcTheme {
val hasPermissions = val hasPermissions =
rememberMultiplePermissionsState(permissions = backgroundPermissions()) rememberMultiplePermissionsState(permissions = backgroundPermissions())
.allPermissionsGranted .allPermissionsGranted

@ -8,7 +8,7 @@ import androidx.compose.runtime.livedata.observeAsState
import androidx.compose.ui.platform.ComposeView import androidx.compose.ui.platform.ComposeView
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.google.accompanist.themeadapter.appcompat.AppCompatTheme import com.google.android.material.composethemeadapter.MdcTheme
import com.todoroo.andlib.sql.Criterion import com.todoroo.andlib.sql.Criterion
import com.todoroo.andlib.sql.QueryTemplate import com.todoroo.andlib.sql.QueryTemplate
import com.todoroo.andlib.utility.DateUtilities.now import com.todoroo.andlib.utility.DateUtilities.now
@ -53,7 +53,7 @@ class SubtaskControlSet : TaskEditControlFragment() {
(parent as ComposeView).apply { (parent as ComposeView).apply {
listViewModel = ViewModelProvider(requireParentFragment())[TaskListViewModel::class.java] listViewModel = ViewModelProvider(requireParentFragment())[TaskListViewModel::class.java]
setContent { setContent {
AppCompatTheme { MdcTheme {
SubtaskRow( SubtaskRow(
originalFilter = viewModel.originalList, originalFilter = viewModel.originalList,
filter = viewModel.selectedList.collectAsStateLifecycleAware().value, filter = viewModel.selectedList.collectAsStateLifecycleAware().value,

@ -849,6 +849,16 @@
+| +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.10 -> 1.8.20 (*) +| +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.10 -> 1.8.20 (*)
+| +--- androidx.compose.runtime:runtime:1.4.2 (c) +| +--- androidx.compose.runtime:runtime:1.4.2 (c)
+| \--- androidx.compose.runtime:runtime-saveable:1.4.2 (c) +| \--- androidx.compose.runtime:runtime-saveable:1.4.2 (c)
++--- com.google.android.material:compose-theme-adapter:1.2.1
+| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.20 -> 1.8.20 (*)
+| +--- com.google.android.material:compose-theme-adapter-core:1.0.1
+| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.7.20 -> 1.8.20 (*)
+| | +--- androidx.core:core-ktx:1.9.0 (*)
+| | +--- androidx.appcompat:appcompat:1.5.1 -> 1.6.1 (*)
+| | +--- com.google.android.material:material:1.7.0 -> 1.8.0 (*)
+| | +--- androidx.compose.runtime:runtime:1.3.1 -> 1.4.2 (*)
+| | \--- androidx.compose.foundation:foundation:1.3.1 -> 1.4.2 (*)
+| \--- androidx.compose.material:material:1.3.1 -> 1.4.2 (*)
++--- androidx.activity:activity-compose:1.7.1 ++--- androidx.activity:activity-compose:1.7.1
+| +--- androidx.activity:activity-ktx:1.7.1 (*) +| +--- androidx.activity:activity-ktx:1.7.1 (*)
+| +--- androidx.compose.runtime:runtime:1.0.1 -> 1.4.2 (*) +| +--- androidx.compose.runtime:runtime:1.0.1 -> 1.4.2 (*)
@ -970,21 +980,12 @@
+| +--- androidx.compose.ui:ui-util:1.4.0 -> 1.4.2 (*) +| +--- androidx.compose.ui:ui-util:1.4.0 -> 1.4.2 (*)
+| +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 (*) +| +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 (*)
+| \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.10 -> 1.8.20 (*) +| \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.10 -> 1.8.20 (*)
++--- com.google.accompanist:accompanist-permissions:0.30.1 +\--- com.google.accompanist:accompanist-permissions:0.30.1
+| +--- androidx.activity:activity-compose:1.5.1 -> 1.7.1 (*) + +--- androidx.activity:activity-compose:1.5.1 -> 1.7.1 (*)
+| +--- androidx.compose.foundation:foundation:1.4.0 -> 1.4.2 (*) + +--- androidx.compose.foundation:foundation:1.4.0 -> 1.4.2 (*)
+| +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 (*) + +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 (*)
+| +--- io.github.aakira:napier:1.4.1 + +--- io.github.aakira:napier:1.4.1
+| | \--- io.github.aakira:napier-android:1.4.1 + | \--- io.github.aakira:napier-android:1.4.1
+| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.4.32 -> 1.8.20 (*) + | +--- org.jetbrains.kotlin:kotlin-stdlib:1.4.32 -> 1.8.20 (*)
+| | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32 -> 1.8.20 + | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32 -> 1.8.20
+| \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.10 -> 1.8.20 (*)
+\--- com.google.accompanist:accompanist-themeadapter-appcompat:0.30.1
+ +--- com.google.accompanist:accompanist-themeadapter-core:0.30.1
+ | +--- androidx.core:core-ktx:1.8.0 -> 1.9.0 (*)
+ | +--- androidx.compose.foundation:foundation:1.4.0 -> 1.4.2 (*)
+ | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.10 -> 1.8.20 (*)
+ | +--- androidx.appcompat:appcompat:1.4.2 -> 1.6.1 (*)
+ | \--- com.google.android.material:material:1.8.0 (*)
+ +--- androidx.compose.material:material:1.4.0 -> 1.4.2 (*)
+ \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.10 -> 1.8.20 (*) + \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.10 -> 1.8.20 (*)

@ -1004,6 +1004,16 @@
+| +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.10 -> 1.8.20 (*) +| +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.10 -> 1.8.20 (*)
+| +--- androidx.compose.runtime:runtime:1.4.2 (c) +| +--- androidx.compose.runtime:runtime:1.4.2 (c)
+| \--- androidx.compose.runtime:runtime-saveable:1.4.2 (c) +| \--- androidx.compose.runtime:runtime-saveable:1.4.2 (c)
++--- com.google.android.material:compose-theme-adapter:1.2.1
+| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.20 -> 1.8.20 (*)
+| +--- com.google.android.material:compose-theme-adapter-core:1.0.1
+| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.7.20 -> 1.8.20 (*)
+| | +--- androidx.core:core-ktx:1.9.0 (*)
+| | +--- androidx.appcompat:appcompat:1.5.1 -> 1.6.1 (*)
+| | +--- com.google.android.material:material:1.7.0 -> 1.8.0 (*)
+| | +--- androidx.compose.runtime:runtime:1.3.1 -> 1.4.2 (*)
+| | \--- androidx.compose.foundation:foundation:1.3.1 -> 1.4.2 (*)
+| \--- androidx.compose.material:material:1.3.1 -> 1.4.2 (*)
++--- androidx.activity:activity-compose:1.7.1 ++--- androidx.activity:activity-compose:1.7.1
+| +--- androidx.activity:activity-ktx:1.7.1 (*) +| +--- androidx.activity:activity-ktx:1.7.1 (*)
+| +--- androidx.compose.runtime:runtime:1.0.1 -> 1.4.2 (*) +| +--- androidx.compose.runtime:runtime:1.0.1 -> 1.4.2 (*)
@ -1125,21 +1135,12 @@
+| +--- androidx.compose.ui:ui-util:1.4.0 -> 1.4.2 (*) +| +--- androidx.compose.ui:ui-util:1.4.0 -> 1.4.2 (*)
+| +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 (*) +| +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 (*)
+| \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.10 -> 1.8.20 (*) +| \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.10 -> 1.8.20 (*)
++--- com.google.accompanist:accompanist-permissions:0.30.1 +\--- com.google.accompanist:accompanist-permissions:0.30.1
+| +--- androidx.activity:activity-compose:1.5.1 -> 1.7.1 (*) + +--- androidx.activity:activity-compose:1.5.1 -> 1.7.1 (*)
+| +--- androidx.compose.foundation:foundation:1.4.0 -> 1.4.2 (*) + +--- androidx.compose.foundation:foundation:1.4.0 -> 1.4.2 (*)
+| +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 (*) + +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 (*)
+| +--- io.github.aakira:napier:1.4.1 + +--- io.github.aakira:napier:1.4.1
+| | \--- io.github.aakira:napier-android:1.4.1 + | \--- io.github.aakira:napier-android:1.4.1
+| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.4.32 -> 1.8.20 (*) + | +--- org.jetbrains.kotlin:kotlin-stdlib:1.4.32 -> 1.8.20 (*)
+| | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32 -> 1.8.20 + | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32 -> 1.8.20
+| \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.10 -> 1.8.20 (*)
+\--- com.google.accompanist:accompanist-themeadapter-appcompat:0.30.1
+ +--- com.google.accompanist:accompanist-themeadapter-core:0.30.1
+ | +--- androidx.core:core-ktx:1.8.0 -> 1.9.0 (*)
+ | +--- androidx.compose.foundation:foundation:1.4.0 -> 1.4.2 (*)
+ | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.10 -> 1.8.20 (*)
+ | +--- androidx.appcompat:appcompat:1.4.2 -> 1.6.1 (*)
+ | \--- com.google.android.material:material:1.8.0 (*)
+ +--- androidx.compose.material:material:1.4.0 -> 1.4.2 (*)
+ \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.10 -> 1.8.20 (*) + \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.10 -> 1.8.20 (*)

@ -8,6 +8,7 @@ coil = "2.3.0"
colorpicker = "0.0.15" colorpicker = "0.0.15"
compose = "2023.04.01" compose = "2023.04.01"
compose-compiler = "1.4.6" compose-compiler = "1.4.6"
compose-theme-adapter = "1.2.1"
constraintlayout = "2.1.4" constraintlayout = "2.1.4"
dagger-hilt = "2.45" dagger-hilt = "2.45"
dashclock-api = "2.0.0" dashclock-api = "2.0.0"
@ -68,7 +69,6 @@ xpp3 = "1.1.6"
[libraries] [libraries]
accompanist-flowlayout = { module = "com.google.accompanist:accompanist-flowlayout", version.ref = "accompanist" } accompanist-flowlayout = { module = "com.google.accompanist:accompanist-flowlayout", version.ref = "accompanist" }
accompanist-permissions = { module = "com.google.accompanist:accompanist-permissions", version.ref = "accompanist" } accompanist-permissions = { module = "com.google.accompanist:accompanist-permissions", version.ref = "accompanist" }
accompanist-themeadapter = { module = "com.google.accompanist:accompanist-themeadapter-appcompat", version.ref = "accompanist" }
androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "activity-compose" } androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "activity-compose" }
androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "appcompat" } androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "appcompat" }
androidx-compose = { module = "androidx.compose:compose-bom", version.ref = "compose" } androidx-compose = { module = "androidx.compose:compose-bom", version.ref = "compose" }
@ -99,6 +99,7 @@ coil-svg = { module = "io.coil-kt:coil-svg", version.ref = "coil" }
coil-video = { module = "io.coil-kt:coil-video", version.ref = "coil" } coil-video = { module = "io.coil-kt:coil-video", version.ref = "coil" }
colorpicker = { module = "com.github.QuadFlask:colorpicker", version.ref = "colorpicker" } colorpicker = { module = "com.github.QuadFlask:colorpicker", version.ref = "colorpicker" }
compose-compiler = { module = "androidx.compose.compiler:compiler", version.ref = "compose-compiler" } compose-compiler = { module = "androidx.compose.compiler:compiler", version.ref = "compose-compiler" }
compose-theme-adapter = { module = "com.google.android.material:compose-theme-adapter", version.ref = "compose-theme-adapter" }
dagger-hilt = { module = "com.google.dagger:hilt-android", version.ref = "dagger-hilt" } dagger-hilt = { module = "com.google.dagger:hilt-android", version.ref = "dagger-hilt" }
dagger-hilt-compiler = { module = "com.google.dagger:hilt-compiler", version.ref = "dagger-hilt" } dagger-hilt-compiler = { module = "com.google.dagger:hilt-compiler", version.ref = "dagger-hilt" }
dagger-hilt-gradle = { module = "com.google.dagger:hilt-android-gradle-plugin", version.ref = "dagger-hilt" } dagger-hilt-gradle = { module = "com.google.dagger:hilt-android-gradle-plugin", version.ref = "dagger-hilt" }

Loading…
Cancel
Save