Fix BookThumbnail and BootDetail preview.

This commit is contained in:
Thomas Andres Gomez 2021-05-09 10:51:26 +02:00
parent 1bd4837b1c
commit f1043e75af
3 changed files with 23 additions and 19 deletions

View file

@ -14,6 +14,7 @@ import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.graphics.ColorFilter
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.painterResource
import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview 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.data.ui.BookThumbnailUio
import com.pixelized.biblib.ui.theme.BibLibTheme import com.pixelized.biblib.ui.theme.BibLibTheme
import com.pixelized.biblib.ui.theme.Teal200 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.extention.toImage
import com.pixelized.biblib.utils.injection.Bob
import com.pixelized.biblib.utils.mock.BookThumbnailMock import com.pixelized.biblib.utils.mock.BookThumbnailMock
@Preview @Preview
@Composable @Composable
fun BookThumbnailComposablePreview() { fun BookThumbnailComposablePreview() {
val mock = BookThumbnailMock() Bob[BitmapCache::class] = BitmapCache(LocalContext.current)
BibLibTheme { BibLibTheme {
val mock = BookThumbnailMock()
BookThumbnailComposable(thumbnail = mock.bookThumbnail) BookThumbnailComposable(thumbnail = mock.bookThumbnail)
} }
} }
@ -38,8 +42,9 @@ fun BookThumbnailComposablePreview() {
@Preview @Preview
@Composable @Composable
fun BookThumbnailComposablePreviewDark() { fun BookThumbnailComposablePreviewDark() {
val mock = BookThumbnailMock() Bob[BitmapCache::class] = BitmapCache(LocalContext.current)
BibLibTheme(darkTheme = true) { BibLibTheme(darkTheme = true) {
val mock = BookThumbnailMock()
BookThumbnailComposable(thumbnail = mock.bookThumbnail) BookThumbnailComposable(thumbnail = mock.bookThumbnail)
} }
} }

View file

@ -4,15 +4,14 @@ import androidx.compose.foundation.layout.*
import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll import androidx.compose.foundation.verticalScroll
import androidx.compose.material.Button import androidx.compose.material.Button
import androidx.compose.material.ButtonDefaults
import androidx.compose.material.MaterialTheme import androidx.compose.material.MaterialTheme
import androidx.compose.material.Text import androidx.compose.material.Text
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.graphics.ColorFilter
import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview 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.composable.items.Image
import com.pixelized.biblib.ui.theme.BibLibTheme import com.pixelized.biblib.ui.theme.BibLibTheme
import com.pixelized.biblib.ui.theme.Teal200 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 import com.pixelized.biblib.utils.mock.BookMock
@Preview
@Composable
fun DetailPageComposablePreview() {
BibLibTheme {
val mock = BookMock()
DetailPageComposable(mock.book)
}
}
@Composable @Composable
fun DetailPageComposable(book: BookUio) { fun DetailPageComposable(book: BookUio) {
@ -134,4 +127,14 @@ fun DetailPageComposable(book: BookUio) {
modifier = Modifier.padding(bottom = 16.dp) modifier = Modifier.padding(bottom = 16.dp)
) )
} }
}
@Preview
@Composable
fun DetailPageComposablePreview() {
Bob[BitmapCache::class] = BitmapCache(LocalContext.current)
BibLibTheme {
val mock = BookMock()
DetailPageComposable(mock.book)
}
} }

View file

@ -1,6 +1,6 @@
package com.pixelized.biblib.utils package com.pixelized.biblib.utils
import android.app.Application import android.content.Context
import android.graphics.Bitmap import android.graphics.Bitmap
import android.graphics.BitmapFactory import android.graphics.BitmapFactory
import android.util.Log import android.util.Log
@ -12,12 +12,8 @@ import java.io.File
import java.io.IOException import java.io.IOException
import java.net.URL import java.net.URL
class BitmapCache(application: Application) { class BitmapCache(context: Context) {
private var cache: File? = null private var cache: File? = context.cacheDir
init {
cache = application.cacheDir
}
fun writeToDisk(url: URL, bitmap: Bitmap) { fun writeToDisk(url: URL, bitmap: Bitmap) {
val path = cache?.absolutePath + url.file val path = cache?.absolutePath + url.file