diff --git a/benchmark/src/main/AndroidManifest.xml b/benchmark/src/main/AndroidManifest.xml
index 1cf255471..51d0cfc2e 100644
--- a/benchmark/src/main/AndroidManifest.xml
+++ b/benchmark/src/main/AndroidManifest.xml
@@ -14,4 +14,4 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/AndroidCompose.kt b/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/AndroidCompose.kt
index b59ec5625..a4987160e 100644
--- a/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/AndroidCompose.kt
+++ b/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/AndroidCompose.kt
@@ -19,7 +19,6 @@ package com.google.samples.apps.nowinandroid
import com.android.build.api.dsl.CommonExtension
import org.gradle.api.Project
import org.gradle.api.artifacts.VersionCatalogsExtension
-import org.gradle.kotlin.dsl.dependencies
import org.gradle.kotlin.dsl.getByType
/**
diff --git a/core-data/src/main/AndroidManifest.xml b/core-data/src/main/AndroidManifest.xml
index 431264e4a..9c4ca2c46 100644
--- a/core-data/src/main/AndroidManifest.xml
+++ b/core-data/src/main/AndroidManifest.xml
@@ -14,7 +14,6 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-
+
\ No newline at end of file
diff --git a/core-data/src/main/java/com/google/samples/apps/nowinandroid/core/data/SyncUtilities.kt b/core-data/src/main/java/com/google/samples/apps/nowinandroid/core/data/SyncUtilities.kt
index 0f2a592de..6f2795e06 100644
--- a/core-data/src/main/java/com/google/samples/apps/nowinandroid/core/data/SyncUtilities.kt
+++ b/core-data/src/main/java/com/google/samples/apps/nowinandroid/core/data/SyncUtilities.kt
@@ -19,9 +19,9 @@ package com.google.samples.apps.nowinandroid.core.data
import android.util.Log
import com.google.samples.apps.nowinandroid.core.datastore.ChangeListVersions
import com.google.samples.apps.nowinandroid.core.network.model.NetworkChangeList
-import kotlin.coroutines.cancellation.CancellationException
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.combine
+import kotlin.coroutines.cancellation.CancellationException
/**
* Interface marker for a class that manages synchronization between local data and a remote
diff --git a/core-data/src/main/java/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstAuthorsRepository.kt b/core-data/src/main/java/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstAuthorsRepository.kt
index 5344810f3..00dd1300a 100644
--- a/core-data/src/main/java/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstAuthorsRepository.kt
+++ b/core-data/src/main/java/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstAuthorsRepository.kt
@@ -27,9 +27,9 @@ import com.google.samples.apps.nowinandroid.core.datastore.NiaPreferencesDataSou
import com.google.samples.apps.nowinandroid.core.model.data.Author
import com.google.samples.apps.nowinandroid.core.network.NiaNetworkDataSource
import com.google.samples.apps.nowinandroid.core.network.model.NetworkAuthor
-import javax.inject.Inject
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map
+import javax.inject.Inject
/**
* Disk storage backed implementation of the [AuthorsRepository].
diff --git a/core-data/src/main/java/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstNewsRepository.kt b/core-data/src/main/java/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstNewsRepository.kt
index 4588fd404..34d0335df 100644
--- a/core-data/src/main/java/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstNewsRepository.kt
+++ b/core-data/src/main/java/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstNewsRepository.kt
@@ -37,9 +37,9 @@ import com.google.samples.apps.nowinandroid.core.datastore.ChangeListVersions
import com.google.samples.apps.nowinandroid.core.model.data.NewsResource
import com.google.samples.apps.nowinandroid.core.network.NiaNetworkDataSource
import com.google.samples.apps.nowinandroid.core.network.model.NetworkNewsResource
-import javax.inject.Inject
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map
+import javax.inject.Inject
/**
* Disk storage backed implementation of the [NewsRepository].
diff --git a/core-data/src/main/java/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstTopicsRepository.kt b/core-data/src/main/java/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstTopicsRepository.kt
index 4e2c64c9d..6121bf290 100644
--- a/core-data/src/main/java/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstTopicsRepository.kt
+++ b/core-data/src/main/java/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstTopicsRepository.kt
@@ -27,9 +27,9 @@ import com.google.samples.apps.nowinandroid.core.datastore.NiaPreferencesDataSou
import com.google.samples.apps.nowinandroid.core.model.data.Topic
import com.google.samples.apps.nowinandroid.core.network.NiaNetworkDataSource
import com.google.samples.apps.nowinandroid.core.network.model.NetworkTopic
-import javax.inject.Inject
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map
+import javax.inject.Inject
/**
* Disk storage backed implementation of the [TopicsRepository].
diff --git a/core-data/src/main/java/com/google/samples/apps/nowinandroid/core/data/repository/fake/FakeAuthorsRepository.kt b/core-data/src/main/java/com/google/samples/apps/nowinandroid/core/data/repository/fake/FakeAuthorsRepository.kt
index 4a0ebf0ba..d4f57a371 100644
--- a/core-data/src/main/java/com/google/samples/apps/nowinandroid/core/data/repository/fake/FakeAuthorsRepository.kt
+++ b/core-data/src/main/java/com/google/samples/apps/nowinandroid/core/data/repository/fake/FakeAuthorsRepository.kt
@@ -24,7 +24,6 @@ import com.google.samples.apps.nowinandroid.core.network.Dispatcher
import com.google.samples.apps.nowinandroid.core.network.NiaDispatchers.IO
import com.google.samples.apps.nowinandroid.core.network.fake.FakeDataSource
import com.google.samples.apps.nowinandroid.core.network.model.NetworkAuthor
-import javax.inject.Inject
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.flow
@@ -32,6 +31,7 @@ import kotlinx.coroutines.flow.flowOn
import kotlinx.coroutines.flow.map
import kotlinx.serialization.decodeFromString
import kotlinx.serialization.json.Json
+import javax.inject.Inject
/**
* Fake implementation of the [AuthorsRepository] that returns hardcoded authors.
diff --git a/core-data/src/main/java/com/google/samples/apps/nowinandroid/core/data/repository/fake/FakeNewsRepository.kt b/core-data/src/main/java/com/google/samples/apps/nowinandroid/core/data/repository/fake/FakeNewsRepository.kt
index cfbd3cb98..7ecbe94b2 100644
--- a/core-data/src/main/java/com/google/samples/apps/nowinandroid/core/data/repository/fake/FakeNewsRepository.kt
+++ b/core-data/src/main/java/com/google/samples/apps/nowinandroid/core/data/repository/fake/FakeNewsRepository.kt
@@ -26,13 +26,13 @@ import com.google.samples.apps.nowinandroid.core.network.Dispatcher
import com.google.samples.apps.nowinandroid.core.network.NiaDispatchers.IO
import com.google.samples.apps.nowinandroid.core.network.fake.FakeDataSource
import com.google.samples.apps.nowinandroid.core.network.model.NetworkNewsResource
-import javax.inject.Inject
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.flow
import kotlinx.coroutines.flow.flowOn
import kotlinx.serialization.decodeFromString
import kotlinx.serialization.json.Json
+import javax.inject.Inject
/**
* Fake implementation of the [NewsRepository] that retrieves the news resources from a JSON String.
diff --git a/core-data/src/main/java/com/google/samples/apps/nowinandroid/core/data/repository/fake/FakeTopicsRepository.kt b/core-data/src/main/java/com/google/samples/apps/nowinandroid/core/data/repository/fake/FakeTopicsRepository.kt
index ec18600f0..8fe1d471e 100644
--- a/core-data/src/main/java/com/google/samples/apps/nowinandroid/core/data/repository/fake/FakeTopicsRepository.kt
+++ b/core-data/src/main/java/com/google/samples/apps/nowinandroid/core/data/repository/fake/FakeTopicsRepository.kt
@@ -24,7 +24,6 @@ import com.google.samples.apps.nowinandroid.core.network.Dispatcher
import com.google.samples.apps.nowinandroid.core.network.NiaDispatchers.IO
import com.google.samples.apps.nowinandroid.core.network.fake.FakeDataSource
import com.google.samples.apps.nowinandroid.core.network.model.NetworkTopic
-import javax.inject.Inject
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.flow
@@ -32,6 +31,7 @@ import kotlinx.coroutines.flow.flowOn
import kotlinx.coroutines.flow.map
import kotlinx.serialization.decodeFromString
import kotlinx.serialization.json.Json
+import javax.inject.Inject
/**
* Fake implementation of the [TopicsRepository] that retrieves the topics from a JSON String, and
diff --git a/core-model/src/main/AndroidManifest.xml b/core-model/src/main/AndroidManifest.xml
index e04125b63..e92ed4eff 100644
--- a/core-model/src/main/AndroidManifest.xml
+++ b/core-model/src/main/AndroidManifest.xml
@@ -14,7 +14,6 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-
+
\ No newline at end of file
diff --git a/core-ui/src/main/AndroidManifest.xml b/core-ui/src/main/AndroidManifest.xml
index 864e3481d..780b13c96 100644
--- a/core-ui/src/main/AndroidManifest.xml
+++ b/core-ui/src/main/AndroidManifest.xml
@@ -14,7 +14,6 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-
+
\ No newline at end of file
diff --git a/core-ui/src/main/java/com/google/samples/apps/nowinandroid/core/ui/NewsResourceCard.kt b/core-ui/src/main/java/com/google/samples/apps/nowinandroid/core/ui/NewsResourceCard.kt
index d31f988ce..242902bef 100644
--- a/core-ui/src/main/java/com/google/samples/apps/nowinandroid/core/ui/NewsResourceCard.kt
+++ b/core-ui/src/main/java/com/google/samples/apps/nowinandroid/core/ui/NewsResourceCard.kt
@@ -66,10 +66,10 @@ import com.google.samples.apps.nowinandroid.core.model.data.NewsResource
import com.google.samples.apps.nowinandroid.core.model.data.NewsResourceType.Article
import com.google.samples.apps.nowinandroid.core.model.data.Topic
import com.google.samples.apps.nowinandroid.core.ui.theme.NiaTheme
-import java.time.ZoneId
-import java.time.format.DateTimeFormatter
import kotlinx.datetime.Instant
import kotlinx.datetime.toJavaInstant
+import java.time.ZoneId
+import java.time.format.DateTimeFormatter
/**
* [NewsResource] card used on the following screens: For You, Episodes, Saved
@@ -79,8 +79,6 @@ import kotlinx.datetime.toJavaInstant
@Composable
fun NewsResourceCardExpanded(
newsResource: NewsResource,
- isBookmarked: Boolean,
- onToggleBookmark: () -> Unit,
onClick: () -> Unit,
modifier: Modifier = Modifier
) {
@@ -294,7 +292,7 @@ fun BookmarkButtonBookmarkedPreview() {
fun ExpandedNewsResourcePreview() {
NiaTheme {
Surface {
- NewsResourceCardExpanded(newsResource, true, {}, {})
+ NewsResourceCardExpanded(newsResource, {})
}
}
}
diff --git a/core-ui/src/main/java/com/google/samples/apps/nowinandroid/core/ui/NewsResourceCardList.kt b/core-ui/src/main/java/com/google/samples/apps/nowinandroid/core/ui/NewsResourceCardList.kt
index 25a7bd2dc..82bb48d99 100644
--- a/core-ui/src/main/java/com/google/samples/apps/nowinandroid/core/ui/NewsResourceCardList.kt
+++ b/core-ui/src/main/java/com/google/samples/apps/nowinandroid/core/ui/NewsResourceCardList.kt
@@ -30,16 +30,12 @@ import com.google.samples.apps.nowinandroid.core.model.data.NewsResource
* [List] [T].
*
* [newsResourceMapper] maps type [T] to a [NewsResource]
- * [isBookmarkedMapper] maps type [T] to whether the [NewsResource] is bookmarked
- * [onToggleBookmark] defines the action invoked when a user wishes to bookmark an item
* [onItemClick] optional parameter for action to be performed when the card is clicked. The
* default action launches an intent matching the card.
*/
fun LazyListScope.newsResourceCardItems(
items: List,
newsResourceMapper: (item: T) -> NewsResource,
- isBookmarkedMapper: (item: T) -> Boolean,
- onToggleBookmark: (item: T) -> Unit,
onItemClick: ((item: T) -> Unit)? = null,
itemModifier: Modifier = Modifier,
) = items(
@@ -53,8 +49,6 @@ fun LazyListScope.newsResourceCardItems(
NewsResourceCardExpanded(
newsResource = newsResource,
- isBookmarked = isBookmarkedMapper(item),
- onToggleBookmark = { onToggleBookmark(item) },
onClick = {
when (onItemClick) {
null -> ContextCompat.startActivity(context, launchResourceIntent, null)
diff --git a/feature-author/src/main/java/com/google/samples/apps/nowinandroid/feature/author/AuthorScreen.kt b/feature-author/src/main/java/com/google/samples/apps/nowinandroid/feature/author/AuthorScreen.kt
index 74c72624d..470b4387b 100644
--- a/feature-author/src/main/java/com/google/samples/apps/nowinandroid/feature/author/AuthorScreen.kt
+++ b/feature-author/src/main/java/com/google/samples/apps/nowinandroid/feature/author/AuthorScreen.kt
@@ -180,8 +180,6 @@ private fun LazyListScope.authorCards(news: NewsUiState) {
newsResourceCardItems(
items = news.news,
newsResourceMapper = { it },
- isBookmarkedMapper = { /* TODO */ false },
- onToggleBookmark = { /* TODO */ },
itemModifier = Modifier.padding(24.dp)
)
}
@@ -211,7 +209,7 @@ private fun AuthorToolbar(
IconButton(onClick = { onBackClick() }) {
Icon(
imageVector = Filled.ArrowBack,
- contentDescription = stringResource(id = R.string.back)
+ contentDescription = stringResource(id = string.back)
)
}
val selected = uiState.isFollowed
diff --git a/feature-foryou/src/main/java/com/google/samples/apps/nowinandroid/feature/foryou/ForYouScreen.kt b/feature-foryou/src/main/java/com/google/samples/apps/nowinandroid/feature/foryou/ForYouScreen.kt
index cd996c3f3..0825f0305 100644
--- a/feature-foryou/src/main/java/com/google/samples/apps/nowinandroid/feature/foryou/ForYouScreen.kt
+++ b/feature-foryou/src/main/java/com/google/samples/apps/nowinandroid/feature/foryou/ForYouScreen.kt
@@ -455,7 +455,6 @@ private fun LazyListScope.Feed(
NewsResourceCardExpanded(
newsResource = saveableNewsResource.newsResource,
- isBookmarked = saveableNewsResource.isSaved,
onClick = {
ContextCompat.startActivity(
context,
@@ -463,12 +462,6 @@ private fun LazyListScope.Feed(
null
)
},
- onToggleBookmark = {
- onNewsResourcesCheckedChanged(
- saveableNewsResource.newsResource.id,
- !saveableNewsResource.isSaved
- )
- }
)
}
}
diff --git a/feature-topic/src/main/java/com/google/samples/apps/nowinandroid/feature/topic/TopicScreen.kt b/feature-topic/src/main/java/com/google/samples/apps/nowinandroid/feature/topic/TopicScreen.kt
index 3cb99d67e..e55f1791e 100644
--- a/feature-topic/src/main/java/com/google/samples/apps/nowinandroid/feature/topic/TopicScreen.kt
+++ b/feature-topic/src/main/java/com/google/samples/apps/nowinandroid/feature/topic/TopicScreen.kt
@@ -17,7 +17,6 @@
package com.google.samples.apps.nowinandroid.feature.topic
import androidx.annotation.VisibleForTesting
-import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
@@ -76,7 +75,6 @@ fun TopicRoute(
)
}
-@OptIn(ExperimentalFoundationApi::class)
@VisibleForTesting
@Composable
internal fun TopicScreen(
@@ -178,8 +176,6 @@ private fun LazyListScope.TopicCards(news: NewsUiState) {
newsResourceCardItems(
items = news.news,
newsResourceMapper = { it },
- isBookmarkedMapper = { /* TODO */ false },
- onToggleBookmark = { /* TODO */ },
itemModifier = Modifier.padding(24.dp)
)
}
@@ -209,7 +205,7 @@ private fun TopicToolbar(
IconButton(onClick = { onBackClick() }) {
Icon(
imageVector = Filled.ArrowBack,
- contentDescription = stringResource(id = R.string.back)
+ contentDescription = stringResource(id = string.back)
)
}
val selected = uiState.isFollowed