Skip to content

Commit 8a297e7

Browse files
committed
[REFACTOR/#212] GSON -> kotlinx.serialization 마이그레이션
1 parent 4cd446c commit 8a297e7

File tree

5 files changed

+7
-9
lines changed

5 files changed

+7
-9
lines changed

domain/build.gradle.kts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,5 @@ android {
1010
}
1111

1212
dependencies {
13-
implementation(libs.gson)
1413
implementation(libs.kotlinx.serialization.json)
1514
}

domain/src/main/java/com/yapp/domain/model/Alarm.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ package com.yapp.domain.model
22

33
import android.net.Uri
44
import android.os.Parcelable
5-
import com.google.gson.Gson
6-
import com.google.gson.reflect.TypeToken
75
import kotlinx.parcelize.Parcelize
86
import kotlinx.serialization.Serializable
7+
import kotlinx.serialization.encodeToString
8+
import kotlinx.serialization.json.Json
99

1010
@Parcelize
1111
@Serializable
@@ -39,11 +39,11 @@ data class Alarm(
3939

4040
companion object {
4141
fun fromJson(json: String): Alarm {
42-
return Gson().fromJson(json, object : TypeToken<Alarm>() {}.type)
42+
return Json.decodeFromString(json)
4343
}
4444
}
4545

46-
override fun toString(): String = Uri.encode(Gson().toJson(this))
46+
override fun toString(): String = Uri.encode(Json.encodeToString(this))
4747
}
4848

4949
fun Alarm.copyFrom(source: Alarm): Alarm {

feature/alarm-interaction/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,6 @@ dependencies {
2121
implementation(libs.orbit.viewmodel)
2222
implementation(libs.androidx.material.android)
2323
implementation(libs.androidx.annotation)
24-
implementation(libs.gson)
2524
implementation(libs.play.services.ads)
25+
implementation(libs.kotlinx.serialization.json)
2626
}

feature/alarm-interaction/src/main/java/com/yapp/alarm/interaction/AlarmInteractionNavGraph.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@ import androidx.navigation.NavType
77
import androidx.navigation.compose.composable
88
import androidx.navigation.navOptions
99
import androidx.navigation.navigation
10-
import com.google.gson.Gson
1110
import com.yapp.alarm.interaction.action.AlarmActionRoute
1211
import com.yapp.alarm.interaction.snooze.AlarmSnoozeTimerRoute
1312
import com.yapp.common.navigation.OrbitNavigator
1413
import com.yapp.common.navigation.route.AlarmInteractionBaseRoute
1514
import com.yapp.common.navigation.route.AlarmInteractionDestination
1615
import com.yapp.domain.model.Alarm
16+
import kotlinx.serialization.json.Json
1717
import kotlin.reflect.typeOf
1818

1919
val AlarmArgType = object : NavType<Alarm>(isNullableAllowed = false) {
@@ -26,7 +26,7 @@ val AlarmArgType = object : NavType<Alarm>(isNullableAllowed = false) {
2626
}
2727

2828
override fun put(bundle: Bundle, key: String, value: Alarm) {
29-
bundle.putString(key, Gson().toJson(value))
29+
bundle.putString(key, Json.encodeToString(Alarm.serializer(), value))
3030
}
3131
}
3232

gradle/libs.versions.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,6 @@ okhttp-logging = { group = "com.squareup.okhttp3", name = "logging-interceptor",
149149
flexible-bottomsheet = { group = "com.github.skydoves", name = "flexible-bottomsheet-material3", version.ref = "flexible-bottomsheet" }
150150
#sentry-android = { group = "io.sentry", name = "sentry-android", version.ref = "sentry-android" }
151151
#sentry-compose = { group = "io.sentry", name = "sentry-compose", version.ref = "sentry-compose" }
152-
gson = { group = "com.google.code.gson", name = "gson", version.ref = "gson" }
153152

154153
# Google Libraries
155154
firebase-bom = { group = "com.google.firebase", name = "firebase-bom", version.ref = "firebase-bom" }

0 commit comments

Comments
 (0)