(cherry picked from commit f0eb42e72d1e267049777a303bd97d96517a9a1f) # Conflicts: # app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupRestore.kt # app/src/main/java/eu/kanade/tachiyomi/data/backup/full/models/Backup.kt # app/src/main/java/eu/kanade/tachiyomi/data/backup/full/models/BackupManga.kt # app/src/main/java/eu/kanade/tachiyomi/data/backup/legacy/models/Backup.kt # app/src/main/java/eu/kanade/tachiyomi/extension/model/Extension.kt # app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt # app/src/main/java/eu/kanade/tachiyomi/ui/base/changehandler/OneWayFadeChangeHandler.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/SelectionHeader.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceItem.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcePresenter.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceFilterSheet.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchController.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryHolder.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryListHolder.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt # app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt # app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPageSheet.kt # app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt # app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/HttpPageLoader.kt # app/src/main/java/eu/kanade/tachiyomi/ui/reader/model/ReaderPage.kt # app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt # app/src/main/java/eu/kanade/tachiyomi/util/view/ViewExtensions.kt
57 lines
1.7 KiB
Kotlin
57 lines
1.7 KiB
Kotlin
package exh.widget.preference
|
|
|
|
import android.content.Context
|
|
import android.util.AttributeSet
|
|
import androidx.core.view.isVisible
|
|
import androidx.preference.Preference
|
|
import androidx.preference.PreferenceViewHolder
|
|
import eu.kanade.tachiyomi.R
|
|
import eu.kanade.tachiyomi.databinding.PrefItemMangadexBinding
|
|
import eu.kanade.tachiyomi.source.online.all.MangaDex
|
|
import eu.kanade.tachiyomi.util.system.getResourceColor
|
|
|
|
class MangaDexLoginPreference @JvmOverloads constructor(
|
|
context: Context,
|
|
val source: MangaDex,
|
|
attrs: AttributeSet? = null,
|
|
) : Preference(context, attrs) {
|
|
|
|
init {
|
|
layoutResource = R.layout.pref_item_mangadex
|
|
}
|
|
|
|
var binding: PrefItemMangadexBinding? = null
|
|
|
|
private var onLoginClick: () -> Unit = {}
|
|
|
|
override fun onBindViewHolder(holder: PreferenceViewHolder) {
|
|
super.onBindViewHolder(holder)
|
|
binding = PrefItemMangadexBinding.bind(holder.itemView)
|
|
holder.itemView.setOnClickListener {
|
|
onLoginClick()
|
|
}
|
|
val loginFrame = binding?.loginFrame
|
|
val color = if (source.isLogged()) {
|
|
context.getResourceColor(R.attr.colorAccent)
|
|
} else {
|
|
context.getResourceColor(R.attr.colorSecondary)
|
|
}
|
|
|
|
binding?.login?.setImageResource(R.drawable.ic_outline_people_alt_24dp)
|
|
binding?.login?.drawable?.setTint(color)
|
|
|
|
loginFrame?.isVisible = true
|
|
loginFrame?.setOnClickListener {
|
|
onLoginClick()
|
|
}
|
|
}
|
|
|
|
fun setOnLoginClickListener(block: () -> Unit) {
|
|
onLoginClick = block
|
|
}
|
|
|
|
// Make method public
|
|
public override fun notifyChanged() {
|
|
super.notifyChanged()
|
|
}
|
|
}
|