From f215210ffa0503f0f23f2c40695989bcc2d2b8c0 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Sun, 27 Oct 2024 01:36:58 +0530 Subject: [PATCH] refactor(android): make navigation destinations parcelable --- android/build.gradle.kts | 1 + .../claw/android/ui/navigation/Destination.kt | 20 ++++++++++--------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/android/build.gradle.kts b/android/build.gradle.kts index 0039be93..946f2ef1 100644 --- a/android/build.gradle.kts +++ b/android/build.gradle.kts @@ -17,6 +17,7 @@ plugins { id("dev.msfjarvis.claw.kotlin-kapt") id("dev.msfjarvis.claw.sentry") id("dev.msfjarvis.claw.versioning-plugin") + id("kotlin-parcelize") alias(libs.plugins.aboutlibraries) alias(libs.plugins.android.junit5) alias(libs.plugins.anvil) diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/navigation/Destination.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/navigation/Destination.kt index bc4000aa..8396578a 100644 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/navigation/Destination.kt +++ b/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/navigation/Destination.kt @@ -6,22 +6,24 @@ */ package dev.msfjarvis.claw.android.ui.navigation +import android.os.Parcelable +import kotlinx.parcelize.Parcelize import kotlinx.serialization.Serializable -sealed interface Destination +sealed interface Destination : Parcelable -@Serializable data object Hottest : Destination +@Parcelize @Serializable data object Hottest : Destination -@Serializable data object Newest : Destination +@Parcelize @Serializable data object Newest : Destination -@Serializable data object Saved : Destination +@Parcelize @Serializable data object Saved : Destination -@Serializable data class Comments(val postId: String) : Destination +@Parcelize @Serializable data class Comments(val postId: String) : Destination -@Serializable data class User(val username: String) : Destination +@Parcelize @Serializable data class User(val username: String) : Destination -@Serializable data object Search : Destination +@Parcelize @Serializable data object Search : Destination -@Serializable data object Settings : Destination +@Parcelize @Serializable data object Settings : Destination -@Serializable data object AboutLibraries : Destination +@Parcelize @Serializable data object AboutLibraries : Destination