Skip to content

Commit

Permalink
Add javadoc.
Browse files Browse the repository at this point in the history
  • Loading branch information
lucaslabari committed Jan 8, 2024
1 parent 8163550 commit f3a9ae6
Show file tree
Hide file tree
Showing 16 changed files with 76 additions and 60 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import io.embrace.android.embracesdk.comms.api.SerializationAction
import io.embrace.android.embracesdk.internal.serialization.EmbraceSerializer
import io.embrace.android.embracesdk.logging.InternalEmbraceLogger
import io.embrace.android.embracesdk.payload.SessionMessage
import io.embrace.android.embracesdk.storage.StorageManager
import io.embrace.android.embracesdk.storage.StorageService
import java.io.File
import java.io.FileNotFoundException

Expand All @@ -14,7 +14,7 @@ import java.io.FileNotFoundException
* Since v6.3.0, the files directory is used instead.
*/
internal class EmbraceCacheService(
private val storageManager: StorageManager,
private val storageService: StorageService,
private val serializer: EmbraceSerializer,
private val logger: InternalEmbraceLogger
) : CacheService {
Expand Down Expand Up @@ -120,7 +120,7 @@ internal class EmbraceCacheService(
}

override fun listFilenamesByPrefix(prefix: String): List<String> {
return storageManager.listFiles { _, name ->
return storageService.listFiles { _, name ->
name.startsWith(EMBRACE_PREFIX + prefix)
}.map { file -> file.name.substring(EMBRACE_PREFIX.length) }

Check warning on line 125 in embrace-android-sdk/src/main/java/io/embrace/android/embracesdk/comms/delivery/EmbraceCacheService.kt

View check run for this annotation

Codecov / codecov/patch

embrace-android-sdk/src/main/java/io/embrace/android/embracesdk/comms/delivery/EmbraceCacheService.kt#L123-L125

Added lines #L123 - L125 were not covered by tests
}
Expand Down Expand Up @@ -156,7 +156,7 @@ internal class EmbraceCacheService(
* The files directory is the default directory.
*/
private fun getFileFromFilesDir(name: String): File {
return storageManager.getFile(EMBRACE_PREFIX + name, false)
return storageService.getFile(EMBRACE_PREFIX + name, false)
}

/**
Expand All @@ -165,7 +165,7 @@ internal class EmbraceCacheService(
* in the cache directory for backwards compatibility.
*/
private fun getFileFromFilesOrCacheDir(name: String): File {
return storageManager.getFile(EMBRACE_PREFIX + name, true)
return storageService.getFile(EMBRACE_PREFIX + name, true)
}

companion object {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ internal class CrashModuleImpl(

private val crashMarker: CrashFileMarker by singleton {
val markerFile = lazy {
storageModule.storageManager.getFile(
storageModule.storageService.getFile(
CrashFileMarker.CRASH_MARKER_FILE_NAME,
false
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,17 @@ import io.embrace.android.embracesdk.comms.delivery.CacheService
import io.embrace.android.embracesdk.comms.delivery.DeliveryCacheManager
import io.embrace.android.embracesdk.comms.delivery.EmbraceCacheService
import io.embrace.android.embracesdk.comms.delivery.EmbraceDeliveryCacheManager
import io.embrace.android.embracesdk.storage.EmbraceStorageManager
import io.embrace.android.embracesdk.storage.StorageManager
import io.embrace.android.embracesdk.storage.EmbraceStorageService
import io.embrace.android.embracesdk.storage.StorageService
import io.embrace.android.embracesdk.worker.WorkerName
import io.embrace.android.embracesdk.worker.WorkerThreadModule
import java.io.File

/**
* Contains dependencies that are used to store data in the device's storage.
*/
internal interface StorageModule {
val storageManager: StorageManager
val storageService: StorageService
val cache: ApiResponseCache
val cacheService: CacheService
val deliveryCacheManager: DeliveryCacheManager
Expand All @@ -27,19 +30,19 @@ internal class StorageModuleImpl(
private val deliveryCacheWorker =
workerThreadModule.backgroundWorker(WorkerName.DELIVERY_CACHE)

override val storageManager: StorageManager by singleton {
EmbraceStorageManager(coreModule)
override val storageService: StorageService by singleton {
EmbraceStorageService(coreModule)
}

override val cache by singleton {
ApiResponseCache(
coreModule.jsonSerializer,
{ File(storageManager.cacheDirectory.value, "emb_config_cache") }
{ File(storageService.cacheDirectory.value, "emb_config_cache") }
)
}

override val cacheService: CacheService by singleton {
EmbraceCacheService(storageManager, coreModule.jsonSerializer, coreModule.logger)
EmbraceCacheService(storageService, coreModule.jsonSerializer, coreModule.logger)
}

override val deliveryCacheManager: DeliveryCacheManager by singleton {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ import io.embrace.android.embracesdk.payload.NativeSymbols
import io.embrace.android.embracesdk.session.lifecycle.ProcessStateListener
import io.embrace.android.embracesdk.session.lifecycle.ProcessStateService
import io.embrace.android.embracesdk.session.properties.EmbraceSessionProperties
import io.embrace.android.embracesdk.storage.StorageManager
import io.embrace.android.embracesdk.storage.StorageService
import io.embrace.android.embracesdk.worker.BackgroundWorker
import java.io.BufferedReader
import java.io.File
Expand All @@ -42,7 +42,7 @@ import java.util.Locale

internal class EmbraceNdkService(
private val context: Context,
private val storageManager: StorageManager,
private val storageService: StorageService,
private val metadataService: MetadataService,
processStateService: ProcessStateService,
private val configService: ConfigService,
Expand Down Expand Up @@ -203,7 +203,7 @@ internal class EmbraceNdkService(
}

private fun createCrashReportDirectory() {
val directoryFile = storageManager.getFile(NATIVE_CRASH_FILE_FOLDER, false)
val directoryFile = storageService.getFile(NATIVE_CRASH_FILE_FOLDER, false)
if (directoryFile.exists()) {
return
}
Expand All @@ -214,9 +214,9 @@ internal class EmbraceNdkService(

private fun installSignals() {
val reportBasePath =
storageManager.getFile(NATIVE_CRASH_FILE_FOLDER, false).absolutePath
storageService.getFile(NATIVE_CRASH_FILE_FOLDER, false).absolutePath
val markerFilePath =
storageManager.getFile(CrashFileMarker.CRASH_MARKER_FILE_NAME, false).absolutePath
storageService.getFile(CrashFileMarker.CRASH_MARKER_FILE_NAME, false).absolutePath

logger.logDeveloper("EmbraceNDKService", "Creating report path at $reportBasePath")

Expand Down Expand Up @@ -407,7 +407,7 @@ internal class EmbraceNdkService(
}

private fun getNativeFiles(filter: FilenameFilter): Array<File> {
val ndkDirs: List<File> = storageManager.listFiles { file, name ->
val ndkDirs: List<File> = storageService.listFiles { file, name ->

Check warning on line 410 in embrace-android-sdk/src/main/java/io/embrace/android/embracesdk/ndk/EmbraceNdkService.kt

View check run for this annotation

Codecov / codecov/patch

embrace-android-sdk/src/main/java/io/embrace/android/embracesdk/ndk/EmbraceNdkService.kt#L410

Added line #L410 was not covered by tests
file.isDirectory && name == NATIVE_CRASH_FILE_FOLDER
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package io.embrace.android.embracesdk.ndk

import io.embrace.android.embracesdk.logging.InternalEmbraceLogger
import io.embrace.android.embracesdk.payload.NativeCrashData
import io.embrace.android.embracesdk.storage.StorageManager
import io.embrace.android.embracesdk.storage.StorageService
import java.io.File
import java.io.FilenameFilter

Expand All @@ -16,7 +16,7 @@ private const val NATIVE_CRASH_MAP_FILE_SUFFIX = ".map"
* Encapsulates the logic of managing Files to get, sort and or delete them
*/
internal class EmbraceNdkServiceRepository(
private val storageManager: StorageManager,
private val storageService: StorageService,
private val logger: InternalEmbraceLogger
) {

Expand Down Expand Up @@ -59,7 +59,7 @@ internal class EmbraceNdkServiceRepository(
}

private fun getNativeFiles(filter: FilenameFilter): Array<File> {
val ndkDirs: List<File> = storageManager.listFiles { file, name ->
val ndkDirs: List<File> = storageService.listFiles { file, name ->
file.isDirectory && name == NATIVE_CRASH_FILE_FOLDER
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ internal class NativeModuleImpl(
override val ndkService: NdkService by singleton {
EmbraceNdkService(
coreModule.context,
storageModule.storageManager,
storageModule.storageService,
essentialServiceModule.metadataService,
essentialServiceModule.processStateService,
essentialServiceModule.configService,
Expand Down Expand Up @@ -77,7 +77,7 @@ internal class NativeModuleImpl(

private val embraceNdkServiceRepository by singleton {
EmbraceNdkServiceRepository(
storageModule.storageManager,
storageModule.storageService,
coreModule.logger
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import io.embrace.android.embracesdk.injection.CoreModule
import java.io.File
import java.io.FilenameFilter

internal class EmbraceStorageManager(
internal class EmbraceStorageService(
private val coreModule: CoreModule
) : StorageManager {
) : StorageService {

override val cacheDirectory: Lazy<File> = lazy {
coreModule.context.cacheDir
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package io.embrace.android.embracesdk.storage

import java.io.File
import java.io.FilenameFilter

/**
* Provides File instances for the cache and files directories.
* Previous versions of the SDK used to store files in the cache directory, but now we use the
* files directory for everything except the config cache.
*/
internal interface StorageService {

val cacheDirectory: Lazy<File>
val filesDirectory: Lazy<File>

/**
* Returns a file instance with the specified [name] from [filesDirectory] or [cacheDirectory]
* if [fallback] is true and the file doesn't exist in the [filesDirectory].
*/
fun getFile(name: String, fallback: Boolean): File

/**
* Returns a list of files from the [filesDirectory] and [cacheDirectory] that match the
* specified [filter].
*/
fun listFiles(filter: FilenameFilter): List<File>
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import io.embrace.android.embracesdk.comms.delivery.CacheService
import io.embrace.android.embracesdk.comms.delivery.EmbraceCacheService
import io.embrace.android.embracesdk.comms.delivery.PendingApiCall
import io.embrace.android.embracesdk.comms.delivery.PendingApiCalls
import io.embrace.android.embracesdk.fakes.FakeStorageManager
import io.embrace.android.embracesdk.fakes.FakeStorageService
import io.embrace.android.embracesdk.fakes.fakeSession
import io.embrace.android.embracesdk.internal.serialization.EmbraceSerializer
import io.embrace.android.embracesdk.logging.InternalEmbraceLogger
Expand All @@ -26,13 +26,13 @@ import java.io.File
internal class EmbraceCacheServiceTest {

private lateinit var service: CacheService
private lateinit var storageManager: FakeStorageManager
private lateinit var storageManager: FakeStorageService

private val serializer = EmbraceSerializer()

@Before
fun setUp() {
storageManager = FakeStorageManager()
storageManager = FakeStorageService()
service = EmbraceCacheService(
storageManager,
serializer,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package io.embrace.android.embracesdk.fakes

import io.embrace.android.embracesdk.storage.StorageManager
import io.embrace.android.embracesdk.storage.StorageService
import java.io.File
import java.io.FilenameFilter
import java.nio.file.Files

internal class FakeStorageManager : StorageManager {
internal class FakeStorageService : StorageService {

override val cacheDirectory = lazy {
Files.createTempDirectory("cache_temp").toFile()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@ import io.embrace.android.embracesdk.comms.delivery.CacheService
import io.embrace.android.embracesdk.comms.delivery.DeliveryCacheManager
import io.embrace.android.embracesdk.fakes.FakeCacheService
import io.embrace.android.embracesdk.fakes.FakeDeliveryCacheManager
import io.embrace.android.embracesdk.fakes.FakeStorageManager
import io.embrace.android.embracesdk.fakes.FakeStorageService
import io.embrace.android.embracesdk.injection.StorageModule
import io.embrace.android.embracesdk.storage.StorageManager
import io.embrace.android.embracesdk.storage.StorageService

internal class FakeStorageModule(
override val cacheService: CacheService = FakeCacheService(),
override val deliveryCacheManager: DeliveryCacheManager = FakeDeliveryCacheManager(),
override val storageManager: StorageManager = FakeStorageManager()
override val storageService: StorageService = FakeStorageService()
) : StorageModule {

override val cache: ApiResponseCache
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package io.embrace.android.embracesdk.injection
import io.embrace.android.embracesdk.comms.delivery.EmbraceCacheService
import io.embrace.android.embracesdk.comms.delivery.EmbraceDeliveryCacheManager
import io.embrace.android.embracesdk.fakes.injection.FakeCoreModule
import io.embrace.android.embracesdk.storage.EmbraceStorageManager
import io.embrace.android.embracesdk.storage.EmbraceStorageService
import io.embrace.android.embracesdk.worker.WorkerThreadModuleImpl
import org.junit.Assert.assertNotNull
import org.junit.Assert.assertTrue
Expand All @@ -19,11 +19,11 @@ internal class StorageModuleImplTest {
coreModule = FakeCoreModule(),
)

assertNotNull(module.storageManager)
assertNotNull(module.storageService)
assertNotNull(module.cache)
assertNotNull(module.cacheService)
assertNotNull(module.deliveryCacheManager)
assertTrue(module.storageManager is EmbraceStorageManager)
assertTrue(module.storageService is EmbraceStorageService)
assertTrue(module.cacheService is EmbraceCacheService)
assertTrue(module.deliveryCacheManager is EmbraceDeliveryCacheManager)
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package io.embrace.android.embracesdk.ndk

import io.embrace.android.embracesdk.fakes.FakeStorageManager
import io.embrace.android.embracesdk.fakes.FakeStorageService
import io.embrace.android.embracesdk.logging.InternalEmbraceLogger
import io.embrace.android.embracesdk.payload.NativeCrashData
import io.mockk.every
Expand All @@ -20,14 +20,14 @@ internal class EmbraceNdkServiceRepositoryTest {

companion object {
private lateinit var repository: EmbraceNdkServiceRepository
private lateinit var storageManager: FakeStorageManager
private lateinit var storageManager: FakeStorageService
private lateinit var logger: InternalEmbraceLogger

@BeforeClass
@JvmStatic
fun beforeClass() {
mockkStatic(InternalEmbraceLogger::class)
storageManager = FakeStorageManager()
storageManager = FakeStorageService()
logger = mockk(relaxed = true)
repository = EmbraceNdkServiceRepository(storageManager, logger)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import io.embrace.android.embracesdk.fakes.FakeConfigService
import io.embrace.android.embracesdk.fakes.FakeDeviceArchitecture
import io.embrace.android.embracesdk.fakes.FakePreferenceService
import io.embrace.android.embracesdk.fakes.FakeProcessStateService
import io.embrace.android.embracesdk.fakes.FakeStorageManager
import io.embrace.android.embracesdk.fakes.FakeStorageService
import io.embrace.android.embracesdk.fakes.FakeUserService
import io.embrace.android.embracesdk.fakes.fakeAutoDataCaptureBehavior
import io.embrace.android.embracesdk.fakes.system.mockContext
Expand Down Expand Up @@ -57,7 +57,7 @@ internal class EmbraceNdkServiceTest {
companion object {
private lateinit var embraceNdkService: EmbraceNdkService
private lateinit var context: Context
private lateinit var storageManager: FakeStorageManager
private lateinit var storageManager: FakeStorageService
private lateinit var metadataService: MetadataService
private lateinit var configService: ConfigService
private lateinit var activityService: FakeProcessStateService
Expand All @@ -81,7 +81,7 @@ internal class EmbraceNdkServiceTest {
mockkStatic(Uuid::class)
mockkStatic(Embrace::class)
context = mockContext()
storageManager = FakeStorageManager()
storageManager = FakeStorageService()
metadataService = FakeAndroidMetadataService()
localConfig = LocalConfig("", false, SdkLocalConfig())
configService =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ import org.junit.Test
import java.io.File
import java.nio.file.Files

internal class EmbraceStorageManagerTest {
internal class EmbraceStorageServiceTest {

private lateinit var storageManager: EmbraceStorageManager
private lateinit var storageManager: EmbraceStorageService
private lateinit var cacheDir: File
private lateinit var filesDir: File
private lateinit var filesDirPath: String
Expand All @@ -27,7 +27,7 @@ internal class EmbraceStorageManagerTest {
val ctx = mockk<Context>()
every { ctx.cacheDir } returns cacheDir
every { ctx.filesDir } returns filesDir
storageManager = EmbraceStorageManager(
storageManager = EmbraceStorageService(
coreModule = FakeCoreModule(context = ctx),
)
}
Expand Down

0 comments on commit f3a9ae6

Please sign in to comment.