Fix manga title disappearing in toolbar when pushing another controller

(cherry picked from commit 12ff37d052ccb27b04c84c506c6cb9643fe18f8e)
This commit is contained in:
arkon 2020-08-02 17:46:15 -04:00 committed by Jobobby04
parent 4c20ba38cb
commit 01137bf476

View File

@ -14,6 +14,9 @@ import android.view.View
import android.view.ViewGroup
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.view.ActionMode
import androidx.core.graphics.blue
import androidx.core.graphics.green
import androidx.core.graphics.red
import androidx.core.view.isVisible
import androidx.recyclerview.widget.ConcatAdapter
import androidx.recyclerview.widget.LinearLayoutManager
@ -137,7 +140,6 @@ class MangaController :
private val coverCache: CoverCache by injectLazy()
private val toolbarTextColor by lazy { view!!.context.getResourceColor(R.attr.colorOnPrimary) }
private var toolbarTextAlpha = 255
private var mangaInfoAdapter: MangaInfoHeaderAdapter? = null
private var mangaInfoItemAdapter: MangaInfoItemAdapter? = null
@ -183,6 +185,19 @@ class MangaController :
setHasOptionsMenu(true)
}
override fun getTitle(): String? {
return manga?.title
}
override fun onChangeStarted(handler: ControllerChangeHandler, type: ControllerChangeType) {
super.onChangeStarted(handler, type)
// Hide toolbar title on enter
if (type.isEnter) {
updateToolbarTitleAlpha()
}
}
override fun onChangeEnded(handler: ControllerChangeHandler, type: ControllerChangeType) {
super.onChangeEnded(handler, type)
if (manga == null || source == null) {
@ -252,7 +267,6 @@ class MangaController :
// Delayed in case we need to jump to chapters
binding.recycler.post {
updateToolbarTitleAlpha()
setTitle(manga?.title)
}
}
@ -291,18 +305,14 @@ class MangaController :
else -> min(binding.recycler.computeVerticalScrollOffset(), 255)
}
if (calculatedAlpha != toolbarTextAlpha) {
toolbarTextAlpha = calculatedAlpha
activity?.toolbar?.setTitleTextColor(
Color.argb(
toolbarTextAlpha,
Color.red(toolbarTextColor),
Color.green(toolbarTextColor),
Color.blue(toolbarTextColor)
)
activity?.toolbar?.setTitleTextColor(
Color.argb(
calculatedAlpha,
toolbarTextColor.red,
toolbarTextColor.green,
toolbarTextColor.blue
)
}
)
}
private fun updateFilterIconState() {