Skip to content

Instantly share code, notes, and snippets.

View mkw8263's full-sized avatar
🔥
Mindev

MinDev mkw8263

🔥
Mindev
View GitHub Profile
fun renderPage(page: Int, ready: ((bitmap: Bitmap?, currentPage: Int) -> Unit)? = null) {
if (page >= getPDFPagePage()) return
buildBitmap(page) {
launch {
synchronized(this@PdfCore){
ready?.invoke(it, page) }
}
}
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
class PdfCore(private val context: Context, pdfFile: File) : CoroutineScope by PdfScope() {
.
.
fun renderPage(page: Int, ready: ((bitmap: Bitmap?, currentPage: Int) -> Unit)? = null) {
if (page >= getPDFPagePage()) return
buildBitmap(page) {
launch {
class PdfScope : CoroutineScope, LifecycleObserver {
private val job = SupervisorJob()
override val coroutineContext: CoroutineContext
get() = job + Dispatchers.Main
@OnLifecycleEvent(Lifecycle.Event.ON_DESTROY)
fun destory() = coroutineContext.cancel()
}
package com.themovies.presentation.ui.movies
import androidx.annotation.StringRes
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import com.themovies.domain.entitiy.DomainEntityMovie
import com.themovies.domain.usecase.MovieUseCase
import com.themovies.presentation.BaseViewModel
import com.themovies.presentation.R
package com.themovies.domain.usecase
import com.themovies.domain.MovieRepository
import com.themovies.domain.SingleUseCase
import com.themovies.domain.entitiy.DomainEntityMovie
import io.reactivex.Single
import javax.inject.Inject
class MovieUseCase @Inject constructor(
package com.themovies.data
import com.themovies.common.networkThreadWithMainThread
import com.themovies.data.mapper.MoviesMapper
import com.themovies.domain.MovieRepository
import com.themovies.domain.entitiy.DomainEntityMovie
import io.reactivex.Single
import javax.inject.Inject
class MovieRepositoryImpl @Inject constructor(