fix: upgrade ktlint to 1.7.1 to support stateInUi's context parameters

ktlint 1.4.0 cannot parse the Kotlin 2.x context parameter syntax
(`context(viewModel: ViewModel)`) used by stateInUi, causing
spotlessCheck to fail. Bump ktlint to 1.7.1 (the first version with
context parameter support).

Also fixes incidental issues surfaced by the upgrade and review:
- Apply ktlint 1.7.1's KDoc-spacing rule to NavigationTest.kt.
- Fix import order in InterestsViewModel and SettingsViewModel.
- Remove unused viewModelScope import from MainActivityViewModel.
- Update FlowExtensions.kt copyright year to 2026.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
pull/2099/head
h-muraki 2 months ago
parent 54cdea4102
commit 9c38898451

@ -110,6 +110,7 @@ class NavigationTest {
// TODO: implement tests related to navigation & resetting of destinations (b/213307564)
// Restoring content should be tested with another tab than the For You one, as that will
// still succeed even when restoring state is turned off.
/**
* When navigating between the different top level destinations, we should restore the state
* of previously visited destinations.

@ -17,7 +17,6 @@
package com.google.samples.apps.nowinandroid
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.google.samples.apps.nowinandroid.MainActivityUiState.Loading
import com.google.samples.apps.nowinandroid.MainActivityUiState.Success
import com.google.samples.apps.nowinandroid.core.data.repository.UserDataRepository

@ -1,5 +1,5 @@
/*
* Copyright 2024 The Android Open Source Project
* Copyright 2026 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

@ -23,8 +23,8 @@ import com.google.samples.apps.nowinandroid.core.data.repository.UserDataReposit
import com.google.samples.apps.nowinandroid.core.domain.GetFollowableTopicsUseCase
import com.google.samples.apps.nowinandroid.core.domain.TopicSortField
import com.google.samples.apps.nowinandroid.core.model.data.FollowableTopic
import com.google.samples.apps.nowinandroid.feature.interests.api.navigation.InterestsNavKey
import com.google.samples.apps.nowinandroid.core.ui.stateInUi
import com.google.samples.apps.nowinandroid.feature.interests.api.navigation.InterestsNavKey
import dagger.assisted.Assisted
import dagger.assisted.AssistedFactory
import dagger.assisted.AssistedInject

@ -21,9 +21,9 @@ import androidx.lifecycle.viewModelScope
import com.google.samples.apps.nowinandroid.core.data.repository.UserDataRepository
import com.google.samples.apps.nowinandroid.core.model.data.DarkThemeConfig
import com.google.samples.apps.nowinandroid.core.model.data.ThemeBrand
import com.google.samples.apps.nowinandroid.core.ui.stateInUi
import com.google.samples.apps.nowinandroid.feature.settings.impl.SettingsUiState.Loading
import com.google.samples.apps.nowinandroid.feature.settings.impl.SettingsUiState.Success
import com.google.samples.apps.nowinandroid.core.ui.stateInUi
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.map

@ -51,7 +51,7 @@ kotlinxCoroutines = "1.10.1"
kotlinxDatetime = "0.6.1"
kotlinxSerializationJson = "1.8.0"
ksp = "2.3.4"
ktlint = "1.4.0"
ktlint = "1.7.1"
okhttp = "4.12.0"
protobuf = "4.29.2"
protobufPlugin = "0.9.6"

Loading…
Cancel
Save