From c99c4478f22968e35092dae8e8b70eaa45a6b69d Mon Sep 17 00:00:00 2001 From: tzugen Date: Sat, 22 May 2021 11:18:29 +0200 Subject: [PATCH] Remove file storage code from RESTAPI class --- core/cache/build.gradle | 12 --- .../org/moire/ultrasonic/cache/Directories.kt | 14 ---- .../ultrasonic/cache/PermanentFileStorage.kt | 75 ----------------- .../cache/serializers/ArtistSerializer.kt | 65 --------------- .../cache/serializers/IndexesSerializer.kt | 51 ------------ .../serializers/MusicFolderSerializer.kt | 51 ------------ .../moire/ultrasonic/cache/BaseStorageTest.kt | 42 ---------- .../cache/PermanentFileStorageTest.kt | 80 ------------------- .../cache/serializers/ArtistSerializerTest.kt | 57 ------------- .../serializers/IndexesSerializerTest.kt | 38 --------- .../serializers/MusicFolderSerializerTest.kt | 57 ------------- dependencies.gradle | 2 - settings.gradle | 1 - ultrasonic/build.gradle | 1 - .../kotlin/org/moire/ultrasonic/app/UApp.kt | 2 - .../ultrasonic/cache/AndroidDirectories.kt | 17 ---- .../moire/ultrasonic/di/DirectoriesModule.kt | 13 --- .../moire/ultrasonic/di/MusicServiceModule.kt | 6 -- 18 files changed, 584 deletions(-) delete mode 100644 core/cache/build.gradle delete mode 100644 core/cache/src/main/kotlin/org/moire/ultrasonic/cache/Directories.kt delete mode 100644 core/cache/src/main/kotlin/org/moire/ultrasonic/cache/PermanentFileStorage.kt delete mode 100644 core/cache/src/main/kotlin/org/moire/ultrasonic/cache/serializers/ArtistSerializer.kt delete mode 100644 core/cache/src/main/kotlin/org/moire/ultrasonic/cache/serializers/IndexesSerializer.kt delete mode 100644 core/cache/src/main/kotlin/org/moire/ultrasonic/cache/serializers/MusicFolderSerializer.kt delete mode 100644 core/cache/src/test/kotlin/org/moire/ultrasonic/cache/BaseStorageTest.kt delete mode 100644 core/cache/src/test/kotlin/org/moire/ultrasonic/cache/PermanentFileStorageTest.kt delete mode 100644 core/cache/src/test/kotlin/org/moire/ultrasonic/cache/serializers/ArtistSerializerTest.kt delete mode 100644 core/cache/src/test/kotlin/org/moire/ultrasonic/cache/serializers/IndexesSerializerTest.kt delete mode 100644 core/cache/src/test/kotlin/org/moire/ultrasonic/cache/serializers/MusicFolderSerializerTest.kt delete mode 100644 ultrasonic/src/main/kotlin/org/moire/ultrasonic/cache/AndroidDirectories.kt delete mode 100644 ultrasonic/src/main/kotlin/org/moire/ultrasonic/di/DirectoriesModule.kt diff --git a/core/cache/build.gradle b/core/cache/build.gradle deleted file mode 100644 index 4f9d6446..00000000 --- a/core/cache/build.gradle +++ /dev/null @@ -1,12 +0,0 @@ -apply from: bootstrap.kotlinModule - -dependencies { - api project(':core:domain') - api other.twitterSerial - - testImplementation testing.kotlinJunit - testImplementation testing.mockito - testImplementation testing.mockitoInline - testImplementation testing.mockitoKotlin - testImplementation testing.kluent -} diff --git a/core/cache/src/main/kotlin/org/moire/ultrasonic/cache/Directories.kt b/core/cache/src/main/kotlin/org/moire/ultrasonic/cache/Directories.kt deleted file mode 100644 index ad0aa6de..00000000 --- a/core/cache/src/main/kotlin/org/moire/ultrasonic/cache/Directories.kt +++ /dev/null @@ -1,14 +0,0 @@ -package org.moire.ultrasonic.cache - -import java.io.File - -/** - * Provides access to generic directories: - * - for temporary caches - * - for permanent data storage - */ -interface Directories { - fun getInternalCacheDir(): File - fun getInternalDataDir(): File - fun getExternalCacheDir(): File? -} diff --git a/core/cache/src/main/kotlin/org/moire/ultrasonic/cache/PermanentFileStorage.kt b/core/cache/src/main/kotlin/org/moire/ultrasonic/cache/PermanentFileStorage.kt deleted file mode 100644 index 767e23eb..00000000 --- a/core/cache/src/main/kotlin/org/moire/ultrasonic/cache/PermanentFileStorage.kt +++ /dev/null @@ -1,75 +0,0 @@ -package org.moire.ultrasonic.cache - -import com.twitter.serial.serializer.SerializationContext -import com.twitter.serial.serializer.Serializer -import com.twitter.serial.stream.Serial -import com.twitter.serial.stream.bytebuffer.ByteBufferSerial -import java.io.File - -typealias DomainEntitySerializer = Serializer - -internal const val STORAGE_DIR_NAME = "persistent_storage" - -/** - * Provides access to permanent file based storage. - * - * [serverId] is currently active server. Should be unique per server so stored data will not - * interfere with other server data. - * - * Look at [org.moire.ultrasonic.cache.serializers] package for available [DomainEntitySerializer]s. - */ -class PermanentFileStorage( - private val directories: Directories, - private val serverId: String, - private val debug: Boolean = false -) { - private val serializationContext = object : SerializationContext { - override fun isDebug(): Boolean = debug - override fun isRelease(): Boolean = !debug - } - - private val serializer: Serial = ByteBufferSerial(serializationContext) - - /** - * Stores given [objectToStore] using [name] as a key and [objectSerializer] as serializer. - */ - fun store( - name: String, - objectToStore: T, - objectSerializer: DomainEntitySerializer - ) { - val storeFile = getFile(name) - if (!storeFile.exists()) storeFile.createNewFile() - storeFile.writeBytes(serializer.toByteArray(objectToStore, objectSerializer)) - } - - /** - * Loads object with [name] key using [objectDeserializer] deserializer. - */ - fun load( - name: String, - objectDeserializer: DomainEntitySerializer - ): T? { - val storeFile = getFile(name) - if (!storeFile.exists()) return null - - return serializer.fromByteArray(storeFile.readBytes(), objectDeserializer) - } - - /** - * Clear all files in storage. - */ - fun clearAll() { - val storageDir = getStorageDir() - storageDir.listFiles().forEach { it.deleteRecursively() } - } - - private fun getFile(name: String) = File(getStorageDir(), "$name.ser") - - private fun getStorageDir(): File { - val mainDir = File(directories.getInternalDataDir(), STORAGE_DIR_NAME) - val serverDir = File(mainDir, serverId) - if (!serverDir.exists()) serverDir.mkdirs() - return serverDir - } -} diff --git a/core/cache/src/main/kotlin/org/moire/ultrasonic/cache/serializers/ArtistSerializer.kt b/core/cache/src/main/kotlin/org/moire/ultrasonic/cache/serializers/ArtistSerializer.kt deleted file mode 100644 index 1fa03bd0..00000000 --- a/core/cache/src/main/kotlin/org/moire/ultrasonic/cache/serializers/ArtistSerializer.kt +++ /dev/null @@ -1,65 +0,0 @@ -@file:JvmMultifileClass -@file:JvmName("DomainSerializers") -package org.moire.ultrasonic.cache.serializers - -import com.twitter.serial.serializer.CollectionSerializers -import com.twitter.serial.serializer.ObjectSerializer -import com.twitter.serial.serializer.SerializationContext -import com.twitter.serial.stream.SerializerDefs -import com.twitter.serial.stream.SerializerInput -import com.twitter.serial.stream.SerializerOutput -import org.moire.ultrasonic.cache.DomainEntitySerializer -import org.moire.ultrasonic.domain.Artist - -private const val SERIALIZER_VERSION = 1 - -private val artistSerializer get() = object : ObjectSerializer(SERIALIZER_VERSION) { - override fun serializeObject( - context: SerializationContext, - output: SerializerOutput>, - item: Artist - ) { - output.writeString(item.id) - .writeString(item.name) - .writeString(item.index) - .writeString(item.coverArt) - .apply { - val albumCount = item.albumCount - if (albumCount != null) writeLong(albumCount) else writeNull() - } - .writeInt(item.closeness) - } - - override fun deserializeObject( - context: SerializationContext, - input: SerializerInput, - versionNumber: Int - ): Artist? { - if (versionNumber != SERIALIZER_VERSION) return null - - val id = input.readString() - val name = input.readString() - val index = input.readString() - val coverArt = input.readString() - val albumCount = if (input.peekType() == SerializerDefs.TYPE_NULL) { - input.readNull() - null - } else { - input.readLong() - } - val closeness = input.readInt() - return Artist(id, name, index, coverArt, albumCount, closeness) - } -} - -/** - * Serializer/deserializer for [Artist] domain entity. - */ -fun getArtistsSerializer(): DomainEntitySerializer = artistSerializer - -private val artistListSerializer = CollectionSerializers.getListSerializer(artistSerializer) - -/** - * Serializer/deserializer for list of [Artist] domain entities. - */ -fun getArtistListSerializer(): DomainEntitySerializer> = artistListSerializer diff --git a/core/cache/src/main/kotlin/org/moire/ultrasonic/cache/serializers/IndexesSerializer.kt b/core/cache/src/main/kotlin/org/moire/ultrasonic/cache/serializers/IndexesSerializer.kt deleted file mode 100644 index 9683bd25..00000000 --- a/core/cache/src/main/kotlin/org/moire/ultrasonic/cache/serializers/IndexesSerializer.kt +++ /dev/null @@ -1,51 +0,0 @@ -@file:JvmMultifileClass -@file:JvmName("DomainSerializers") -package org.moire.ultrasonic.cache.serializers - -import com.twitter.serial.serializer.ObjectSerializer -import com.twitter.serial.serializer.SerializationContext -import com.twitter.serial.stream.SerializerInput -import com.twitter.serial.stream.SerializerOutput -import org.moire.ultrasonic.cache.DomainEntitySerializer -import org.moire.ultrasonic.domain.Artist -import org.moire.ultrasonic.domain.Indexes - -private const val SERIALIZATION_VERSION = 1 - -private val indexesSerializer get() = object : ObjectSerializer(SERIALIZATION_VERSION) { - override fun serializeObject( - context: SerializationContext, - output: SerializerOutput>, - item: Indexes - ) { - val artistListSerializer = getArtistListSerializer() - output.writeLong(item.lastModified) - .writeString(item.ignoredArticles) - .writeObject>(context, item.shortcuts, artistListSerializer) - .writeObject>(context, item.artists, artistListSerializer) - } - - @Suppress("ReturnCount") - override fun deserializeObject( - context: SerializationContext, - input: SerializerInput, - versionNumber: Int - ): Indexes? { - if (versionNumber != SERIALIZATION_VERSION) return null - - val artistListDeserializer = getArtistListSerializer() - val lastModified = input.readLong() - val ignoredArticles = input.readString() ?: return null - val shortcutsList = input.readObject(context, artistListDeserializer) ?: return null - val artistsList = input.readObject(context, artistListDeserializer) ?: return null - return Indexes( - lastModified, ignoredArticles, shortcutsList.toMutableList(), - artistsList.toMutableList() - ) - } -} - -/** - * Get serializer/deserializer for [Indexes] entity. - */ -fun getIndexesSerializer(): DomainEntitySerializer = indexesSerializer diff --git a/core/cache/src/main/kotlin/org/moire/ultrasonic/cache/serializers/MusicFolderSerializer.kt b/core/cache/src/main/kotlin/org/moire/ultrasonic/cache/serializers/MusicFolderSerializer.kt deleted file mode 100644 index 0af30335..00000000 --- a/core/cache/src/main/kotlin/org/moire/ultrasonic/cache/serializers/MusicFolderSerializer.kt +++ /dev/null @@ -1,51 +0,0 @@ -@file:JvmMultifileClass -@file:JvmName("DomainSerializers") -package org.moire.ultrasonic.cache.serializers - -import com.twitter.serial.serializer.CollectionSerializers -import com.twitter.serial.serializer.ObjectSerializer -import com.twitter.serial.serializer.SerializationContext -import com.twitter.serial.stream.SerializerInput -import com.twitter.serial.stream.SerializerOutput -import org.moire.ultrasonic.cache.DomainEntitySerializer -import org.moire.ultrasonic.domain.MusicFolder - -private const val SERIALIZATION_VERSION = 1 - -private val musicFolderSerializer = object : ObjectSerializer(SERIALIZATION_VERSION) { - - override fun serializeObject( - context: SerializationContext, - output: SerializerOutput>, - item: MusicFolder - ) { - output.writeString(item.id).writeString(item.name) - } - - @Suppress("ReturnCount") - override fun deserializeObject( - context: SerializationContext, - input: SerializerInput, - versionNumber: Int - ): MusicFolder? { - if (versionNumber != SERIALIZATION_VERSION) return null - - val id = input.readString() ?: return null - val name = input.readString() ?: return null - return MusicFolder(id, name) - } -} - -/** - * Serializer/deserializer for [MusicFolder] domain entity. - */ -fun getMusicFolderSerializer(): DomainEntitySerializer = musicFolderSerializer - -private val musicFolderListSerializer = - CollectionSerializers.getListSerializer(musicFolderSerializer) - -/** - * Serializer/deserializer for [List] of [MusicFolder] items. - */ -fun getMusicFolderListSerializer(): DomainEntitySerializer> = - musicFolderListSerializer diff --git a/core/cache/src/test/kotlin/org/moire/ultrasonic/cache/BaseStorageTest.kt b/core/cache/src/test/kotlin/org/moire/ultrasonic/cache/BaseStorageTest.kt deleted file mode 100644 index 36e2f74c..00000000 --- a/core/cache/src/test/kotlin/org/moire/ultrasonic/cache/BaseStorageTest.kt +++ /dev/null @@ -1,42 +0,0 @@ -package org.moire.ultrasonic.cache - -import com.twitter.serial.util.SerializationUtils -import java.io.File -import org.amshove.kluent.`it returns` -import org.junit.Before -import org.junit.Rule -import org.junit.rules.TemporaryFolder -import org.mockito.kotlin.mock - -internal const val INTERNAL_DATA_FOLDER = "data" -internal const val INTERNAL_CACHE_FOLDER = "cache" -internal const val EXTERNAL_CACHE_FOLDER = "external_cache" - -/** - * Base test class that inits the storage - */ -abstract class BaseStorageTest { - @get:Rule val tempFileRule = TemporaryFolder() - - protected lateinit var mockDirectories: Directories - protected lateinit var storage: PermanentFileStorage - - open val serverId: String = "" - - @Before - fun setUp() { - mockDirectories = mock { - on { getInternalDataDir() } `it returns` tempFileRule.newFolder(INTERNAL_DATA_FOLDER) - on { getInternalCacheDir() } `it returns` tempFileRule.newFolder(INTERNAL_CACHE_FOLDER) - on { getExternalCacheDir() } `it returns` tempFileRule.newFolder(EXTERNAL_CACHE_FOLDER) - } - storage = PermanentFileStorage(mockDirectories, serverId, true) - } - - protected val storageDir get() = File(mockDirectories.getInternalDataDir(), STORAGE_DIR_NAME) - - protected fun validateSerializedData(index: Int = 0) { - val serializedFileBytes = storageDir.listFiles()[index].readBytes() - SerializationUtils.validateSerializedData(serializedFileBytes) - } -} diff --git a/core/cache/src/test/kotlin/org/moire/ultrasonic/cache/PermanentFileStorageTest.kt b/core/cache/src/test/kotlin/org/moire/ultrasonic/cache/PermanentFileStorageTest.kt deleted file mode 100644 index 1deb5fa0..00000000 --- a/core/cache/src/test/kotlin/org/moire/ultrasonic/cache/PermanentFileStorageTest.kt +++ /dev/null @@ -1,80 +0,0 @@ -package org.moire.ultrasonic.cache - -import java.io.File -import org.amshove.kluent.`should be equal to` -import org.amshove.kluent.`should contain` -import org.junit.Test -import org.moire.ultrasonic.cache.serializers.getMusicFolderSerializer -import org.moire.ultrasonic.domain.MusicFolder - -/** - * Integration test for [PermanentFileStorage]. - */ -class PermanentFileStorageTest : BaseStorageTest() { - override val serverId: String - get() = "some-server-id" - - @Test - fun `Should create storage dir if it is not exist`() { - val item = MusicFolder("1", "2") - storage.store("test", item, getMusicFolderSerializer()) - - storageDir.exists() `should be equal to` true - getServerStorageDir().exists() `should be equal to` true - } - - @Test - fun `Should serialize to file`() { - val item = MusicFolder("1", "23") - val name = "some-name" - - storage.store(name, item, getMusicFolderSerializer()) - - val storageFiles = getServerStorageDir().listFiles() - storageFiles.size `should be equal to` 1 - storageFiles[0].name `should contain` name - } - - @Test - fun `Should deserialize stored object`() { - val item = MusicFolder("some", "nice") - val name = "some-name" - storage.store(name, item, getMusicFolderSerializer()) - - val loadedItem = storage.load(name, getMusicFolderSerializer()) - - loadedItem `should be equal to` item - } - - @Test - fun `Should overwrite existing stored object`() { - val name = "some-nice-name" - val item1 = MusicFolder("1", "1") - val item2 = MusicFolder("2", "2") - storage.store(name, item1, getMusicFolderSerializer()) - storage.store(name, item2, getMusicFolderSerializer()) - - val loadedItem = storage.load(name, getMusicFolderSerializer()) - - loadedItem `should be equal to` item2 - } - - @Test - fun `Should clear all files when clearAll is called`() { - storage.store("name1", MusicFolder("1", "1"), getMusicFolderSerializer()) - storage.store("name2", MusicFolder("2", "2"), getMusicFolderSerializer()) - - storage.clearAll() - - getServerStorageDir().listFiles().size `should be equal to` 0 - } - - @Test - fun `Should return null if serialized file not available`() { - val loadedItem = storage.load("some-name", getMusicFolderSerializer()) - - loadedItem `should be equal to` null - } - - private fun getServerStorageDir() = File(storageDir, serverId) -} diff --git a/core/cache/src/test/kotlin/org/moire/ultrasonic/cache/serializers/ArtistSerializerTest.kt b/core/cache/src/test/kotlin/org/moire/ultrasonic/cache/serializers/ArtistSerializerTest.kt deleted file mode 100644 index 967bbdb5..00000000 --- a/core/cache/src/test/kotlin/org/moire/ultrasonic/cache/serializers/ArtistSerializerTest.kt +++ /dev/null @@ -1,57 +0,0 @@ -package org.moire.ultrasonic.cache.serializers - -import org.amshove.kluent.`should be equal to` -import org.junit.Test -import org.moire.ultrasonic.cache.BaseStorageTest -import org.moire.ultrasonic.domain.Artist - -/** - * [Artist] serializers test. - */ -class ArtistSerializerTest : BaseStorageTest() { - @Test - fun `Should correctly serialize Artist object`() { - val item = Artist("id", "name", "index", "coverArt", 1, 0) - - storage.store("some-name", item, getArtistsSerializer()) - - validateSerializedData() - } - - @Test - fun `Should correctly deserialize Artist object`() { - val itemName = "some-name" - val item = Artist("id", "name", "index", "coverArt", null, 0) - storage.store(itemName, item, getArtistsSerializer()) - - val loadedItem = storage.load(itemName, getArtistsSerializer()) - - loadedItem `should be equal to` item - } - - @Test - fun `Should correctly serialize list of Artists`() { - val itemsList = listOf( - Artist(id = "1"), - Artist(id = "2", name = "some") - ) - - storage.store("some-name", itemsList, getArtistListSerializer()) - - validateSerializedData() - } - - @Test - fun `Should correctly deserialize list of Artists`() { - val name = "some-name" - val itemsList = listOf( - Artist(id = "1"), - Artist(id = "2", name = "some") - ) - storage.store(name, itemsList, getArtistListSerializer()) - - val loadedItems = storage.load(name, getArtistListSerializer()) - - loadedItems `should be equal to` itemsList - } -} diff --git a/core/cache/src/test/kotlin/org/moire/ultrasonic/cache/serializers/IndexesSerializerTest.kt b/core/cache/src/test/kotlin/org/moire/ultrasonic/cache/serializers/IndexesSerializerTest.kt deleted file mode 100644 index 5a4cc1a1..00000000 --- a/core/cache/src/test/kotlin/org/moire/ultrasonic/cache/serializers/IndexesSerializerTest.kt +++ /dev/null @@ -1,38 +0,0 @@ -package org.moire.ultrasonic.cache.serializers - -import org.amshove.kluent.`should be equal to` -import org.junit.Test -import org.moire.ultrasonic.cache.BaseStorageTest -import org.moire.ultrasonic.domain.Artist -import org.moire.ultrasonic.domain.Indexes - -/** - * Test [Indexes] domain entity serializer. - */ -class IndexesSerializerTest : BaseStorageTest() { - @Test - fun `Should correctly serialize Indexes object`() { - val item = Indexes( - 220L, "", mutableListOf(Artist("12")), - mutableListOf(Artist("233", "some")) - ) - - storage.store("some-name", item, getIndexesSerializer()) - - validateSerializedData() - } - - @Test - fun `Should correctly deserialize Indexes object`() { - val name = "some-name" - val item = Indexes( - 220L, "", mutableListOf(Artist("12")), - mutableListOf(Artist("233", "some")) - ) - storage.store(name, item, getIndexesSerializer()) - - val loadedItem = storage.load(name, getIndexesSerializer()) - - loadedItem `should be equal to` item - } -} diff --git a/core/cache/src/test/kotlin/org/moire/ultrasonic/cache/serializers/MusicFolderSerializerTest.kt b/core/cache/src/test/kotlin/org/moire/ultrasonic/cache/serializers/MusicFolderSerializerTest.kt deleted file mode 100644 index 1935dac8..00000000 --- a/core/cache/src/test/kotlin/org/moire/ultrasonic/cache/serializers/MusicFolderSerializerTest.kt +++ /dev/null @@ -1,57 +0,0 @@ -package org.moire.ultrasonic.cache.serializers - -import org.amshove.kluent.`should be equal to` -import org.junit.Test -import org.moire.ultrasonic.cache.BaseStorageTest -import org.moire.ultrasonic.domain.MusicFolder - -/** - * [MusicFolder] serializers test. - */ -class MusicFolderSerializerTest : BaseStorageTest() { - @Test - fun `Should correctly serialize MusicFolder object`() { - val item = MusicFolder("Music", "Folder") - - storage.store("some-name", item, getMusicFolderSerializer()) - - validateSerializedData() - } - - @Test - fun `Should correctly deserialize MusicFolder object`() { - val name = "name" - val item = MusicFolder("some", "none") - storage.store(name, item, getMusicFolderSerializer()) - - val loadedItem = storage.load(name, getMusicFolderSerializer()) - - loadedItem `should be equal to` item - } - - @Test - fun `Should correctly serialize list of MusicFolders objects`() { - val itemsList = listOf( - MusicFolder("1", "1"), - MusicFolder("2", "2") - ) - - storage.store("some-name", itemsList, getMusicFolderListSerializer()) - - validateSerializedData() - } - - @Test - fun `Should correctly deserialize list of MusicFolder objects`() { - val name = "some-name" - val itemsList = listOf( - MusicFolder("1", "1"), - MusicFolder("2", "2") - ) - storage.store(name, itemsList, getMusicFolderListSerializer()) - - val loadedItem = storage.load(name, getMusicFolderListSerializer()) - - loadedItem `should be equal to` itemsList - } -} diff --git a/dependencies.gradle b/dependencies.gradle index bca58e6e..d8a629bb 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -28,7 +28,6 @@ ext.versions = [ retrofit : "2.6.4", jackson : "2.9.5", okhttp : "3.12.13", - twitterSerial : "0.1.6", koin : "3.0.2", picasso : "2.71828", sortListView : "1.0.1", @@ -82,7 +81,6 @@ ext.other = [ jacksonConverter : "com.squareup.retrofit2:converter-jackson:$versions.retrofit", jacksonKotlin : "com.fasterxml.jackson.module:jackson-module-kotlin:$versions.jackson", okhttpLogging : "com.squareup.okhttp3:logging-interceptor:$versions.okhttp", - twitterSerial : "com.twitter.serial:serial:$versions.twitterSerial", koinCore : "io.insert-koin:koin-core:$versions.koin", koinAndroid : "io.insert-koin:koin-android:$versions.koin", koinViewModel : "io.insert-koin:koin-android-viewmodel:$versions.koin", diff --git a/settings.gradle b/settings.gradle index a4a9a1e1..8fdc7dca 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,4 +1,3 @@ include ':core:domain' include ':core:subsonic-api' -include ':core:cache' include ':ultrasonic' diff --git a/ultrasonic/build.gradle b/ultrasonic/build.gradle index da0c4ec2..fdd0aaa9 100644 --- a/ultrasonic/build.gradle +++ b/ultrasonic/build.gradle @@ -70,7 +70,6 @@ tasks.withType(Test) { dependencies { implementation project(':core:domain') implementation project(':core:subsonic-api') - implementation project(':core:cache') api(other.picasso) { exclude group: "com.android.support" diff --git a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/app/UApp.kt b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/app/UApp.kt index 78ddfe89..191cc5b2 100644 --- a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/app/UApp.kt +++ b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/app/UApp.kt @@ -9,7 +9,6 @@ import org.moire.ultrasonic.BuildConfig import org.moire.ultrasonic.di.appPermanentStorage import org.moire.ultrasonic.di.applicationModule import org.moire.ultrasonic.di.baseNetworkModule -import org.moire.ultrasonic.di.directoriesModule import org.moire.ultrasonic.di.featureFlagsModule import org.moire.ultrasonic.di.mediaPlayerModule import org.moire.ultrasonic.di.musicServiceModule @@ -46,7 +45,6 @@ class UApp : MultiDexApplication() { // declare modules to use modules( applicationModule, - directoriesModule, appPermanentStorage, baseNetworkModule, featureFlagsModule, diff --git a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/cache/AndroidDirectories.kt b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/cache/AndroidDirectories.kt deleted file mode 100644 index d8a815a7..00000000 --- a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/cache/AndroidDirectories.kt +++ /dev/null @@ -1,17 +0,0 @@ -package org.moire.ultrasonic.cache - -import android.content.Context -import java.io.File - -/** - * Provides specific to Android implementation of [Directories]. - */ -class AndroidDirectories( - private val context: Context -) : Directories { - override fun getInternalCacheDir(): File = context.cacheDir - - override fun getInternalDataDir(): File = context.filesDir - - override fun getExternalCacheDir(): File? = context.externalCacheDir -} diff --git a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/di/DirectoriesModule.kt b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/di/DirectoriesModule.kt deleted file mode 100644 index 5e9b415e..00000000 --- a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/di/DirectoriesModule.kt +++ /dev/null @@ -1,13 +0,0 @@ -package org.moire.ultrasonic.di - -import org.koin.dsl.bind -import org.koin.dsl.module -import org.moire.ultrasonic.cache.AndroidDirectories -import org.moire.ultrasonic.cache.Directories - -/** - * This Koin module contains the registration for Directories - */ -val directoriesModule = module { - single { AndroidDirectories(get()) } bind Directories::class -} diff --git a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/di/MusicServiceModule.kt b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/di/MusicServiceModule.kt index c6d18ee5..bb4c3575 100644 --- a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/di/MusicServiceModule.kt +++ b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/di/MusicServiceModule.kt @@ -10,7 +10,6 @@ import org.moire.ultrasonic.BuildConfig import org.moire.ultrasonic.api.subsonic.SubsonicAPIClient import org.moire.ultrasonic.api.subsonic.SubsonicAPIVersions import org.moire.ultrasonic.api.subsonic.SubsonicClientConfiguration -import org.moire.ultrasonic.cache.PermanentFileStorage import org.moire.ultrasonic.data.ActiveServerProvider import org.moire.ultrasonic.imageloader.ImageLoader import org.moire.ultrasonic.log.TimberOkHttpLogger @@ -43,11 +42,6 @@ val musicServiceModule = module { return@single abs("$serverUrl$serverInstance".hashCode()).toString() } - single { - val serverId = get(named("ServerID")) - return@single PermanentFileStorage(get(), serverId, BuildConfig.DEBUG) - } - single { val server = get().getActiveServer()