Update dependencies

This commit is contained in:
Thomas Andres Gomez 2025-11-26 15:51:29 +01:00
parent 9ad289dcb5
commit d8902dcd28
10 changed files with 36 additions and 43 deletions

View file

@ -14,7 +14,10 @@ plugins {
android { android {
namespace = "com.pixelized.headache" namespace = "com.pixelized.headache"
compileSdk = 36
compileSdk {
version = release(36)
}
signingConfigs { signingConfigs {
create("pixelized") { populatePixelizedSigningConfig() } create("pixelized") { populatePixelizedSigningConfig() }
@ -77,27 +80,25 @@ dependencies {
// Android // Android
implementation("androidx.core:core-ktx:1.17.0") implementation("androidx.core:core-ktx:1.17.0")
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.9.4") implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.10.0")
implementation("androidx.activity:activity-compose:1.11.0") implementation("androidx.activity:activity-compose:1.12.0")
implementation("androidx.compose.ui:ui:1.9.3") implementation("androidx.compose.ui:ui:1.9.5")
implementation("androidx.compose.ui:ui-graphics:1.9.3") implementation("androidx.compose.ui:ui-graphics:1.9.5")
implementation("androidx.compose.ui:ui-tooling:1.9.3") implementation("androidx.compose.ui:ui-tooling:1.9.5")
implementation("androidx.compose.ui:ui-tooling-preview:1.9.3") implementation("androidx.compose.ui:ui-tooling-preview:1.9.5")
// Material // Material
implementation("androidx.compose.material3:material3:1.4.0") implementation("androidx.compose.material3:material3:1.4.0")
implementation("androidx.compose.material:material-icons-extended:1.7.8") implementation("androidx.compose.material:material-icons-extended:1.7.8")
implementation("androidx.compose.material3:material3-window-size-class:1.4.0") implementation("androidx.compose.material3:material3-window-size-class:1.4.0")
implementation("androidx.compose.material3.adaptive:adaptive-layout:1.1.0")
// Navigation // Navigation
implementation("androidx.navigation3:navigation3-runtime:1.0.0-alpha11") implementation("androidx.navigation3:navigation3-runtime:1.0.0")
implementation("androidx.navigation3:navigation3-ui:1.0.0-alpha11") implementation("androidx.navigation3:navigation3-ui:1.0.0")
implementation("androidx.compose.material3.adaptive:adaptive-navigation3:1.0.0-SNAPSHOT") implementation("androidx.lifecycle:lifecycle-viewmodel-navigation3:2.10.0")
implementation("androidx.lifecycle:lifecycle-viewmodel-navigation3:1.0.0-SNAPSHOT")
// Preferences // Preferences
implementation("androidx.datastore:datastore-preferences:1.1.7") implementation("androidx.datastore:datastore-preferences:1.2.0")
// Json // Json
implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:1.9.0") implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:1.9.0")

View file

@ -1,14 +1,13 @@
package com.pixelized.headache.ui.navigation.destination package com.pixelized.headache.ui.navigation.destination
import androidx.navigation3.runtime.EntryProviderBuilder import androidx.navigation3.runtime.EntryProviderScope
import androidx.navigation3.runtime.entry
import com.pixelized.headache.ui.navigation.main.MainDestination import com.pixelized.headache.ui.navigation.main.MainDestination
import com.pixelized.headache.ui.navigation.main.MainNavigator import com.pixelized.headache.ui.navigation.main.MainNavigator
import com.pixelized.headache.ui.page.calendar.CalendarChooserPage import com.pixelized.headache.ui.page.calendar.CalendarChooserPage
data object CalendarChooserDestination : MainDestination data object CalendarChooserDestination : MainDestination
fun EntryProviderBuilder<*>.calendarChooserDestinationEntry() { fun EntryProviderScope<Any>.calendarChooserDestinationEntry() {
entry<CalendarChooserDestination> { entry<CalendarChooserDestination> {
CalendarChooserPage() CalendarChooserPage()
} }

View file

@ -1,9 +1,9 @@
package com.pixelized.headache.ui.navigation.destination package com.pixelized.headache.ui.navigation.destination
import android.icu.util.Calendar import android.icu.util.Calendar
import androidx.compose.runtime.Stable
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
import androidx.navigation3.runtime.EntryProviderBuilder import androidx.navigation3.runtime.EntryProviderScope
import androidx.navigation3.runtime.entry
import com.pixelized.headache.repository.event.Event import com.pixelized.headache.repository.event.Event
import com.pixelized.headache.ui.navigation.main.MainDestination import com.pixelized.headache.ui.navigation.main.MainDestination
import com.pixelized.headache.ui.navigation.main.MainNavigator import com.pixelized.headache.ui.navigation.main.MainNavigator
@ -18,7 +18,7 @@ data class EventDestination(
val invalidFilter: Boolean, val invalidFilter: Boolean,
) : MainDestination ) : MainDestination
fun EntryProviderBuilder<*>.eventDestinationEntry() { fun EntryProviderScope<Any>.eventDestinationEntry() {
entry<EventDestination> { key -> entry<EventDestination> { key ->
val viewModel = hiltViewModel<EventViewModel, EventViewModel.Factory>( val viewModel = hiltViewModel<EventViewModel, EventViewModel.Factory>(
creationCallback = { factory -> creationCallback = { factory ->

View file

@ -1,7 +1,6 @@
package com.pixelized.headache.ui.navigation.destination package com.pixelized.headache.ui.navigation.destination
import androidx.navigation3.runtime.EntryProviderBuilder import androidx.navigation3.runtime.EntryProviderScope
import androidx.navigation3.runtime.entry
import com.pixelized.headache.ui.navigation.home.HomeNavigator import com.pixelized.headache.ui.navigation.home.HomeNavigator
import com.pixelized.headache.ui.navigation.main.MainDestination import com.pixelized.headache.ui.navigation.main.MainDestination
import com.pixelized.headache.ui.navigation.main.MainNavigator import com.pixelized.headache.ui.navigation.main.MainNavigator
@ -9,7 +8,7 @@ import com.pixelized.headache.ui.page.home.HomePage
data object HomePageDestination : MainDestination data object HomePageDestination : MainDestination
fun EntryProviderBuilder<*>.homeDestinationEntry( fun EntryProviderScope<Any>.homeDestinationEntry(
navigator: HomeNavigator, navigator: HomeNavigator,
) { ) {
entry<HomePageDestination> { entry<HomePageDestination> {

View file

@ -1,14 +1,13 @@
package com.pixelized.headache.ui.navigation.destination package com.pixelized.headache.ui.navigation.destination
import androidx.navigation3.runtime.EntryProviderBuilder import androidx.navigation3.runtime.EntryProviderScope
import androidx.navigation3.runtime.entry
import com.pixelized.headache.ui.navigation.home.HomeDestination import com.pixelized.headache.ui.navigation.home.HomeDestination
import com.pixelized.headache.ui.navigation.home.HomeNavigator import com.pixelized.headache.ui.navigation.home.HomeNavigator
import com.pixelized.headache.ui.page.summary.monthly.MonthSummaryPage import com.pixelized.headache.ui.page.summary.monthly.MonthSummaryPage
data object MonthSummaryDestination : HomeDestination data object MonthSummaryDestination : HomeDestination
fun EntryProviderBuilder<*>.monthSummaryDestinationEntry() { fun EntryProviderScope<Any>.monthSummaryDestinationEntry() {
entry<MonthSummaryDestination> { entry<MonthSummaryDestination> {
MonthSummaryPage() MonthSummaryPage()
} }

View file

@ -1,14 +1,13 @@
package com.pixelized.headache.ui.navigation.destination package com.pixelized.headache.ui.navigation.destination
import androidx.navigation3.runtime.EntryProviderBuilder import androidx.navigation3.runtime.EntryProviderScope
import androidx.navigation3.runtime.entry
import com.pixelized.headache.ui.navigation.home.HomeDestination import com.pixelized.headache.ui.navigation.home.HomeDestination
import com.pixelized.headache.ui.navigation.home.HomeNavigator import com.pixelized.headache.ui.navigation.home.HomeNavigator
import com.pixelized.headache.ui.page.summary.report.ReportPage import com.pixelized.headache.ui.page.summary.report.ReportPage
data object ReportDestination : HomeDestination data object ReportDestination : HomeDestination
fun EntryProviderBuilder<*>.reportDestinationEntry() { fun EntryProviderScope<Any>.reportDestinationEntry() {
entry<ReportDestination> { entry<ReportDestination> {
ReportPage() ReportPage()
} }

View file

@ -1,15 +1,13 @@
package com.pixelized.headache.ui.navigation.destination package com.pixelized.headache.ui.navigation.destination
import androidx.navigation3.runtime.EntryProviderBuilder import androidx.navigation3.runtime.EntryProviderScope
import androidx.navigation3.runtime.entry
import com.pixelized.headache.ui.navigation.home.HomeDestination import com.pixelized.headache.ui.navigation.home.HomeDestination
import com.pixelized.headache.ui.navigation.home.HomeNavigator import com.pixelized.headache.ui.navigation.home.HomeNavigator
import com.pixelized.headache.ui.page.summary.yearly.YearSummaryPage import com.pixelized.headache.ui.page.summary.yearly.YearSummaryPage
data object YearSummaryDestination : HomeDestination data object YearSummaryDestination : HomeDestination
fun EntryProviderBuilder<*>.yearSummaryDestinationEntry() { fun EntryProviderScope<Any>.yearSummaryDestinationEntry() {
entry<YearSummaryDestination> { entry<YearSummaryDestination> {
YearSummaryPage() YearSummaryPage()
} }

View file

@ -6,12 +6,8 @@ import androidx.compose.runtime.staticCompositionLocalOf
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.lifecycle.viewmodel.navigation3.rememberViewModelStoreNavEntryDecorator import androidx.lifecycle.viewmodel.navigation3.rememberViewModelStoreNavEntryDecorator
import androidx.navigation3.runtime.entryProvider import androidx.navigation3.runtime.entryProvider
import androidx.navigation3.runtime.rememberSavedStateNavEntryDecorator import androidx.navigation3.runtime.rememberSaveableStateHolderNavEntryDecorator
import androidx.navigation3.ui.NavDisplay import androidx.navigation3.ui.NavDisplay
import androidx.navigation3.ui.rememberSceneSetupNavEntryDecorator
import com.pixelized.headache.ui.navigation.destination.calendarChooserDestinationEntry
import com.pixelized.headache.ui.navigation.destination.eventDestinationEntry
import com.pixelized.headache.ui.navigation.destination.homeDestinationEntry
import com.pixelized.headache.ui.navigation.destination.monthSummaryDestinationEntry import com.pixelized.headache.ui.navigation.destination.monthSummaryDestinationEntry
import com.pixelized.headache.ui.navigation.destination.reportDestinationEntry import com.pixelized.headache.ui.navigation.destination.reportDestinationEntry
import com.pixelized.headache.ui.navigation.destination.yearSummaryDestinationEntry import com.pixelized.headache.ui.navigation.destination.yearSummaryDestinationEntry
@ -32,8 +28,7 @@ fun HomeNavDisplay(
modifier = modifier, modifier = modifier,
backStack = navigator.backStack, backStack = navigator.backStack,
entryDecorators = listOf( entryDecorators = listOf(
rememberSceneSetupNavEntryDecorator(), rememberSaveableStateHolderNavEntryDecorator(),
rememberSavedStateNavEntryDecorator(),
rememberViewModelStoreNavEntryDecorator(), rememberViewModelStoreNavEntryDecorator(),
), ),
onBack = { onBack = {

View file

@ -5,16 +5,19 @@ import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.staticCompositionLocalOf import androidx.compose.runtime.staticCompositionLocalOf
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.lifecycle.viewmodel.navigation3.rememberViewModelStoreNavEntryDecorator import androidx.lifecycle.viewmodel.navigation3.rememberViewModelStoreNavEntryDecorator
import androidx.navigation3.runtime.EntryProviderScope
import androidx.navigation3.runtime.entryProvider import androidx.navigation3.runtime.entryProvider
import androidx.navigation3.runtime.rememberSavedStateNavEntryDecorator import androidx.navigation3.runtime.rememberSaveableStateHolderNavEntryDecorator
import androidx.navigation3.ui.NavDisplay import androidx.navigation3.ui.NavDisplay
import androidx.navigation3.ui.rememberSceneSetupNavEntryDecorator import com.pixelized.headache.ui.navigation.destination.HomePageDestination
import com.pixelized.headache.ui.navigation.destination.calendarChooserDestinationEntry import com.pixelized.headache.ui.navigation.destination.calendarChooserDestinationEntry
import com.pixelized.headache.ui.navigation.destination.eventDestinationEntry import com.pixelized.headache.ui.navigation.destination.eventDestinationEntry
import com.pixelized.headache.ui.navigation.destination.homeDestinationEntry import com.pixelized.headache.ui.navigation.destination.homeDestinationEntry
import com.pixelized.headache.ui.navigation.destination.monthSummaryDestinationEntry import com.pixelized.headache.ui.navigation.destination.monthSummaryDestinationEntry
import com.pixelized.headache.ui.navigation.destination.yearSummaryDestinationEntry import com.pixelized.headache.ui.navigation.destination.yearSummaryDestinationEntry
import com.pixelized.headache.ui.navigation.home.HomeNavigator import com.pixelized.headache.ui.navigation.home.HomeNavigator
import com.pixelized.headache.ui.page.home.HomePage
import dagger.hilt.android.scopes.ActivityRetainedScoped
val LocalMainNavigator = staticCompositionLocalOf<MainNavigator> { val LocalMainNavigator = staticCompositionLocalOf<MainNavigator> {
error("Local Navigation no yet ready") error("Local Navigation no yet ready")
@ -33,14 +36,14 @@ fun MainNavDisplay(
modifier = modifier, modifier = modifier,
backStack = mainNavigator.backStack, backStack = mainNavigator.backStack,
entryDecorators = listOf( entryDecorators = listOf(
rememberSceneSetupNavEntryDecorator(), rememberSaveableStateHolderNavEntryDecorator(),
rememberSavedStateNavEntryDecorator(),
rememberViewModelStoreNavEntryDecorator(), rememberViewModelStoreNavEntryDecorator(),
), ),
onBack = { onBack = {
mainNavigator.popBackstack() mainNavigator.popBackstack()
}, },
entryProvider = entryProvider { entryProvider = entryProvider {
homeDestinationEntry(navigator = homeNavigator) homeDestinationEntry(navigator = homeNavigator)
calendarChooserDestinationEntry() calendarChooserDestinationEntry()
eventDestinationEntry() eventDestinationEntry()

BIN
headache.zip Normal file

Binary file not shown.