diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 95f0bbef0..67dccdecc 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -154,6 +154,7 @@ dependencies { implementation(projects.data) implementation(projects.kmp) implementation(projects.icons) + implementation(libs.androidx.navigation) implementation(libs.androidx.adaptive.navigation.android) coreLibraryDesugaring(libs.desugar.jdk.libs) implementation(libs.bitfire.dav4jvm) { diff --git a/app/src/main/java/com/todoroo/astrid/activity/MainActivity.kt b/app/src/main/java/com/todoroo/astrid/activity/MainActivity.kt index 340f2611a..a3c64194a 100644 --- a/app/src/main/java/com/todoroo/astrid/activity/MainActivity.kt +++ b/app/src/main/java/com/todoroo/astrid/activity/MainActivity.kt @@ -16,27 +16,9 @@ import androidx.activity.enableEdgeToEdge import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.view.ActionMode -import androidx.compose.foundation.layout.Arrangement -import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.PaddingValues -import androidx.compose.foundation.layout.WindowInsets -import androidx.compose.foundation.layout.asPaddingValues -import androidx.compose.foundation.layout.calculateEndPadding -import androidx.compose.foundation.layout.calculateStartPadding -import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.foundation.layout.ime -import androidx.compose.foundation.layout.imePadding -import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.size -import androidx.compose.foundation.layout.systemBars import androidx.compose.material3.DrawerValue -import androidx.compose.material3.Icon -import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.ModalDrawerSheet -import androidx.compose.material3.ModalNavigationDrawer import androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi import androidx.compose.material3.adaptive.currentWindowAdaptiveInfo -import androidx.compose.material3.adaptive.layout.ListDetailPaneScaffold import androidx.compose.material3.adaptive.layout.ListDetailPaneScaffoldRole import androidx.compose.material3.adaptive.layout.PaneAdaptedValue import androidx.compose.material3.adaptive.layout.ThreePaneScaffoldRole @@ -44,24 +26,15 @@ import androidx.compose.material3.adaptive.layout.calculatePaneScaffoldDirective import androidx.compose.material3.adaptive.navigation.rememberListDetailPaneScaffoldNavigator import androidx.compose.material3.rememberDrawerState import androidx.compose.runtime.LaunchedEffect -import androidx.compose.runtime.key -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope -import androidx.compose.ui.Alignment -import androidx.compose.ui.Modifier -import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.platform.LocalLayoutDirection import androidx.compose.ui.platform.LocalSoftwareKeyboardController -import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp import androidx.core.content.IntentCompat.getParcelableExtra -import androidx.fragment.compose.AndroidFragment -import androidx.fragment.compose.rememberFragmentState import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.lifecycleScope -import com.todoroo.astrid.activity.TaskEditFragment.Companion.EXTRA_TASK -import com.todoroo.astrid.activity.TaskListFragment.Companion.EXTRA_FILTER +import androidx.navigation.compose.NavHost +import androidx.navigation.compose.composable +import androidx.navigation.compose.rememberNavController import com.todoroo.astrid.adapter.SubheaderClickHandler import com.todoroo.astrid.dao.TaskDao import com.todoroo.astrid.service.TaskCreator @@ -70,43 +43,27 @@ import kotlinx.coroutines.launch import kotlinx.coroutines.runBlocking import org.tasks.BuildConfig import org.tasks.R -import org.tasks.TasksApplication -import org.tasks.activities.TagSettingsActivity import org.tasks.analytics.Firebase import org.tasks.billing.Inventory -import org.tasks.billing.PurchaseActivity -import org.tasks.caldav.BaseCaldavCalendarSettingsActivity.Companion.EXTRA_CALDAV_ACCOUNT -import org.tasks.compose.drawer.DrawerAction -import org.tasks.compose.drawer.DrawerItem -import org.tasks.compose.drawer.MenuSearchBar -import org.tasks.compose.drawer.TaskListDrawer +import org.tasks.compose.HomeDestination +import org.tasks.compose.home.HomeScreen import org.tasks.data.dao.AlarmDao import org.tasks.data.dao.CaldavDao import org.tasks.data.dao.LocationDao import org.tasks.data.dao.TagDataDao import org.tasks.data.entity.Place import org.tasks.data.entity.Task -import org.tasks.data.listSettingsClass import org.tasks.dialogs.NewFilterDialog import org.tasks.extensions.Context.nightMode -import org.tasks.extensions.Context.openUri import org.tasks.extensions.broughtToFront import org.tasks.extensions.flagsToString import org.tasks.extensions.isFromHistory import org.tasks.filters.Filter -import org.tasks.filters.FilterProvider import org.tasks.filters.FilterProvider.Companion.REQUEST_NEW_LIST import org.tasks.filters.FilterProvider.Companion.REQUEST_NEW_PLACE -import org.tasks.filters.FilterProvider.Companion.REQUEST_NEW_TAGS -import org.tasks.filters.NavigationDrawerSubheader import org.tasks.filters.PlaceFilter -import org.tasks.kmp.org.tasks.compose.TouchSlopMultiplier -import org.tasks.kmp.org.tasks.compose.rememberImeState -import org.tasks.location.LocationPickerActivity import org.tasks.location.LocationPickerActivity.Companion.EXTRA_PLACE import org.tasks.preferences.DefaultFilterProvider -import org.tasks.preferences.HelpAndFeedback -import org.tasks.preferences.MainPreferences import org.tasks.preferences.Preferences import org.tasks.themes.ColorProvider import org.tasks.themes.TasksTheme @@ -159,163 +116,30 @@ class MainActivity : AppCompatActivity() { theme = theme.themeBase.index, primary = theme.themeColor.primaryColor, ) { - val drawerState = rememberDrawerState( - initialValue = DrawerValue.Closed, - confirmStateChange = { - viewModel.setDrawerState(it == DrawerValue.Open) - true - } - ) - val state = viewModel.state.collectAsStateWithLifecycle().value - val currentWindowInsets = WindowInsets.systemBars.asPaddingValues() - val windowInsets = remember { mutableStateOf(currentWindowInsets) } - val keyboard = LocalSoftwareKeyboardController.current - - LaunchedEffect(currentWindowInsets) { - Timber.d("insets: $currentWindowInsets") - if (currentWindowInsets.calculateTopPadding() != 0.dp || currentWindowInsets.calculateBottomPadding() != 0.dp) { - windowInsets.value = currentWindowInsets - } - } - val navigator = rememberListDetailPaneScaffoldNavigator( - calculatePaneScaffoldDirective( - windowAdaptiveInfo = currentWindowAdaptiveInfo(), - ).copy( - horizontalPartitionSpacerSize = 0.dp, - verticalPartitionSpacerSize = 0.dp, - ) - ) - val isListVisible = - navigator.scaffoldValue[ListDetailPaneScaffoldRole.List] == PaneAdaptedValue.Expanded - val isDetailVisible = - navigator.scaffoldValue[ListDetailPaneScaffoldRole.Detail] == PaneAdaptedValue.Expanded - - TouchSlopMultiplier { - ModalNavigationDrawer( - drawerState = drawerState, - gesturesEnabled = isListVisible, - drawerContent = { - ModalDrawerSheet( - drawerState = drawerState, - windowInsets = WindowInsets(0, 0, 0, 0), - ) { - val context = LocalContext.current - val scope = rememberCoroutineScope() - TaskListDrawer( - arrangement = if (state.menuQuery.isBlank()) Arrangement.Top else Arrangement.Bottom, - filters = if (state.menuQuery.isNotEmpty()) state.searchItems else state.drawerItems, - onClick = { - when (it) { - is DrawerItem.Filter -> { - viewModel.setFilter(it.filter) - scope.launch { - drawerState.close() - keyboard?.hide() - } - } - - is DrawerItem.Header -> { - viewModel.toggleCollapsed(it.header) - } - } - }, - onAddClick = { - scope.launch { - drawerState.close() - when (it.header.addIntentRc) { - FilterProvider.REQUEST_NEW_FILTER -> - NewFilterDialog.newFilterDialog().show( - supportFragmentManager, - SubheaderClickHandler.FRAG_TAG_NEW_FILTER - ) - - REQUEST_NEW_PLACE -> - startActivityForResult( - Intent( - this@MainActivity, - LocationPickerActivity::class.java - ), - REQUEST_NEW_PLACE - ) - - REQUEST_NEW_TAGS -> - startActivityForResult( - Intent( - this@MainActivity, - TagSettingsActivity::class.java - ), - REQUEST_NEW_LIST - ) - - REQUEST_NEW_LIST -> { - val account = - caldavDao.getAccount(it.header.id.toLong()) - ?: return@launch - when (it.header.subheaderType) { - NavigationDrawerSubheader.SubheaderType.CALDAV, - NavigationDrawerSubheader.SubheaderType.TASKS, - -> - startActivityForResult( - Intent( - this@MainActivity, - account.listSettingsClass() - ) - .putExtra( - EXTRA_CALDAV_ACCOUNT, - account - ), - REQUEST_NEW_LIST - ) - - else -> {} - } - } - - else -> Timber.e("Unhandled request code: $it") - } - } - }, - onErrorClick = { - context.startActivity(Intent(context, MainPreferences::class.java)) - }, - searchBar = { - MenuSearchBar( - begForMoney = state.begForMoney, - onDrawerAction = { - scope.launch { - drawerState.close() - when (it) { - DrawerAction.PURCHASE -> - if (TasksApplication.IS_GENERIC) - context.openUri(R.string.url_donate) - else - context.startActivity( - Intent( - context, - PurchaseActivity::class.java - ) - ) - - DrawerAction.HELP_AND_FEEDBACK -> - context.startActivity( - Intent( - context, - HelpAndFeedback::class.java - ) - ) - } - } - }, - query = state.menuQuery, - onQueryChange = { viewModel.queryMenu(it) }, - ) - }, - ) - } - } - ) { + val navController = rememberNavController() + NavHost( + navController = navController, + startDestination = HomeDestination, + ) { + composable { val scope = rememberCoroutineScope() - + val state = viewModel.state.collectAsStateWithLifecycle().value + val drawerState = rememberDrawerState( + initialValue = DrawerValue.Closed, + confirmStateChange = { + viewModel.setDrawerState(it == DrawerValue.Open) + true + } + ) + val navigator = rememberListDetailPaneScaffoldNavigator( + calculatePaneScaffoldDirective( + windowAdaptiveInfo = currentWindowAdaptiveInfo(), + ).copy( + horizontalPartitionSpacerSize = 0.dp, + verticalPartitionSpacerSize = 0.dp, + ) + ) + val keyboard = LocalSoftwareKeyboardController.current LaunchedEffect(state.task) { if (state.task == null) { if (intent.finishAffinity) { @@ -332,6 +156,8 @@ class MainActivity : AppCompatActivity() { } } + val isDetailVisible = + navigator.scaffoldValue[ListDetailPaneScaffoldRole.Detail] == PaneAdaptedValue.Expanded BackHandler(enabled = state.task == null) { Timber.d("onBackPressed") if (intent.finishAffinity) { @@ -357,80 +183,21 @@ class MainActivity : AppCompatActivity() { } drawerState.close() } - ListDetailPaneScaffold( - directive = navigator.scaffoldDirective, - value = navigator.scaffoldValue, - listPane = { - key (state.filter) { - val fragment = remember { mutableStateOf(null) } - val keyboardOpen = rememberImeState() - AndroidFragment( - fragmentState = rememberFragmentState(), - arguments = remember(state.filter) { - Bundle() - .apply { putParcelable(EXTRA_FILTER, state.filter) } - }, - modifier = Modifier - .fillMaxSize() - .imePadding(), - ) { tlf -> - fragment.value = tlf - tlf.applyInsets(windowInsets.value) - tlf.setNavigationClickListener { - scope.launch { drawerState.open() } - } - } - LaunchedEffect(fragment, windowInsets, keyboardOpen.value) { - fragment.value?.applyInsets( - if (keyboardOpen.value) { - PaddingValues( - top = windowInsets.value.calculateTopPadding(), - ) - } else { - windowInsets.value - } - ) - } - } + HomeScreen( + state = state, + drawerState = drawerState, + navigator = navigator, + newList = { + startActivityForResult( + Intent(this@MainActivity, it), + REQUEST_NEW_LIST + ) }, - detailPane = { - val direction = LocalLayoutDirection.current - Box( - modifier = Modifier - .fillMaxSize() - .padding( - top = windowInsets.value.calculateTopPadding(), - start = windowInsets.value.calculateStartPadding(direction), - end = windowInsets.value.calculateEndPadding(direction), - bottom = if (rememberImeState().value) - WindowInsets.ime.asPaddingValues().calculateBottomPadding() - else - windowInsets.value.calculateBottomPadding() - ), - contentAlignment = Alignment.Center, - ) { - if (state.task == null) { - if (isListVisible && isDetailVisible) { - Icon( - painter = painterResource(org.tasks.kmp.R.drawable.ic_launcher_no_shadow_foreground), - contentDescription = null, - modifier = Modifier.size(192.dp), - tint = MaterialTheme.colorScheme.onSurfaceVariant, - ) - } - } else { - key(state.task) { - AndroidFragment( - fragmentState = rememberFragmentState(), - arguments = remember(state.task) { - Bundle() - .apply { putParcelable(EXTRA_TASK, state.task) } - }, - modifier = Modifier.fillMaxSize(), - ) - } - } - } + showNewFilterDialog = { + NewFilterDialog.newFilterDialog().show( + supportFragmentManager, + SubheaderClickHandler.FRAG_TAG_NEW_FILTER + ) }, ) } diff --git a/app/src/main/java/com/todoroo/astrid/activity/MainActivityViewModel.kt b/app/src/main/java/com/todoroo/astrid/activity/MainActivityViewModel.kt index 735f48ed5..8786a5e5a 100644 --- a/app/src/main/java/com/todoroo/astrid/activity/MainActivityViewModel.kt +++ b/app/src/main/java/com/todoroo/astrid/activity/MainActivityViewModel.kt @@ -232,4 +232,6 @@ class MainActivityViewModel @Inject constructor( _state.update { it.copy(menuQuery = query) } updateFilters() } + + suspend fun getAccount(id: Long) = caldavDao.getAccount(id) } diff --git a/app/src/main/java/org/tasks/compose/Destinations.kt b/app/src/main/java/org/tasks/compose/Destinations.kt new file mode 100644 index 000000000..a33d5f661 --- /dev/null +++ b/app/src/main/java/org/tasks/compose/Destinations.kt @@ -0,0 +1,6 @@ +package org.tasks.compose + +import kotlinx.serialization.Serializable + +@Serializable +object HomeDestination diff --git a/app/src/main/java/org/tasks/compose/home/HomeScreen.kt b/app/src/main/java/org/tasks/compose/home/HomeScreen.kt new file mode 100644 index 000000000..0edf88380 --- /dev/null +++ b/app/src/main/java/org/tasks/compose/home/HomeScreen.kt @@ -0,0 +1,273 @@ +package org.tasks.compose.home + +import android.app.Activity +import android.content.Intent +import android.os.Bundle +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.WindowInsets +import androidx.compose.foundation.layout.asPaddingValues +import androidx.compose.foundation.layout.calculateEndPadding +import androidx.compose.foundation.layout.calculateStartPadding +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.ime +import androidx.compose.foundation.layout.imePadding +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.systemBars +import androidx.compose.material3.DrawerState +import androidx.compose.material3.Icon +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.ModalDrawerSheet +import androidx.compose.material3.ModalNavigationDrawer +import androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi +import androidx.compose.material3.adaptive.layout.ListDetailPaneScaffold +import androidx.compose.material3.adaptive.layout.ListDetailPaneScaffoldRole +import androidx.compose.material3.adaptive.layout.PaneAdaptedValue +import androidx.compose.material3.adaptive.navigation.ThreePaneScaffoldNavigator +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.key +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.platform.LocalLayoutDirection +import androidx.compose.ui.platform.LocalSoftwareKeyboardController +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.unit.dp +import androidx.fragment.compose.AndroidFragment +import androidx.fragment.compose.rememberFragmentState +import androidx.hilt.navigation.compose.hiltViewModel +import com.todoroo.astrid.activity.MainActivityViewModel +import com.todoroo.astrid.activity.TaskEditFragment +import com.todoroo.astrid.activity.TaskEditFragment.Companion.EXTRA_TASK +import com.todoroo.astrid.activity.TaskListFragment +import com.todoroo.astrid.activity.TaskListFragment.Companion.EXTRA_FILTER +import kotlinx.coroutines.launch +import org.tasks.R +import org.tasks.TasksApplication +import org.tasks.activities.TagSettingsActivity +import org.tasks.billing.PurchaseActivity +import org.tasks.compose.drawer.DrawerAction +import org.tasks.compose.drawer.DrawerItem +import org.tasks.compose.drawer.MenuSearchBar +import org.tasks.compose.drawer.TaskListDrawer +import org.tasks.data.listSettingsClass +import org.tasks.extensions.Context.openUri +import org.tasks.filters.FilterProvider +import org.tasks.filters.FilterProvider.Companion.REQUEST_NEW_LIST +import org.tasks.filters.FilterProvider.Companion.REQUEST_NEW_PLACE +import org.tasks.filters.FilterProvider.Companion.REQUEST_NEW_TAGS +import org.tasks.filters.NavigationDrawerSubheader +import org.tasks.kmp.org.tasks.compose.TouchSlopMultiplier +import org.tasks.kmp.org.tasks.compose.rememberImeState +import org.tasks.location.LocationPickerActivity +import org.tasks.preferences.HelpAndFeedback +import org.tasks.preferences.MainPreferences +import timber.log.Timber + +@OptIn(ExperimentalMaterial3AdaptiveApi::class) +@Composable +fun HomeScreen( + viewModel: MainActivityViewModel = hiltViewModel(), + newList: suspend (Class) -> Unit, + state: MainActivityViewModel.State, + drawerState: DrawerState, + showNewFilterDialog: () -> Unit, + navigator: ThreePaneScaffoldNavigator, +) { + val currentWindowInsets = WindowInsets.systemBars.asPaddingValues() + val windowInsets = remember { mutableStateOf(currentWindowInsets) } + val keyboard = LocalSoftwareKeyboardController.current + + LaunchedEffect(currentWindowInsets) { + Timber.d("insets: $currentWindowInsets") + if (currentWindowInsets.calculateTopPadding() != 0.dp || currentWindowInsets.calculateBottomPadding() != 0.dp) { + windowInsets.value = currentWindowInsets + } + } + val isListVisible = + navigator.scaffoldValue[ListDetailPaneScaffoldRole.List] == PaneAdaptedValue.Expanded + val isDetailVisible = + navigator.scaffoldValue[ListDetailPaneScaffoldRole.Detail] == PaneAdaptedValue.Expanded + + TouchSlopMultiplier { + ModalNavigationDrawer( + drawerState = drawerState, + gesturesEnabled = isListVisible, + drawerContent = { + ModalDrawerSheet( + drawerState = drawerState, + windowInsets = WindowInsets(0, 0, 0, 0), + ) { + val context = LocalContext.current + val scope = rememberCoroutineScope() + TaskListDrawer( + arrangement = if (state.menuQuery.isBlank()) Arrangement.Top else Arrangement.Bottom, + filters = if (state.menuQuery.isNotEmpty()) state.searchItems else state.drawerItems, + onClick = { + when (it) { + is DrawerItem.Filter -> { + viewModel.setFilter(it.filter) + scope.launch { + drawerState.close() + keyboard?.hide() + } + } + + is DrawerItem.Header -> { + viewModel.toggleCollapsed(it.header) + } + } + }, + onAddClick = { + scope.launch { + drawerState.close() + when (it.header.addIntentRc) { + FilterProvider.REQUEST_NEW_FILTER -> + showNewFilterDialog() + + REQUEST_NEW_PLACE -> + newList(LocationPickerActivity::class.java) + + REQUEST_NEW_TAGS -> + newList(TagSettingsActivity::class.java) + + REQUEST_NEW_LIST -> + when (it.header.subheaderType) { + NavigationDrawerSubheader.SubheaderType.CALDAV, + NavigationDrawerSubheader.SubheaderType.TASKS -> + viewModel + .getAccount(it.header.id.toLong()) + ?.let { newList(it.listSettingsClass()) } + + else -> {} + } + + else -> Timber.e("Unhandled request code: $it") + } + } + }, + onErrorClick = { + context.startActivity(Intent(context, MainPreferences::class.java)) + }, + searchBar = { + MenuSearchBar( + begForMoney = state.begForMoney, + onDrawerAction = { + scope.launch { + drawerState.close() + when (it) { + DrawerAction.PURCHASE -> + if (TasksApplication.IS_GENERIC) + context.openUri(R.string.url_donate) + else + context.startActivity( + Intent( + context, + PurchaseActivity::class.java + ) + ) + + DrawerAction.HELP_AND_FEEDBACK -> + context.startActivity( + Intent( + context, + HelpAndFeedback::class.java + ) + ) + } + } + }, + query = state.menuQuery, + onQueryChange = { viewModel.queryMenu(it) }, + ) + }, + ) + } + } + ) { + val scope = rememberCoroutineScope() + ListDetailPaneScaffold( + directive = navigator.scaffoldDirective, + value = navigator.scaffoldValue, + listPane = { + key (state.filter) { + val fragment = remember { mutableStateOf(null) } + val keyboardOpen = rememberImeState() + AndroidFragment( + fragmentState = rememberFragmentState(), + arguments = remember(state.filter) { + Bundle() + .apply { putParcelable(EXTRA_FILTER, state.filter) } + }, + modifier = Modifier + .fillMaxSize() + .imePadding(), + ) { tlf -> + fragment.value = tlf + tlf.applyInsets(windowInsets.value) + tlf.setNavigationClickListener { + scope.launch { drawerState.open() } + } + } + LaunchedEffect(fragment, windowInsets, keyboardOpen.value) { + fragment.value?.applyInsets( + if (keyboardOpen.value) { + PaddingValues( + top = windowInsets.value.calculateTopPadding(), + ) + } else { + windowInsets.value + } + ) + } + } + }, + detailPane = { + val direction = LocalLayoutDirection.current + Box( + modifier = Modifier + .fillMaxSize() + .padding( + top = windowInsets.value.calculateTopPadding(), + start = windowInsets.value.calculateStartPadding(direction), + end = windowInsets.value.calculateEndPadding(direction), + bottom = if (rememberImeState().value) + WindowInsets.ime.asPaddingValues().calculateBottomPadding() + else + windowInsets.value.calculateBottomPadding() + ), + contentAlignment = Alignment.Center, + ) { + if (state.task == null) { + if (isListVisible && isDetailVisible) { + Icon( + painter = painterResource(org.tasks.kmp.R.drawable.ic_launcher_no_shadow_foreground), + contentDescription = null, + modifier = Modifier.size(192.dp), + tint = MaterialTheme.colorScheme.onSurfaceVariant, + ) + } + } else { + key(state.task) { + AndroidFragment( + fragmentState = rememberFragmentState(), + arguments = remember(state.task) { + Bundle() + .apply { putParcelable(EXTRA_TASK, state.task) } + }, + modifier = Modifier.fillMaxSize(), + ) + } + } + } + }, + ) + } + } +} diff --git a/deps_fdroid.txt b/deps_fdroid.txt index 42be2f42b..d05f257b9 100644 --- a/deps_fdroid.txt +++ b/deps_fdroid.txt @@ -68,7 +68,6 @@ +| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.10.1 (*) +| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 -> 2.1.20 (*) +| +--- androidx.lifecycle:lifecycle-common:2.8.7 (c) -+| +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c) +| +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c) +| +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c) @@ -80,7 +79,8 @@ +| +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c) +| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c) +| +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c) -+| \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| \--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) ++--- androidx.databinding:databinding-adapters:8.9.1 +| +--- androidx.databinding:databinding-runtime:8.9.1 (*) +| \--- androidx.databinding:databinding-common:8.9.1 @@ -120,7 +120,6 @@ +| | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (*) +| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.20 (*) +| | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c) -+| | | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| | | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c) +| | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c) +| | | +--- androidx.lifecycle:lifecycle-livedata-ktx:2.8.7 (c) @@ -132,12 +131,12 @@ +| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c) +| | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c) +| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c) -+| | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | | \--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 +| | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (*) +| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.20 (*) +| | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c) -+| | | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| | | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c) +| | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c) +| | | +--- androidx.lifecycle:lifecycle-livedata-ktx:2.8.7 (c) @@ -149,11 +148,11 @@ +| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c) +| | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c) +| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c) -+| | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | | \--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.20 (*) +| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 -> 1.10.1 (*) +| | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c) -+| | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-livedata-ktx:2.8.7 (c) @@ -165,14 +164,14 @@ +| | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c) -+| | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | \--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| +--- androidx.lifecycle:lifecycle-process:2.6.1 -> 2.8.7 +| | +--- androidx.annotation:annotation:1.2.0 -> 1.9.1 (*) +| | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (*) +| | +--- androidx.startup:startup-runtime:1.1.1 (*) +| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.20 (*) +| | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c) -+| | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c) @@ -184,12 +183,12 @@ +| | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c) -+| | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | \--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| +--- androidx.lifecycle:lifecycle-service:2.6.1 -> 2.8.7 +| | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (*) +| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.20 (*) +| | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c) -+| | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c) @@ -201,7 +200,8 @@ +| | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c) -+| | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | \--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| \--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.8.7 +| \--- androidx.lifecycle:lifecycle-viewmodel-android:2.8.7 +| +--- androidx.annotation:annotation:1.8.0 -> 1.9.1 (*) @@ -209,7 +209,6 @@ +| +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 -> 1.10.1 (*) +| +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 -> 1.10.1 (*) +| +--- androidx.lifecycle:lifecycle-common:2.8.7 (c) -+| +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c) +| +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c) +| +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c) @@ -221,7 +220,8 @@ +| +--- androidx.lifecycle:lifecycle-service:2.8.7 (c) +| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c) +| +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c) -+| \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| \--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) ++--- org.jetbrains.kotlin:kotlin-parcelize-runtime:2.1.20 +| +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.20 (*) +| \--- org.jetbrains.kotlin:kotlin-android-extensions-runtime:2.1.20 @@ -387,7 +387,6 @@ +| | | | | | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.20 (*) +| | | | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 -> 1.10.1 (*) +| | | | | | | | | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c) -+| | | | | | | | | | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| | | | | | | | | | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c) +| | | | | | | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c) +| | | | | | | | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c) @@ -399,7 +398,8 @@ +| | | | | | | | | | +--- androidx.lifecycle:lifecycle-service:2.8.7 (c) +| | | | | | | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c) +| | | | | | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c) -+| | | | | | | | | | \--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c) ++| | | | | | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c) ++| | | | | | | | | | \--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| | | | | | | | | +--- androidx.profileinstaller:profileinstaller:1.4.0 (*) +| | | | | | | | | +--- androidx.savedstate:savedstate:1.2.1 (*) +| | | | | | | | | +--- androidx.tracing:tracing:1.0.0 -> 1.2.0 (*) @@ -414,7 +414,6 @@ +| | | | | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.20 (*) +| | | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 -> 1.10.1 (*) +| | | | | | | | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c) -+| | | | | | | | | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| | | | | | | | | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c) +| | | | | | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c) +| | | | | | | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c) @@ -426,7 +425,8 @@ +| | | | | | | | | +--- androidx.lifecycle:lifecycle-service:2.8.7 (c) +| | | | | | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c) +| | | | | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c) -+| | | | | | | | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | | | | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | | | | | | | | \--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| | | | | | | | +--- androidx.savedstate:savedstate-ktx:1.2.1 +| | | | | | | | | +--- androidx.savedstate:savedstate:1.2.1 (*) +| | | | | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.10 -> 2.1.20 (*) @@ -546,7 +546,6 @@ +| | | | | | | | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (*) +| | | | | | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.7 (*) +| | | | | | | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c) -+| | | | | | | | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| | | | | | | | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c) +| | | | | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c) +| | | | | | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c) @@ -558,7 +557,8 @@ +| | | | | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c) +| | | | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c) +| | | | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c) -+| | | | | | | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | | | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | | | | | | | \--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| | | | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.8.7 (*) +| | | | | | | +--- androidx.profileinstaller:profileinstaller:1.3.1 -> 1.4.0 (*) +| | | | | | | +--- androidx.savedstate:savedstate-ktx:1.2.1 (*) @@ -873,7 +873,6 @@ +| | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (*) +| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.20 (*) +| | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c) -+| | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c) @@ -885,7 +884,8 @@ +| | +--- androidx.lifecycle:lifecycle-service:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c) -+| | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | \--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| +--- co.touchlab:kermit:2.0.5 (*) +| +--- org.jetbrains.kotlinx:kotlinx-datetime:0.6.2 (*) +| +--- org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8 @@ -969,6 +969,59 @@ +| | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.0.0 -> 2.1.20 (*) +| | \--- androidx.startup:startup-runtime:1.1.1 (*) +| \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.0 -> 2.1.20 (*) +++--- androidx.navigation:navigation-compose:2.8.9 ++| +--- androidx.activity:activity-compose:1.8.0 -> 1.10.1 (*) ++| +--- androidx.compose.animation:animation:1.7.2 -> 1.7.8 (*) ++| +--- androidx.compose.foundation:foundation-layout:1.7.2 -> 1.7.8 (*) ++| +--- androidx.compose.runtime:runtime:1.7.2 -> 1.7.8 (*) ++| +--- androidx.compose.runtime:runtime-saveable:1.7.2 -> 1.7.8 (*) ++| +--- androidx.compose.ui:ui:1.7.2 -> 1.7.8 (*) ++| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.6.2 -> 2.8.7 (*) ++| +--- androidx.navigation:navigation-runtime-ktx:2.8.9 ++| | +--- androidx.navigation:navigation-common-ktx:2.8.9 ++| | | +--- androidx.navigation:navigation-common:2.8.9 ++| | | | +--- androidx.annotation:annotation:1.8.1 -> 1.9.1 (*) ++| | | | +--- androidx.collection:collection-ktx:1.4.2 -> 1.4.4 (*) ++| | | | +--- androidx.core:core-ktx:1.1.0 -> 1.13.1 (*) ++| | | | +--- androidx.lifecycle:lifecycle-common:2.6.2 -> 2.8.7 (*) ++| | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.2 -> 2.8.7 (*) ++| | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2 -> 2.8.7 (*) ++| | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.2 -> 2.8.7 (*) ++| | | | +--- androidx.profileinstaller:profileinstaller:1.3.1 -> 1.4.0 (*) ++| | | | +--- androidx.savedstate:savedstate-ktx:1.2.1 (*) ++| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.20 (*) ++| | | | +--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.6.3 -> 1.8.1 (*) ++| | | | +--- androidx.navigation:navigation-common-ktx:2.8.9 (c) ++| | | | +--- androidx.navigation:navigation-compose:2.8.9 (c) ++| | | | +--- androidx.navigation:navigation-runtime:2.8.9 (c) ++| | | | \--- androidx.navigation:navigation-runtime-ktx:2.8.9 (c) ++| | | +--- androidx.navigation:navigation-common:2.8.9 (c) ++| | | +--- androidx.navigation:navigation-compose:2.8.9 (c) ++| | | +--- androidx.navigation:navigation-runtime:2.8.9 (c) ++| | | \--- androidx.navigation:navigation-runtime-ktx:2.8.9 (c) ++| | +--- androidx.navigation:navigation-runtime:2.8.9 ++| | | +--- androidx.activity:activity-ktx:1.7.1 -> 1.10.1 (*) ++| | | +--- androidx.annotation:annotation-experimental:1.4.1 (*) ++| | | +--- androidx.collection:collection:1.4.2 -> 1.4.4 (*) ++| | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.2 -> 2.8.7 (*) ++| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2 -> 2.8.7 (*) ++| | | +--- androidx.navigation:navigation-common:2.8.9 (*) ++| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.20 (*) ++| | | +--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.6.3 -> 1.8.1 (*) ++| | | +--- androidx.navigation:navigation-common:2.8.9 (c) ++| | | +--- androidx.navigation:navigation-common-ktx:2.8.9 (c) ++| | | +--- androidx.navigation:navigation-compose:2.8.9 (c) ++| | | \--- androidx.navigation:navigation-runtime-ktx:2.8.9 (c) ++| | +--- androidx.navigation:navigation-common-ktx:2.8.9 (c) ++| | +--- androidx.navigation:navigation-compose:2.8.9 (c) ++| | +--- androidx.navigation:navigation-runtime:2.8.9 (c) ++| | \--- androidx.navigation:navigation-common:2.8.9 (c) ++| +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.20 (*) ++| +--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.6.3 -> 1.8.1 (*) ++| +--- androidx.navigation:navigation-runtime-ktx:2.8.9 (c) ++| +--- androidx.navigation:navigation-common-ktx:2.8.9 (c) ++| +--- androidx.navigation:navigation-runtime:2.8.9 (c) ++| \--- androidx.navigation:navigation-common:2.8.9 (c) ++--- androidx.compose.material3.adaptive:adaptive-navigation-android:1.1.0 +| +--- androidx.activity:activity-compose:1.8.2 -> 1.10.1 (*) +| +--- androidx.annotation:annotation:1.8.1 -> 1.9.1 (*) @@ -1077,7 +1130,6 @@ +| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.20 (*) +| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 -> 1.10.1 (*) +| | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c) -+| | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c) @@ -1089,7 +1141,8 @@ +| | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c) -+| | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | \--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.1 -> 2.8.7 (*) +| +--- com.google.android.material:material:1.6.0 -> 1.12.0 +| | +--- org.jetbrains.kotlin:kotlin-bom:1.8.22 @@ -1183,39 +1236,11 @@ +| +--- androidx.compose.ui:ui:1.0.1 -> 1.7.8 (*) +| +--- androidx.hilt:hilt-navigation:1.2.0 +| | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*) -+| | +--- androidx.navigation:navigation-runtime:2.5.1 -+| | | +--- androidx.activity:activity-ktx:1.5.1 -> 1.10.1 (*) -+| | | +--- androidx.annotation:annotation-experimental:1.1.0 -> 1.4.1 (*) -+| | | +--- androidx.collection:collection:1.0.0 -> 1.4.4 (*) -+| | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.5.1 -> 2.8.7 (*) -+| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1 -> 2.8.7 (*) -+| | | +--- androidx.navigation:navigation-common:2.5.1 -+| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*) -+| | | | +--- androidx.collection:collection-ktx:1.1.0 -> 1.4.4 (*) -+| | | | +--- androidx.core:core-ktx:1.1.0 -> 1.13.1 (*) -+| | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.5.1 -> 2.8.7 (*) -+| | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1 -> 2.8.7 (*) -+| | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.1 -> 2.8.7 (*) -+| | | | +--- androidx.savedstate:savedstate-ktx:1.2.0 -> 1.2.1 (*) -+| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 2.1.20 (*) -+| | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 2.1.20 (*) ++| | +--- androidx.navigation:navigation-runtime:2.5.1 -> 2.8.9 (*) +| | +--- com.google.dagger:hilt-android:2.49 -> 2.56.2 (*) +| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.20 (*) +| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.6.1 -> 2.8.7 (*) -+| +--- androidx.navigation:navigation-compose:2.5.1 -+| | +--- androidx.activity:activity-compose:1.5.1 -> 1.10.1 (*) -+| | +--- androidx.compose.animation:animation:1.0.1 -> 1.7.8 (*) -+| | +--- androidx.compose.foundation:foundation-layout:1.0.1 -> 1.7.8 (*) -+| | +--- androidx.compose.runtime:runtime:1.0.1 -> 1.7.8 (*) -+| | +--- androidx.compose.runtime:runtime-saveable:1.0.1 -> 1.7.8 (*) -+| | +--- androidx.compose.ui:ui:1.0.1 -> 1.7.8 (*) -+| | +--- androidx.lifecycle:lifecycle-common-java8:2.5.1 -> 2.8.7 (*) -+| | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.5.1 -> 2.8.7 (*) -+| | +--- androidx.navigation:navigation-runtime-ktx:2.5.1 -+| | | +--- androidx.navigation:navigation-common-ktx:2.5.1 -+| | | | \--- androidx.navigation:navigation-common:2.5.1 (*) -+| | | \--- androidx.navigation:navigation-runtime:2.5.1 (*) -+| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 2.1.20 (*) ++| +--- androidx.navigation:navigation-compose:2.5.1 -> 2.8.9 (*) +| \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.20 (*) ++--- androidx.hilt:hilt-work:1.2.0 +| +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*) @@ -1401,12 +1426,12 @@ +| +--- androidx.compose.material3.adaptive:adaptive-navigation-android:1.1.0 (c) +| +--- androidx.compose.runtime:runtime:1.7.8 (c) +| +--- androidx.compose.runtime:runtime-livedata:1.7.8 (c) ++| +--- androidx.compose.runtime:runtime-saveable:1.7.8 (c) +| +--- androidx.compose.ui:ui:1.7.8 (c) +| +--- androidx.compose.ui:ui-geometry:1.7.8 (c) +| +--- androidx.compose.ui:ui-tooling-preview:1.7.8 (c) +| +--- androidx.compose.ui:ui-tooling-preview-android:1.7.8 (c) +| +--- androidx.compose.ui:ui-util:1.7.8 (c) -+| +--- androidx.compose.runtime:runtime-saveable:1.7.8 (c) +| +--- androidx.compose.material3.adaptive:adaptive-android:1.1.0 (c) +| +--- androidx.compose.animation:animation-android:1.7.8 (c) +| +--- androidx.compose.animation:animation-core-android:1.7.8 (c) @@ -1416,10 +1441,10 @@ +| +--- androidx.compose.material:material-icons-extended-android:1.7.8 (c) +| +--- androidx.compose.material3:material3-android:1.3.2 (c) +| +--- androidx.compose.runtime:runtime-android:1.7.8 (c) ++| +--- androidx.compose.runtime:runtime-saveable-android:1.7.8 (c) +| +--- androidx.compose.ui:ui-android:1.7.8 (c) +| +--- androidx.compose.ui:ui-geometry-android:1.7.8 (c) +| +--- androidx.compose.ui:ui-util-android:1.7.8 (c) -+| +--- androidx.compose.runtime:runtime-saveable-android:1.7.8 (c) +| +--- androidx.compose.ui:ui-text:1.7.8 (c) +| +--- androidx.compose.material:material-icons-core:1.7.8 (c) +| +--- androidx.compose.material:material-ripple:1.7.8 (c) diff --git a/deps_googleplay.txt b/deps_googleplay.txt index 066ddedbd..e6ec25f95 100644 --- a/deps_googleplay.txt +++ b/deps_googleplay.txt @@ -69,7 +69,6 @@ +| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.10.1 (*) +| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 -> 2.1.20 (*) +| +--- androidx.lifecycle:lifecycle-common:2.8.7 (c) -+| +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c) +| +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c) +| +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c) @@ -81,7 +80,8 @@ +| +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c) +| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c) +| +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c) -+| \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| \--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) ++--- androidx.databinding:databinding-adapters:8.9.1 +| +--- androidx.databinding:databinding-runtime:8.9.1 (*) +| \--- androidx.databinding:databinding-common:8.9.1 @@ -99,7 +99,6 @@ +| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.20 (*) +| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 -> 1.10.1 (*) +| | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c) -+| | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c) @@ -111,7 +110,8 @@ +| | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c) -+| | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | \--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| +--- androidx.lifecycle:lifecycle-livedata:2.6.1 -> 2.8.7 +| | +--- androidx.arch.core:core-common:2.2.0 (*) +| | +--- androidx.arch.core:core-runtime:2.2.0 (*) @@ -121,7 +121,6 @@ +| | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (*) +| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.20 (*) +| | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c) -+| | | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| | | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c) +| | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c) +| | | +--- androidx.lifecycle:lifecycle-livedata-ktx:2.8.7 (c) @@ -133,12 +132,12 @@ +| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c) +| | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c) +| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c) -+| | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | | \--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 +| | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (*) +| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.20 (*) +| | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c) -+| | | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| | | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c) +| | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c) +| | | +--- androidx.lifecycle:lifecycle-livedata-ktx:2.8.7 (c) @@ -150,11 +149,11 @@ +| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c) +| | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c) +| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c) -+| | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | | \--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.20 (*) +| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 -> 1.10.1 (*) +| | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c) -+| | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-livedata-ktx:2.8.7 (c) @@ -166,14 +165,14 @@ +| | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c) -+| | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | \--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| +--- androidx.lifecycle:lifecycle-process:2.6.1 -> 2.8.7 +| | +--- androidx.annotation:annotation:1.2.0 -> 1.9.1 (*) +| | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (*) +| | +--- androidx.startup:startup-runtime:1.1.1 (*) +| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.20 (*) +| | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c) -+| | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c) @@ -185,7 +184,8 @@ +| | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c) -+| | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | \--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| +--- androidx.lifecycle:lifecycle-service:2.6.1 -> 2.8.7 +| | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (*) +| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.20 (*) @@ -200,9 +200,9 @@ +| | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) -+| | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c) -+| | \--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c) ++| | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c) ++| | \--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| \--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.8.7 +| \--- androidx.lifecycle:lifecycle-viewmodel-android:2.8.7 +| +--- androidx.annotation:annotation:1.8.0 -> 1.9.1 (*) @@ -210,7 +210,6 @@ +| +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 -> 1.10.1 (*) +| +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 -> 1.10.1 (*) +| +--- androidx.lifecycle:lifecycle-common:2.8.7 (c) -+| +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c) +| +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c) +| +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c) @@ -222,7 +221,8 @@ +| +--- androidx.lifecycle:lifecycle-service:2.8.7 (c) +| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c) +| +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c) -+| \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| \--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) ++--- com.google.firebase:firebase-bom:33.12.0 +| +--- com.google.firebase:firebase-analytics:22.4.0 (c) +| +--- com.google.firebase:firebase-config-ktx:22.1.0 (c) @@ -283,7 +283,6 @@ +| | | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.20 (*) +| | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 -> 1.10.1 (*) +| | | | | | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c) -+| | | | | | | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| | | | | | | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c) +| | | | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c) +| | | | | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c) @@ -295,7 +294,8 @@ +| | | | | | | +--- androidx.lifecycle:lifecycle-service:2.8.7 (c) +| | | | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c) +| | | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c) -+| | | | | | | \--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c) ++| | | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c) ++| | | | | | | \--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| | | | | | +--- androidx.profileinstaller:profileinstaller:1.4.0 (*) +| | | | | | +--- androidx.savedstate:savedstate:1.2.1 (*) +| | | | | | +--- androidx.tracing:tracing:1.0.0 -> 1.2.0 (*) @@ -702,12 +702,12 @@ +| | | +--- androidx.compose.material3.adaptive:adaptive-navigation-android:1.1.0 (c) +| | | +--- androidx.compose.runtime:runtime:1.7.8 (c) +| | | +--- androidx.compose.runtime:runtime-livedata:1.7.8 (c) ++| | | +--- androidx.compose.runtime:runtime-saveable:1.7.8 (c) +| | | +--- androidx.compose.ui:ui:1.7.8 (c) +| | | +--- androidx.compose.ui:ui-geometry:1.7.8 (c) +| | | +--- androidx.compose.ui:ui-tooling-preview:1.7.8 (c) +| | | +--- androidx.compose.ui:ui-tooling-preview-android:1.7.8 (c) +| | | +--- androidx.compose.ui:ui-util:1.7.8 (c) -+| | | +--- androidx.compose.runtime:runtime-saveable:1.7.8 (c) +| | | +--- androidx.compose.material3.adaptive:adaptive-android:1.1.0 (c) +| | | +--- androidx.compose.animation:animation-android:1.7.8 (c) +| | | +--- androidx.compose.animation:animation-core-android:1.7.8 (c) @@ -717,10 +717,10 @@ +| | | +--- androidx.compose.material:material-icons-extended-android:1.7.8 (c) +| | | +--- androidx.compose.material3:material3-android:1.3.2 (c) +| | | +--- androidx.compose.runtime:runtime-android:1.7.8 (c) ++| | | +--- androidx.compose.runtime:runtime-saveable-android:1.7.8 (c) +| | | +--- androidx.compose.ui:ui-android:1.7.8 (c) +| | | +--- androidx.compose.ui:ui-geometry-android:1.7.8 (c) +| | | +--- androidx.compose.ui:ui-util-android:1.7.8 (c) -+| | | +--- androidx.compose.runtime:runtime-saveable-android:1.7.8 (c) +| | | +--- androidx.compose.ui:ui-text:1.7.8 (c) +| | | +--- androidx.compose.material:material-icons-core:1.7.8 (c) +| | | +--- androidx.compose.material:material-ripple:1.7.8 (c) @@ -926,7 +926,6 @@ +| | | | | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.20 (*) +| | | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 -> 1.10.1 (*) +| | | | | | | | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c) -+| | | | | | | | | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| | | | | | | | | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c) +| | | | | | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c) +| | | | | | | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c) @@ -938,7 +937,8 @@ +| | | | | | | | | +--- androidx.lifecycle:lifecycle-service:2.8.7 (c) +| | | | | | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c) +| | | | | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c) -+| | | | | | | | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | | | | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | | | | | | | | \--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| | | | | | | | +--- androidx.savedstate:savedstate-ktx:1.2.1 +| | | | | | | | | +--- androidx.savedstate:savedstate:1.2.1 (*) +| | | | | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.10 -> 2.1.20 (*) @@ -1052,7 +1052,6 @@ +| | | | | | | | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (*) +| | | | | | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.7 (*) +| | | | | | | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c) -+| | | | | | | | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| | | | | | | | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c) +| | | | | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c) +| | | | | | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c) @@ -1064,7 +1063,8 @@ +| | | | | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c) +| | | | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c) +| | | | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c) -+| | | | | | | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | | | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | | | | | | | \--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| | | | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.8.7 (*) +| | | | | | | +--- androidx.profileinstaller:profileinstaller:1.3.1 -> 1.4.0 (*) +| | | | | | | +--- androidx.savedstate:savedstate-ktx:1.2.1 (*) @@ -1306,7 +1306,6 @@ +| | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (*) +| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.20 (*) +| | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c) -+| | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c) @@ -1318,7 +1317,8 @@ +| | +--- androidx.lifecycle:lifecycle-service:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c) -+| | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | \--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| +--- co.touchlab:kermit:2.0.5 (*) +| +--- org.jetbrains.kotlinx:kotlinx-datetime:0.6.2 (*) +| +--- org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8 @@ -1337,6 +1337,59 @@ +| | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.0.0 -> 2.1.20 (*) +| | \--- androidx.startup:startup-runtime:1.1.1 (*) +| \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.0 -> 2.1.20 (*) +++--- androidx.navigation:navigation-compose:2.8.9 ++| +--- androidx.activity:activity-compose:1.8.0 -> 1.10.1 (*) ++| +--- androidx.compose.animation:animation:1.7.2 -> 1.7.8 (*) ++| +--- androidx.compose.foundation:foundation-layout:1.7.2 -> 1.7.8 (*) ++| +--- androidx.compose.runtime:runtime:1.7.2 -> 1.7.8 (*) ++| +--- androidx.compose.runtime:runtime-saveable:1.7.2 -> 1.7.8 (*) ++| +--- androidx.compose.ui:ui:1.7.2 -> 1.7.8 (*) ++| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.6.2 -> 2.8.7 (*) ++| +--- androidx.navigation:navigation-runtime-ktx:2.8.9 ++| | +--- androidx.navigation:navigation-common-ktx:2.8.9 ++| | | +--- androidx.navigation:navigation-common:2.8.9 ++| | | | +--- androidx.annotation:annotation:1.8.1 -> 1.9.1 (*) ++| | | | +--- androidx.collection:collection-ktx:1.4.2 -> 1.4.4 (*) ++| | | | +--- androidx.core:core-ktx:1.1.0 -> 1.13.1 (*) ++| | | | +--- androidx.lifecycle:lifecycle-common:2.6.2 -> 2.8.7 (*) ++| | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.2 -> 2.8.7 (*) ++| | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2 -> 2.8.7 (*) ++| | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.2 -> 2.8.7 (*) ++| | | | +--- androidx.profileinstaller:profileinstaller:1.3.1 -> 1.4.0 (*) ++| | | | +--- androidx.savedstate:savedstate-ktx:1.2.1 (*) ++| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.20 (*) ++| | | | +--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.6.3 -> 1.8.1 (*) ++| | | | +--- androidx.navigation:navigation-common-ktx:2.8.9 (c) ++| | | | +--- androidx.navigation:navigation-compose:2.8.9 (c) ++| | | | +--- androidx.navigation:navigation-runtime:2.8.9 (c) ++| | | | \--- androidx.navigation:navigation-runtime-ktx:2.8.9 (c) ++| | | +--- androidx.navigation:navigation-common:2.8.9 (c) ++| | | +--- androidx.navigation:navigation-compose:2.8.9 (c) ++| | | +--- androidx.navigation:navigation-runtime:2.8.9 (c) ++| | | \--- androidx.navigation:navigation-runtime-ktx:2.8.9 (c) ++| | +--- androidx.navigation:navigation-runtime:2.8.9 ++| | | +--- androidx.activity:activity-ktx:1.7.1 -> 1.10.1 (*) ++| | | +--- androidx.annotation:annotation-experimental:1.4.1 (*) ++| | | +--- androidx.collection:collection:1.4.2 -> 1.4.4 (*) ++| | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.2 -> 2.8.7 (*) ++| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2 -> 2.8.7 (*) ++| | | +--- androidx.navigation:navigation-common:2.8.9 (*) ++| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.20 (*) ++| | | +--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.6.3 -> 1.8.1 (*) ++| | | +--- androidx.navigation:navigation-common:2.8.9 (c) ++| | | +--- androidx.navigation:navigation-common-ktx:2.8.9 (c) ++| | | +--- androidx.navigation:navigation-compose:2.8.9 (c) ++| | | \--- androidx.navigation:navigation-runtime-ktx:2.8.9 (c) ++| | +--- androidx.navigation:navigation-common-ktx:2.8.9 (c) ++| | +--- androidx.navigation:navigation-compose:2.8.9 (c) ++| | +--- androidx.navigation:navigation-runtime:2.8.9 (c) ++| | \--- androidx.navigation:navigation-common:2.8.9 (c) ++| +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.20 (*) ++| +--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.6.3 -> 1.8.1 (*) ++| +--- androidx.navigation:navigation-runtime-ktx:2.8.9 (c) ++| +--- androidx.navigation:navigation-common-ktx:2.8.9 (c) ++| +--- androidx.navigation:navigation-runtime:2.8.9 (c) ++| \--- androidx.navigation:navigation-common:2.8.9 (c) ++--- androidx.compose.material3.adaptive:adaptive-navigation-android:1.1.0 +| +--- androidx.activity:activity-compose:1.8.2 -> 1.10.1 (*) +| +--- androidx.annotation:annotation:1.8.1 -> 1.9.1 (*) @@ -1445,7 +1498,6 @@ +| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.20 (*) +| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 -> 1.10.1 (*) +| | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c) -+| | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c) @@ -1457,7 +1509,8 @@ +| | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c) +| | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c) -+| | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c) ++| | \--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c) +| +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.1 -> 2.8.7 (*) +| +--- com.google.android.material:material:1.6.0 -> 1.12.0 +| | +--- org.jetbrains.kotlin:kotlin-bom:1.8.22 @@ -1542,39 +1595,11 @@ +| +--- androidx.compose.ui:ui:1.0.1 -> 1.7.8 (*) +| +--- androidx.hilt:hilt-navigation:1.2.0 +| | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*) -+| | +--- androidx.navigation:navigation-runtime:2.5.1 -+| | | +--- androidx.activity:activity-ktx:1.5.1 -> 1.10.1 (*) -+| | | +--- androidx.annotation:annotation-experimental:1.1.0 -> 1.4.1 (*) -+| | | +--- androidx.collection:collection:1.0.0 -> 1.4.4 (*) -+| | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.5.1 -> 2.8.7 (*) -+| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1 -> 2.8.7 (*) -+| | | +--- androidx.navigation:navigation-common:2.5.1 -+| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*) -+| | | | +--- androidx.collection:collection-ktx:1.1.0 -> 1.4.4 (*) -+| | | | +--- androidx.core:core-ktx:1.1.0 -> 1.13.1 (*) -+| | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.5.1 -> 2.8.7 (*) -+| | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1 -> 2.8.7 (*) -+| | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.1 -> 2.8.7 (*) -+| | | | +--- androidx.savedstate:savedstate-ktx:1.2.0 -> 1.2.1 (*) -+| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 2.1.20 (*) -+| | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 2.1.20 (*) ++| | +--- androidx.navigation:navigation-runtime:2.5.1 -> 2.8.9 (*) +| | +--- com.google.dagger:hilt-android:2.49 -> 2.56.2 (*) +| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.20 (*) +| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.6.1 -> 2.8.7 (*) -+| +--- androidx.navigation:navigation-compose:2.5.1 -+| | +--- androidx.activity:activity-compose:1.5.1 -> 1.10.1 (*) -+| | +--- androidx.compose.animation:animation:1.0.1 -> 1.7.8 (*) -+| | +--- androidx.compose.foundation:foundation-layout:1.0.1 -> 1.7.8 (*) -+| | +--- androidx.compose.runtime:runtime:1.0.1 -> 1.7.8 (*) -+| | +--- androidx.compose.runtime:runtime-saveable:1.0.1 -> 1.7.8 (*) -+| | +--- androidx.compose.ui:ui:1.0.1 -> 1.7.8 (*) -+| | +--- androidx.lifecycle:lifecycle-common-java8:2.5.1 -> 2.8.7 (*) -+| | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.5.1 -> 2.8.7 (*) -+| | +--- androidx.navigation:navigation-runtime-ktx:2.5.1 -+| | | +--- androidx.navigation:navigation-common-ktx:2.5.1 -+| | | | \--- androidx.navigation:navigation-common:2.5.1 (*) -+| | | \--- androidx.navigation:navigation-runtime:2.5.1 (*) -+| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 2.1.20 (*) ++| +--- androidx.navigation:navigation-compose:2.5.1 -> 2.8.9 (*) +| \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.20 (*) ++--- androidx.hilt:hilt-work:1.2.0 +| +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 0c7ff656d..5bc830146 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -86,6 +86,7 @@ androidx-lifecycle-runtime-compose = { module = "androidx.lifecycle:lifecycle-ru androidx-lifecycle-viewmodel = { module = "androidx.lifecycle:lifecycle-viewmodel", version.ref = "lifecycle" } androidx-lifecycle-viewmodel-compose = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "lifecycle" } androidx-material-icons-extended = { module = "androidx.compose.material:material-icons-extended" } +androidx-navigation = { module = "androidx.navigation:navigation-compose", version = "2.8.9" } androidx-paging-compose = { module = "androidx.paging:paging-compose", version = "3.3.6" } androidx-preference = { module = "androidx.preference:preference", version.ref = "preference" } androidx-recyclerview = { module = "androidx.recyclerview:recyclerview", version.ref = "recyclerview" }