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