outbox sync
This commit is contained in:
@@ -40,6 +40,11 @@ android {
|
||||
compose = true
|
||||
buildConfig = true
|
||||
}
|
||||
testOptions {
|
||||
unitTests {
|
||||
isIncludeAndroidResources = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
@@ -81,4 +86,11 @@ dependencies {
|
||||
implementation(libs.coil.compose)
|
||||
|
||||
debugImplementation(libs.androidx.compose.ui.tooling)
|
||||
|
||||
testImplementation(libs.junit)
|
||||
testImplementation(libs.robolectric)
|
||||
testImplementation(libs.androidx.test.core)
|
||||
testImplementation(libs.androidx.arch.core.testing)
|
||||
testImplementation(libs.kotlinx.coroutines.test)
|
||||
testImplementation(libs.androidx.room.testing)
|
||||
}
|
||||
+2
-1
@@ -8,6 +8,7 @@ import com.vaultdrop.mobile.data.local.entity.FileStatus
|
||||
import com.vaultdrop.mobile.data.remote.ApiClient
|
||||
import com.vaultdrop.mobile.data.remote.dto.FileDto
|
||||
import com.vaultdrop.mobile.domain.GenerateId
|
||||
import com.vaultdrop.mobile.domain.SyncPlacement
|
||||
import com.vaultdrop.mobile.domain.computeCategory
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import javax.inject.Inject
|
||||
@@ -173,7 +174,7 @@ class FileRepository @Inject constructor(
|
||||
// Le snapshot serveur confirme la présence cloud : si une copie
|
||||
// physique existe aussi, placement local-cloud (jamais d'écrasement
|
||||
// de l'uri / de régression du placement).
|
||||
syncStatus = if (existing?.uri != null) FileStatus.LOCAL_CLOUD else FileStatus.CLOUD,
|
||||
syncStatus = SyncPlacement.confirmed(existing?.uri != null),
|
||||
processed = existing?.processed ?: false,
|
||||
addedAt = existing?.addedAt ?: now,
|
||||
updatedAt = now,
|
||||
|
||||
+2
-1
@@ -9,6 +9,7 @@ import com.vaultdrop.mobile.data.remote.ApiClient
|
||||
import com.vaultdrop.mobile.data.remote.dto.FolderDto
|
||||
import com.vaultdrop.mobile.domain.DeviceIdentity
|
||||
import com.vaultdrop.mobile.domain.GenerateId
|
||||
import com.vaultdrop.mobile.domain.SyncPlacement
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
@@ -77,7 +78,7 @@ class FolderRepository @Inject constructor(
|
||||
// Le snapshot serveur confirme la présence cloud : si une copie
|
||||
// physique existe aussi, placement local-cloud (jamais d'écrasement
|
||||
// de l'uri / de régression du placement).
|
||||
syncStatus = if (existing?.uri != null) FolderStatus.LOCAL_CLOUD else FolderStatus.CLOUD,
|
||||
syncStatus = SyncPlacement.confirmed(existing?.uri != null),
|
||||
addedAt = existing?.addedAt ?: now,
|
||||
updatedAt = now,
|
||||
)
|
||||
|
||||
@@ -17,6 +17,11 @@ moshi = "1.15.1"
|
||||
securityCrypto = "1.0.0"
|
||||
timber = "5.0.1"
|
||||
coil = "2.7.0"
|
||||
junit = "4.13.2"
|
||||
robolectric = "4.14.1"
|
||||
androidxTestCore = "1.6.1"
|
||||
archCore = "2.2.0"
|
||||
coroutinesTest = "1.9.0"
|
||||
|
||||
[libraries]
|
||||
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
|
||||
@@ -50,6 +55,12 @@ moshi-kotlin = { group = "com.squareup.moshi", name = "moshi-kotlin", version.re
|
||||
androidx-security-crypto = { group = "androidx.security", name = "security-crypto", version.ref = "securityCrypto" }
|
||||
timber = { group = "com.jakewharton.timber", name = "timber", version.ref = "timber" }
|
||||
coil-compose = { group = "io.coil-kt", name = "coil-compose", version.ref = "coil" }
|
||||
junit = { group = "junit", name = "junit", version.ref = "junit" }
|
||||
robolectric = { group = "org.robolectric", name = "robolectric", version.ref = "robolectric" }
|
||||
androidx-test-core = { group = "androidx.test", name = "core-ktx", version.ref = "androidxTestCore" }
|
||||
androidx-arch-core-testing = { group = "androidx.arch.core", name = "core-testing", version.ref = "archCore" }
|
||||
kotlinx-coroutines-test = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-test", version.ref = "coroutinesTest" }
|
||||
androidx-room-testing = { group = "androidx.room", name = "room-testing", version.ref = "room" }
|
||||
|
||||
[plugins]
|
||||
android-application = { id = "com.android.application", version.ref = "agp" }
|
||||
|
||||
Reference in New Issue
Block a user