Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit f4e6c655 authored by Wolf-Martell Montwé's avatar Wolf-Martell Montwé
Browse files

refactor(core-preference): rename DefaultStorage to InMemoryStorage

parent 55fa9f80
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -10,9 +10,9 @@ dependencies {
    api(libs.junit)
    api(libs.robolectric)

    implementation(projects.core.logging.api)
    implementation(projects.core.preference.api)

    implementation(projects.legacy.core)
    implementation(projects.core.preference.impl)

    api(libs.koin.core)
    api(libs.mockito.core)
+9 −5
Original line number Diff line number Diff line
package net.thunderbird.core.android.preferences

import com.fsck.k9.preferences.DefaultStorage
import net.thunderbird.core.logging.Logger
import net.thunderbird.core.preference.storage.InMemoryStorage
import net.thunderbird.core.preference.storage.Storage
import net.thunderbird.core.preference.storage.StorageEditor
import net.thunderbird.core.preference.storage.StoragePersister
import net.thunderbird.core.preference.storage.StorageUpdater

class InMemoryStoragePersister : StoragePersister {
class TestStoragePersister(
    private val logger: Logger,
) : StoragePersister {
    private val values = mutableMapOf<String, Any?>()

    override fun loadValues(): Storage {
        return DefaultStorage(
            values.mapValues { (_, value) ->
        return InMemoryStorage(
            values = values.mapValues { (_, value) ->
                value?.toString() ?: ""
            },
            logger,
        )
    }

@@ -65,7 +69,7 @@ class InMemoryStoragePersister : StoragePersister {
        }

        private fun writeValues(currentStorage: Storage): Storage {
            return DefaultStorage(currentStorage.getAll() - removals + changes)
            return InMemoryStorage(currentStorage.getAll() - removals + changes, logger)
        }
    }
}
+2 −0
Original line number Diff line number Diff line
@@ -10,6 +10,8 @@ kotlin {
    sourceSets {
        commonMain.dependencies {
            api(projects.core.preference.api)

            implementation(projects.core.logging.api)
        }
    }
}
+13 −9
Original line number Diff line number Diff line
package com.fsck.k9.preferences
package net.thunderbird.core.preference.storage

import java.util.Collections
import net.thunderbird.core.logging.legacy.Log
import net.thunderbird.core.preference.storage.Storage
import net.thunderbird.core.logging.Logger

class DefaultStorage(
    values: Map<String, String>,
class InMemoryStorage(
    private val values: Map<String, String>,
    private val logger: Logger,
) : Storage {
    private val values: Map<String, String> = Collections.unmodifiableMap(values)

    override fun isEmpty(): Boolean = values.isEmpty()

@@ -25,7 +23,10 @@ class DefaultStorage(
        return try {
            value.toInt()
        } catch (e: NumberFormatException) {
            Log.e(e, "Could not parse int")
            logger.error(
                message = { "Could not parse int" },
                throwable = e,
            )
            defValue
        }
    }
@@ -35,7 +36,10 @@ class DefaultStorage(
        return try {
            value.toLong()
        } catch (e: NumberFormatException) {
            Log.e(e, "Could not parse long")
            logger.error(
                message = { "Could not parse long" },
                throwable = e,
            )
            defValue
        }
    }
+1 −0
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@ dependencies {
    implementation(projects.backend.pop3)

    implementation(projects.core.featureflag)
    implementation(projects.core.logging.api)
    implementation(projects.feature.launcher)

    implementation(projects.feature.account.setup)
Loading