diff --git a/maestro-cli/src/main/java/maestro/cli/db/KeyValueStore.kt b/maestro-cli/src/main/java/maestro/cli/db/KeyValueStore.kt index 49d68904bc..4998d499d8 100644 --- a/maestro-cli/src/main/java/maestro/cli/db/KeyValueStore.kt +++ b/maestro-cli/src/main/java/maestro/cli/db/KeyValueStore.kt @@ -8,6 +8,10 @@ import kotlin.concurrent.write class KeyValueStore(private val dbFile: File) { private val lock = ReentrantReadWriteLock() + init { + dbFile.createNewFile() + } + fun get(key: String): String? = lock.read { getCurrentDB()[key] } fun set(key: String, value: String) = lock.write { @@ -40,4 +44,4 @@ class KeyValueStore(private val dbFile: File) { .joinToString("\n") ) } -} \ No newline at end of file +} diff --git a/maestro-cli/src/main/java/maestro/cli/session/SessionStore.kt b/maestro-cli/src/main/java/maestro/cli/session/SessionStore.kt index 5c98052b83..7fabdd5655 100644 --- a/maestro-cli/src/main/java/maestro/cli/session/SessionStore.kt +++ b/maestro-cli/src/main/java/maestro/cli/session/SessionStore.kt @@ -9,12 +9,8 @@ object SessionStore { private val keyValueStore by lazy { KeyValueStore( - Paths - .get( - System.getProperty("user.home"), - ".maestro", - "sessions" - ) + dbFile = Paths + .get(System.getProperty("user.home"), ".maestro", "sessions") .toFile() .also { it.parentFile.mkdirs() } ) @@ -23,8 +19,8 @@ object SessionStore { fun heartbeat(sessionId: String, platform: Platform) { synchronized(keyValueStore) { keyValueStore.set( - key(sessionId, platform), - System.currentTimeMillis().toString() + key = key(sessionId, platform), + value = System.currentTimeMillis().toString(), ) pruneInactiveSessions() @@ -74,4 +70,4 @@ object SessionStore { return "${platform}_$sessionId" } -} \ No newline at end of file +}