فهرست منبع

Removed unnecessary book cover cache

Vadik Sirekanyan 7 سال پیش
والد
کامیت
e42620aa00

+ 1 - 1
app/src/main/java/me/vadik/knigopis/dependency.kt

@@ -47,7 +47,7 @@ val appModule = applicationContext {
     }
     bean { SubscriptionRepositoryImpl(get(), get(), get(), get()) as SubscriptionRepository }
     bean { NoteRepositoryImpl(get(), get(), get()) as NoteRepository }
-    bean { BookCoverSearchImpl(get(), BookCoverCacheImpl(get())) as BookCoverSearch }
+    bean { BookCoverSearchImpl(get()) as BookCoverSearch }
     bean { KAuthImpl(get(), get()) as KAuth }
     bean { createMainEndpoint(get()) }
     bean { createImageEndpoint() }

+ 3 - 26
app/src/main/java/me/vadik/knigopis/repository/api/BookCoverSearch.kt

@@ -2,33 +2,18 @@ package me.vadik.knigopis.repository.api
 
 import io.reactivex.Single
 import me.vadik.knigopis.common.io2main
-import me.vadik.knigopis.repository.cache.BookCoverCache
-import me.vadik.knigopis.repository.model.Book
 import me.vadik.knigopis.repository.model.ImageThumbnail
 import java.util.concurrent.TimeUnit
 
 private const val MAX_DELAY_IN_MICROSECONDS = 3000
-private const val MIN_TITLE_WORDS_COUNT = 2
 
 interface BookCoverSearch {
-    fun search(book: Book): Single<String>
+
     fun search(query: String): Single<List<String>>
+
 }
 
-class BookCoverSearchImpl(
-    private val imageEndpoint: ImageEndpoint,
-    private val bookCoverCache: BookCoverCache
-) : BookCoverSearch {
-
-    override fun search(book: Book): Single<String> =
-        bookCoverCache.find(book.id).switchIfEmpty(
-            searchThumbnail(getSearchQuery(book))
-                .map { it.first() }
-                .map { thumbnailUrl ->
-                    bookCoverCache.put(book.id, thumbnailUrl)
-                    thumbnailUrl
-                }
-        ).io2main()
+class BookCoverSearchImpl(private val imageEndpoint: ImageEndpoint) : BookCoverSearch {
 
     override fun search(query: String) =
         searchThumbnail(query)
@@ -39,12 +24,4 @@ class BookCoverSearchImpl(
             .delay((Math.random() * MAX_DELAY_IN_MICROSECONDS).toLong(), TimeUnit.MICROSECONDS)
             .map(ImageThumbnail::urls)
 
-    private fun getSearchQuery(book: Book) =
-        book.title.split(" ").size.let { titleWordsCount ->
-            if (titleWordsCount <= MIN_TITLE_WORDS_COUNT) {
-                "${book.title} ${book.author}"
-            } else {
-                book.title
-            }
-        }
 }

+ 2 - 2
app/src/main/java/me/vadik/knigopis/repository/api/static.kt

@@ -3,7 +3,7 @@ package me.vadik.knigopis.repository.api
 import me.vadik.knigopis.BuildConfig.STATIC_SERVER
 
 fun createUserImageUrl(userId: String): String {
-    return "$STATIC_SERVER/user/$userId.jpg"
+    return "$STATIC_SERVER/user/$userId"
 }
 
 fun createBookImageUrl(bookTitle: String): String {
@@ -11,5 +11,5 @@ fun createBookImageUrl(bookTitle: String): String {
         .replace(Regex("\\W+"), "_")
         .replace(Regex("(^_|_$)"), "")
         .replace("ё", "е")
-    return "$STATIC_SERVER/book/$normalizedTitle.jpg"
+    return "$STATIC_SERVER/book/$normalizedTitle"
 }

+ 0 - 25
app/src/main/java/me/vadik/knigopis/repository/cache/BookCoverCache.kt

@@ -1,25 +0,0 @@
-package me.vadik.knigopis.repository.cache
-
-import android.content.Context
-import android.content.Context.MODE_PRIVATE
-import io.reactivex.Maybe
-
-private const val PREFERENCES_NAME = "knigopis_thumbnails"
-
-interface BookCoverCache {
-    fun put(bookId: String, url: String)
-    fun find(bookId: String): Maybe<String>
-}
-
-class BookCoverCacheImpl(context: Context) : BookCoverCache {
-
-    private val preferences = context.getSharedPreferences(PREFERENCES_NAME, MODE_PRIVATE)
-
-    override fun put(bookId: String, url: String) =
-        preferences.edit().putString(bookId, url).apply()
-
-    override fun find(bookId: String): Maybe<String> =
-        Maybe.fromCallable {
-            preferences.getString(bookId, null)
-        }
-}