mirror of
https://github.com/Myzel394/NumberHub.git
synced 2025-06-18 16:25:27 +02:00
Use moshi codegen
This commit is contained in:
parent
c1e52557a3
commit
02f9474f1f
@ -17,6 +17,7 @@
|
||||
*/
|
||||
|
||||
plugins {
|
||||
id("com.google.devtools.ksp")
|
||||
id("unitto.library")
|
||||
id("unitto.android.library.jacoco")
|
||||
id("unitto.android.hilt")
|
||||
@ -27,6 +28,7 @@ android.namespace = "com.sadellie.unitto.data.backup"
|
||||
dependencies {
|
||||
implementation(libs.androidx.datastore.datastore.preferences)
|
||||
implementation(libs.com.squareup.moshi.moshi.kotlin)
|
||||
ksp(libs.com.squareup.moshi.moshi.kotlin.codegen)
|
||||
|
||||
implementation(project(":data:database"))
|
||||
implementation(project(":data:model"))
|
||||
|
@ -52,7 +52,6 @@ import com.sadellie.unitto.data.userprefs.getUnitConverterFormatTime
|
||||
import com.sadellie.unitto.data.userprefs.getUnitConverterSorting
|
||||
import com.squareup.moshi.JsonAdapter
|
||||
import com.squareup.moshi.Moshi
|
||||
import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.flow.first
|
||||
@ -70,9 +69,7 @@ class BackupManager @Inject constructor(
|
||||
// Not planned at the moment
|
||||
// private val calculatorHistoryDao: CalculatorHistoryDao,
|
||||
) {
|
||||
private val moshi: Moshi = Moshi.Builder()
|
||||
.addLast(KotlinJsonAdapterFactory())
|
||||
.build()
|
||||
private val moshi: Moshi = Moshi.Builder().build()
|
||||
private val jsonAdapter: JsonAdapter<UserData> = moshi.adapter(UserData::class.java)
|
||||
private val auth = "com.sadellie.unitto.BackupManager"
|
||||
|
||||
|
@ -20,36 +20,39 @@ package com.sadellie.unitto.data.backup
|
||||
|
||||
import com.sadellie.unitto.data.database.TimeZoneEntity
|
||||
import com.sadellie.unitto.data.database.UnitsEntity
|
||||
import com.squareup.moshi.Json
|
||||
import com.squareup.moshi.JsonClass
|
||||
|
||||
// Don't move to model module. This uses entity classes from database module
|
||||
data class UserData(
|
||||
val themingMode: String,
|
||||
val enableDynamicTheme: Boolean,
|
||||
val enableAmoledTheme: Boolean,
|
||||
val customColor: Long,
|
||||
val monetMode: String,
|
||||
val startingScreen: String,
|
||||
val enableToolsExperiment: Boolean,
|
||||
val enableVibrations: Boolean,
|
||||
val middleZero: Boolean,
|
||||
val acButton: Boolean,
|
||||
val rpnMode: Boolean,
|
||||
@JsonClass(generateAdapter = true)
|
||||
internal data class UserData(
|
||||
@Json(name = "themingMode") val themingMode: String,
|
||||
@Json(name = "enableDynamicTheme") val enableDynamicTheme: Boolean,
|
||||
@Json(name = "enableAmoledTheme") val enableAmoledTheme: Boolean,
|
||||
@Json(name = "customColor") val customColor: Long,
|
||||
@Json(name = "monetMode") val monetMode: String,
|
||||
@Json(name = "startingScreen") val startingScreen: String,
|
||||
@Json(name = "enableToolsExperiment") val enableToolsExperiment: Boolean,
|
||||
@Json(name = "enableVibrations") val enableVibrations: Boolean,
|
||||
@Json(name = "middleZero") val middleZero: Boolean,
|
||||
@Json(name = "acButton") val acButton: Boolean,
|
||||
@Json(name = "rpnMode") val rpnMode: Boolean,
|
||||
|
||||
val precision: Int,
|
||||
val separator: Int,
|
||||
val outputFormat: Int,
|
||||
@Json(name = "precision") val precision: Int,
|
||||
@Json(name = "separator") val separator: Int,
|
||||
@Json(name = "outputFormat") val outputFormat: Int,
|
||||
|
||||
val radianMode: Boolean,
|
||||
val partialHistoryView: Boolean,
|
||||
val clearInputAfterEquals: Boolean,
|
||||
@Json(name = "radianMode") val radianMode: Boolean,
|
||||
@Json(name = "partialHistoryView") val partialHistoryView: Boolean,
|
||||
@Json(name = "clearInputAfterEquals") val clearInputAfterEquals: Boolean,
|
||||
|
||||
val latestLeftSide: String,
|
||||
val latestRightSide: String,
|
||||
val shownUnitGroups: String,
|
||||
val unitConverterFavoritesOnly: Boolean,
|
||||
val unitConverterFormatTime: Boolean,
|
||||
val unitConverterSorting: String,
|
||||
@Json(name = "latestLeftSide") val latestLeftSide: String,
|
||||
@Json(name = "latestRightSide") val latestRightSide: String,
|
||||
@Json(name = "shownUnitGroups") val shownUnitGroups: String,
|
||||
@Json(name = "unitConverterFavoritesOnly") val unitConverterFavoritesOnly: Boolean,
|
||||
@Json(name = "unitConverterFormatTime") val unitConverterFormatTime: Boolean,
|
||||
@Json(name = "unitConverterSorting") val unitConverterSorting: String,
|
||||
|
||||
val unitsTable: List<UnitsEntity>,
|
||||
val timeZoneTable: List<TimeZoneEntity>,
|
||||
@Json(name = "unitsTable") val unitsTable: List<UnitsEntity>,
|
||||
@Json(name = "timeZoneTable") val timeZoneTable: List<TimeZoneEntity>,
|
||||
)
|
||||
|
@ -63,6 +63,7 @@ com-google-dagger-android-hilt-android = { group = "com.google.dagger", name = "
|
||||
com-google-dagger-dagger-android-processor = { group = "com.google.dagger", name = "dagger-android-processor", version.ref = "comGoogleDagger" }
|
||||
com-google-dagger-hilt-compiler = { group = "com.google.dagger", name = "hilt-compiler", version.ref = "comGoogleDagger" }
|
||||
com-squareup-moshi-moshi-kotlin = { group = "com.squareup.moshi", name = "moshi-kotlin", version.ref = "comSquareupMoshiMoshiKotlin" }
|
||||
com-squareup-moshi-moshi-kotlin-codegen = { group = "com.squareup.moshi", name = "moshi-kotlin-codegen", version.ref = "comSquareupMoshiMoshiKotlin" }
|
||||
com-squareup-retrofit2-converter-moshi = { group = "com.squareup.retrofit2", name = "converter-moshi", version.ref = "comSquareupRetrofit2ConverterMoshi" }
|
||||
junit-junit = { group = "junit", name = "junit", version.ref = "junitJunit" }
|
||||
org-burnoutcrew-composereorderable-reorderable = { group = "org.burnoutcrew.composereorderable", name = "reorderable", version.ref = "orgBurnoutcrewComposereorderableReorderable" }
|
||||
|
Loading…
x
Reference in New Issue
Block a user