From d007fbf4c57868c4c805770e1249f087049f5464 Mon Sep 17 00:00:00 2001 From: Marco Gomiero Date: Tue, 9 Jul 2024 00:46:25 +0200 Subject: [PATCH] Fix sync database name issue --- desktopApp/build.gradle.kts | 1 + .../feedsync/database/DatabaseDriverFactory.kt | 7 ++++++- .../kotlin/com/prof18/feedflow/i18n/Locales.kt | 2 +- iosApp/FeedFlow.xcodeproj/project.pbxproj | 1 + .../shared/domain/feedsync/FeedSyncAndroidWorker.kt | 7 ++++--- .../shared/domain/feedsync/FeedSyncIosWorker.kt | 3 ++- .../shared/domain/feedsync/FeedSyncJvmWorker.kt | 11 ++++++++--- 7 files changed, 23 insertions(+), 9 deletions(-) diff --git a/desktopApp/build.gradle.kts b/desktopApp/build.gradle.kts index de6001eb..c10437ff 100644 --- a/desktopApp/build.gradle.kts +++ b/desktopApp/build.gradle.kts @@ -141,6 +141,7 @@ val macExtraPlistKeys: String de sk pt-BR + es """.trimIndent() diff --git a/feedSync/database/src/jvmMain/kotlin/com/prof18/feedflow/feedsync/database/DatabaseDriverFactory.kt b/feedSync/database/src/jvmMain/kotlin/com/prof18/feedflow/feedsync/database/DatabaseDriverFactory.kt index 7604c23b..fa2db923 100644 --- a/feedSync/database/src/jvmMain/kotlin/com/prof18/feedflow/feedsync/database/DatabaseDriverFactory.kt +++ b/feedSync/database/src/jvmMain/kotlin/com/prof18/feedflow/feedsync/database/DatabaseDriverFactory.kt @@ -17,7 +17,12 @@ internal fun createDatabaseDriver( ): SqlDriver { val appPath = AppDataPathBuilder.getAppDataPath(appEnvironment) - val databasePath = File(appPath, "/${SyncedDatabaseHelper.SYNC_DATABASE_NAME_PROD}.db") + val databaseName = if (appEnvironment.isDebug()) { + SyncedDatabaseHelper.SYNC_DATABASE_NAME_DEBUG + } else { + SyncedDatabaseHelper.SYNC_DATABASE_NAME_PROD + } + val databasePath = File(appPath, "/$databaseName.db") val driver = JdbcSqliteDriver(JdbcSqliteDriver.IN_MEMORY + databasePath.absolutePath, Properties()) diff --git a/i18n/src/commonMain/kotlin/com/prof18/feedflow/i18n/Locales.kt b/i18n/src/commonMain/kotlin/com/prof18/feedflow/i18n/Locales.kt index f413dd3d..467f0353 100644 --- a/i18n/src/commonMain/kotlin/com/prof18/feedflow/i18n/Locales.kt +++ b/i18n/src/commonMain/kotlin/com/prof18/feedflow/i18n/Locales.kt @@ -16,4 +16,4 @@ expect fun String.format(vararg args: Any): String @Suppress("UnusedPrivateProperty") // This is a trick to be sure that KSP re-generates the strings when there's no code updates -private const val StringsVersion = 33 +private const val StringsVersion = 34 diff --git a/iosApp/FeedFlow.xcodeproj/project.pbxproj b/iosApp/FeedFlow.xcodeproj/project.pbxproj index c84d0e78..43ece2fb 100644 --- a/iosApp/FeedFlow.xcodeproj/project.pbxproj +++ b/iosApp/FeedFlow.xcodeproj/project.pbxproj @@ -583,6 +583,7 @@ sk, Base, "pt-BR", + es, ); mainGroup = 7555FF72242A565900829871; packageReferences = ( diff --git a/shared/src/androidMain/kotlin/com/prof18/feedflow/shared/domain/feedsync/FeedSyncAndroidWorker.kt b/shared/src/androidMain/kotlin/com/prof18/feedflow/shared/domain/feedsync/FeedSyncAndroidWorker.kt index 017e0ce3..4c826726 100644 --- a/shared/src/androidMain/kotlin/com/prof18/feedflow/shared/domain/feedsync/FeedSyncAndroidWorker.kt +++ b/shared/src/androidMain/kotlin/com/prof18/feedflow/shared/domain/feedsync/FeedSyncAndroidWorker.kt @@ -9,6 +9,7 @@ import co.touchlab.kermit.Logger import com.prof18.feedflow.core.utils.AppEnvironment import com.prof18.feedflow.core.utils.DispatcherProvider import com.prof18.feedflow.feedsync.database.data.SyncedDatabaseHelper.Companion.SYNC_DATABASE_NAME_DEBUG +import com.prof18.feedflow.feedsync.database.data.SyncedDatabaseHelper.Companion.SYNC_DATABASE_NAME_PROD import com.prof18.feedflow.feedsync.dropbox.DropboxDataSource import com.prof18.feedflow.feedsync.dropbox.DropboxDownloadParam import com.prof18.feedflow.feedsync.dropbox.DropboxSettings @@ -149,19 +150,19 @@ internal class FeedSyncAndroidWorker( return if (appEnvironment.isDebug()) { SYNC_DATABASE_NAME_DEBUG } else { - SYNC_DATABASE_NAME_DEBUG + SYNC_DATABASE_NAME_PROD } } private suspend fun restoreDropboxClient() { if (!dropboxDataSource.isClientSet()) { val stringCredentials = dropboxSettings.getDropboxData() - if (stringCredentials != null) { + if (!stringCredentials.isNullOrEmpty()) { dropboxDataSource.restoreAuth(DropboxStringCredentials(stringCredentials)) } if (!dropboxDataSource.isClientSet()) { - logger.d { "Dropbox client is null" } + logger.e { "Dropbox client is null" } emitErrorMessage() } } diff --git a/shared/src/iosMain/kotlin/com/prof18/feedflow/shared/domain/feedsync/FeedSyncIosWorker.kt b/shared/src/iosMain/kotlin/com/prof18/feedflow/shared/domain/feedsync/FeedSyncIosWorker.kt index 1ed44c20..d797d699 100644 --- a/shared/src/iosMain/kotlin/com/prof18/feedflow/shared/domain/feedsync/FeedSyncIosWorker.kt +++ b/shared/src/iosMain/kotlin/com/prof18/feedflow/shared/domain/feedsync/FeedSyncIosWorker.kt @@ -4,6 +4,7 @@ import co.touchlab.kermit.Logger import com.prof18.feedflow.core.utils.AppEnvironment import com.prof18.feedflow.core.utils.DispatcherProvider import com.prof18.feedflow.feedsync.database.data.SyncedDatabaseHelper.Companion.SYNC_DATABASE_NAME_DEBUG +import com.prof18.feedflow.feedsync.database.data.SyncedDatabaseHelper.Companion.SYNC_DATABASE_NAME_PROD import com.prof18.feedflow.feedsync.dropbox.DropboxDataSource import com.prof18.feedflow.feedsync.dropbox.DropboxDownloadParam import com.prof18.feedflow.feedsync.dropbox.DropboxSettings @@ -159,7 +160,7 @@ internal class FeedSyncIosWorker( return if (appEnvironment.isDebug()) { SYNC_DATABASE_NAME_DEBUG } else { - SYNC_DATABASE_NAME_DEBUG + SYNC_DATABASE_NAME_PROD } } diff --git a/shared/src/jvmMain/kotlin/com/prof18/feedflow/shared/domain/feedsync/FeedSyncJvmWorker.kt b/shared/src/jvmMain/kotlin/com/prof18/feedflow/shared/domain/feedsync/FeedSyncJvmWorker.kt index e0d0bd8c..f6a3c805 100644 --- a/shared/src/jvmMain/kotlin/com/prof18/feedflow/shared/domain/feedsync/FeedSyncJvmWorker.kt +++ b/shared/src/jvmMain/kotlin/com/prof18/feedflow/shared/domain/feedsync/FeedSyncJvmWorker.kt @@ -4,8 +4,8 @@ import co.touchlab.kermit.Logger import com.prof18.feedflow.core.utils.AppDataPathBuilder import com.prof18.feedflow.core.utils.AppEnvironment import com.prof18.feedflow.core.utils.DispatcherProvider -import com.prof18.feedflow.feedsync.database.data.SyncedDatabaseHelper import com.prof18.feedflow.feedsync.database.data.SyncedDatabaseHelper.Companion.SYNC_DATABASE_NAME_DEBUG +import com.prof18.feedflow.feedsync.database.data.SyncedDatabaseHelper.Companion.SYNC_DATABASE_NAME_PROD import com.prof18.feedflow.feedsync.dropbox.DropboxDataSource import com.prof18.feedflow.feedsync.dropbox.DropboxDownloadParam import com.prof18.feedflow.feedsync.dropbox.DropboxSettings @@ -36,7 +36,12 @@ internal class FeedSyncJvmWorker( private val scope = CoroutineScope(SupervisorJob() + Dispatchers.IO) private val appPath = AppDataPathBuilder.getAppDataPath(appEnvironment) - private val databaseFile = File(appPath, "/${SyncedDatabaseHelper.SYNC_DATABASE_NAME_PROD}.db") + private val databaseName = if (appEnvironment.isDebug()) { + SYNC_DATABASE_NAME_DEBUG + } else { + SYNC_DATABASE_NAME_PROD + } + private val databaseFile = File(appPath, "/$databaseName.db") override suspend fun uploadImmediate() { logger.d { "Start Immediate upload" } @@ -136,7 +141,7 @@ internal class FeedSyncJvmWorker( return if (appEnvironment.isDebug()) { SYNC_DATABASE_NAME_DEBUG } else { - SYNC_DATABASE_NAME_DEBUG + SYNC_DATABASE_NAME_PROD } }