From f1043e75afdaae91c6263068bdb17bfd362f9d3f Mon Sep 17 00:00:00 2001 From: Thomas Andres Gomez Date: Sun, 9 May 2021 10:51:26 +0200 Subject: [PATCH] Fix BookThumbnail and BootDetail preview. --- .../items/BookThumbnailComposable.kt | 9 ++++++-- .../composable/pages/DetailPageComposable.kt | 23 +++++++++++-------- .../com/pixelized/biblib/utils/BitmapCache.kt | 10 +++----- 3 files changed, 23 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/com/pixelized/biblib/ui/composable/items/BookThumbnailComposable.kt b/app/src/main/java/com/pixelized/biblib/ui/composable/items/BookThumbnailComposable.kt index 753c93f..3ba4ac0 100644 --- a/app/src/main/java/com/pixelized/biblib/ui/composable/items/BookThumbnailComposable.kt +++ b/app/src/main/java/com/pixelized/biblib/ui/composable/items/BookThumbnailComposable.kt @@ -14,6 +14,7 @@ import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.ColorFilter +import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.painterResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview @@ -22,15 +23,18 @@ import com.pixelized.biblib.R import com.pixelized.biblib.data.ui.BookThumbnailUio import com.pixelized.biblib.ui.theme.BibLibTheme import com.pixelized.biblib.ui.theme.Teal200 +import com.pixelized.biblib.utils.BitmapCache import com.pixelized.biblib.utils.extention.toImage +import com.pixelized.biblib.utils.injection.Bob import com.pixelized.biblib.utils.mock.BookThumbnailMock @Preview @Composable fun BookThumbnailComposablePreview() { - val mock = BookThumbnailMock() + Bob[BitmapCache::class] = BitmapCache(LocalContext.current) BibLibTheme { + val mock = BookThumbnailMock() BookThumbnailComposable(thumbnail = mock.bookThumbnail) } } @@ -38,8 +42,9 @@ fun BookThumbnailComposablePreview() { @Preview @Composable fun BookThumbnailComposablePreviewDark() { - val mock = BookThumbnailMock() + Bob[BitmapCache::class] = BitmapCache(LocalContext.current) BibLibTheme(darkTheme = true) { + val mock = BookThumbnailMock() BookThumbnailComposable(thumbnail = mock.bookThumbnail) } } diff --git a/app/src/main/java/com/pixelized/biblib/ui/composable/pages/DetailPageComposable.kt b/app/src/main/java/com/pixelized/biblib/ui/composable/pages/DetailPageComposable.kt index d9dd328..e91d81e 100644 --- a/app/src/main/java/com/pixelized/biblib/ui/composable/pages/DetailPageComposable.kt +++ b/app/src/main/java/com/pixelized/biblib/ui/composable/pages/DetailPageComposable.kt @@ -4,15 +4,14 @@ import androidx.compose.foundation.layout.* import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll import androidx.compose.material.Button -import androidx.compose.material.ButtonDefaults import androidx.compose.material.MaterialTheme import androidx.compose.material.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview @@ -22,16 +21,10 @@ import com.pixelized.biblib.data.ui.BookUio import com.pixelized.biblib.ui.composable.items.Image import com.pixelized.biblib.ui.theme.BibLibTheme import com.pixelized.biblib.ui.theme.Teal200 +import com.pixelized.biblib.utils.BitmapCache +import com.pixelized.biblib.utils.injection.Bob import com.pixelized.biblib.utils.mock.BookMock -@Preview -@Composable -fun DetailPageComposablePreview() { - BibLibTheme { - val mock = BookMock() - DetailPageComposable(mock.book) - } -} @Composable fun DetailPageComposable(book: BookUio) { @@ -134,4 +127,14 @@ fun DetailPageComposable(book: BookUio) { modifier = Modifier.padding(bottom = 16.dp) ) } +} + +@Preview +@Composable +fun DetailPageComposablePreview() { + Bob[BitmapCache::class] = BitmapCache(LocalContext.current) + BibLibTheme { + val mock = BookMock() + DetailPageComposable(mock.book) + } } \ No newline at end of file diff --git a/app/src/main/java/com/pixelized/biblib/utils/BitmapCache.kt b/app/src/main/java/com/pixelized/biblib/utils/BitmapCache.kt index 84f2255..598d08e 100644 --- a/app/src/main/java/com/pixelized/biblib/utils/BitmapCache.kt +++ b/app/src/main/java/com/pixelized/biblib/utils/BitmapCache.kt @@ -1,6 +1,6 @@ package com.pixelized.biblib.utils -import android.app.Application +import android.content.Context import android.graphics.Bitmap import android.graphics.BitmapFactory import android.util.Log @@ -12,12 +12,8 @@ import java.io.File import java.io.IOException import java.net.URL -class BitmapCache(application: Application) { - private var cache: File? = null - - init { - cache = application.cacheDir - } +class BitmapCache(context: Context) { + private var cache: File? = context.cacheDir fun writeToDisk(url: URL, bitmap: Bitmap) { val path = cache?.absolutePath + url.file