Fix smart background for real this time, fix issues with theme not changing
This commit is contained in:
parent
4881571293
commit
406b5a89c8
@ -166,9 +166,6 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
|
||||
when (preferences.readerTheme().get()) {
|
||||
0 -> R.style.Theme_Reader_Light
|
||||
2 -> R.style.Theme_Reader_Dark_Grey
|
||||
// SY -->
|
||||
3, 4 -> R.style.Theme_Reader_Dark_Smart
|
||||
// SY <--
|
||||
else -> R.style.Theme_Reader_Dark
|
||||
}
|
||||
)
|
||||
@ -945,12 +942,10 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
|
||||
}
|
||||
.launchIn(scope)
|
||||
|
||||
// SY -->
|
||||
/*preferences.readerTheme().asFlow()
|
||||
preferences.readerTheme().asFlow()
|
||||
.drop(1) // We only care about updates
|
||||
.onEach { recreate() }
|
||||
.launchIn(scope)*/
|
||||
// SY <--
|
||||
.launchIn(scope)
|
||||
|
||||
preferences.showPageNumber().asFlow()
|
||||
.onEach { setPageNumberVisibility(it) }
|
||||
|
@ -268,7 +268,7 @@ class HttpPageLoader(
|
||||
val image = BitmapFactory.decodeStream(stream)
|
||||
page.bg = ImageUtil.autoSetBackground(
|
||||
image,
|
||||
readerTheme == 2,
|
||||
readerTheme == 3,
|
||||
prefs.context
|
||||
)
|
||||
page.bgType = PagerPageHolder.getBGType(readerTheme, prefs.context)
|
||||
|
@ -20,11 +20,6 @@ class PagerConfig(private val viewer: PagerViewer, preferences: PreferencesHelpe
|
||||
var imageCropBorders = false
|
||||
private set
|
||||
|
||||
// SY -->
|
||||
var readerTheme = 0
|
||||
private set
|
||||
// SY <--
|
||||
|
||||
init {
|
||||
preferences.imageScaleType()
|
||||
.register({ imageScaleType = it }, { imagePropertyChangedListener?.invoke() })
|
||||
@ -34,11 +29,6 @@ class PagerConfig(private val viewer: PagerViewer, preferences: PreferencesHelpe
|
||||
|
||||
preferences.cropBorders()
|
||||
.register({ imageCropBorders = it }, { imagePropertyChangedListener?.invoke() })
|
||||
|
||||
// SY -->
|
||||
preferences.readerTheme()
|
||||
.register({ readerTheme = it }, { imagePropertyChangedListener?.invoke() })
|
||||
// SY <--
|
||||
}
|
||||
|
||||
private fun zoomTypeFromPreference(value: Int) {
|
||||
|
@ -46,7 +46,8 @@ import rx.Observable
|
||||
import rx.Subscription
|
||||
import rx.android.schedulers.AndroidSchedulers
|
||||
import rx.schedulers.Schedulers
|
||||
import uy.kohesive.injekt.injectLazy
|
||||
import uy.kohesive.injekt.Injekt
|
||||
import uy.kohesive.injekt.api.get
|
||||
import java.io.InputStream
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
@ -106,6 +107,12 @@ class PagerPageHolder(
|
||||
*/
|
||||
private var readImageHeaderSubscription: Subscription? = null
|
||||
|
||||
// SY -->
|
||||
private val readerTheme by lazy {
|
||||
Injekt.get<PreferencesHelper>().readerTheme().get()
|
||||
}
|
||||
// SY <--
|
||||
|
||||
init {
|
||||
addView(progressBar)
|
||||
observeStatus()
|
||||
@ -251,9 +258,9 @@ class PagerPageHolder(
|
||||
.doOnNext { isAnimated ->
|
||||
if (!isAnimated) {
|
||||
// SY -->
|
||||
if (viewer.config.readerTheme >= 3) {
|
||||
if (readerTheme >= 3) {
|
||||
val imageView = initSubsamplingImageView()
|
||||
if (page.bg != null && page.bgType == getBGType(viewer.config.readerTheme, context)) {
|
||||
if (page.bg != null && page.bgType == getBGType(readerTheme, context)) {
|
||||
imageView.setImage(ImageSource.inputStream(openStream!!))
|
||||
imageView.background = page.bg
|
||||
}
|
||||
@ -267,7 +274,7 @@ class PagerPageHolder(
|
||||
launchUI {
|
||||
imageView.background = setBG(bytesArray)
|
||||
page.bg = imageView.background
|
||||
page.bgType = getBGType(viewer.config.readerTheme, context)
|
||||
page.bgType = getBGType(readerTheme, context)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@ -287,14 +294,13 @@ class PagerPageHolder(
|
||||
// SY -->
|
||||
private suspend fun setBG(bytesArray: ByteArray): Drawable {
|
||||
return withContext(Dispatchers.Default) {
|
||||
val preferences by injectLazy<PreferencesHelper>()
|
||||
ImageUtil.autoSetBackground(
|
||||
BitmapFactory.decodeByteArray(
|
||||
bytesArray,
|
||||
0,
|
||||
bytesArray.size
|
||||
),
|
||||
preferences.readerTheme().get() == 3,
|
||||
readerTheme == 3,
|
||||
context
|
||||
)
|
||||
}
|
||||
@ -522,8 +528,8 @@ class PagerPageHolder(
|
||||
// SY -->
|
||||
companion object {
|
||||
fun getBGType(readerTheme: Int, context: Context): Int {
|
||||
return if (readerTheme == 3) {
|
||||
if (context.isInNightMode()) 2 else 1
|
||||
return if (readerTheme == 4) {
|
||||
if (context.isInNightMode) 2 else 1
|
||||
} else 0
|
||||
}
|
||||
}
|
||||
|
@ -5,20 +5,22 @@ import android.content.ClipboardManager
|
||||
import android.content.Context
|
||||
import android.content.res.Configuration
|
||||
import android.net.wifi.WifiManager
|
||||
import androidx.core.content.getSystemService
|
||||
|
||||
/**
|
||||
* Property to get the wifi manager from the context.
|
||||
*/
|
||||
val Context.wifiManager: WifiManager
|
||||
get() = applicationContext.getSystemService(Context.WIFI_SERVICE) as WifiManager
|
||||
get() = applicationContext.getSystemService()!!
|
||||
|
||||
val Context.clipboardManager: ClipboardManager
|
||||
get() = applicationContext.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
|
||||
get() = applicationContext.getSystemService()!!
|
||||
|
||||
val Context.jobScheduler: JobScheduler
|
||||
get() = applicationContext.getSystemService(Context.JOB_SCHEDULER_SERVICE) as JobScheduler
|
||||
get() = applicationContext.getSystemService()!!
|
||||
|
||||
fun Context.isInNightMode(): Boolean {
|
||||
val currentNightMode = resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK
|
||||
return currentNightMode == Configuration.UI_MODE_NIGHT_YES
|
||||
}
|
||||
val Context.isInNightMode: Boolean
|
||||
get() {
|
||||
val currentNightMode = resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK
|
||||
return currentNightMode == Configuration.UI_MODE_NIGHT_YES
|
||||
}
|
||||
|
@ -254,8 +254,6 @@
|
||||
|
||||
<style name="Theme.Reader.Light" parent="Theme.Base.Reader.Light" />
|
||||
|
||||
<style name="Theme.Reader.Dark.Smart" parent="Theme.Base.Reader.Light"/>
|
||||
|
||||
|
||||
<!--===============-->
|
||||
<!-- Launch Screen -->
|
||||
|
Loading…
x
Reference in New Issue
Block a user