mirror of
https://github.com/mihonapp/mihon.git
synced 2025-06-25 10:37:51 +02:00
Add icons for settings
This commit is contained in:
@ -229,6 +229,7 @@ class CataloguePresenter : BasePresenter<CatalogueFragment>() {
|
||||
source.fetchSearchManga(nextMangasPage, query)
|
||||
|
||||
return observable.subscribeOn(Schedulers.io())
|
||||
.doOnNext { if (it.mangas.isEmpty()) throw Exception("Empty page") }
|
||||
.doOnNext { lastMangasPage = it }
|
||||
.flatMap { Observable.from(it.mangas) }
|
||||
.map { networkToLocalManga(it) }
|
||||
|
@ -2,10 +2,14 @@ package eu.kanade.tachiyomi.ui.setting
|
||||
|
||||
import android.os.Bundle
|
||||
import android.support.annotation.CallSuper
|
||||
import android.support.graphics.drawable.VectorDrawableCompat
|
||||
import android.support.v4.content.ContextCompat
|
||||
import android.support.v7.preference.XpPreferenceFragment
|
||||
import android.view.View
|
||||
import eu.kanade.tachiyomi.R
|
||||
import net.xpece.android.support.preference.PreferenceIconHelper
|
||||
import net.xpece.android.support.preference.PreferenceScreenNavigationStrategy
|
||||
import net.xpece.android.support.preference.Util
|
||||
import rx.subscriptions.CompositeSubscription
|
||||
|
||||
open class SettingsFragment : XpPreferenceFragment() {
|
||||
@ -20,6 +24,10 @@ open class SettingsFragment : XpPreferenceFragment() {
|
||||
|
||||
lateinit var subscriptions: CompositeSubscription
|
||||
|
||||
private val iconTint by lazy { ContextCompat.getColorStateList(
|
||||
context, Util.resolveResourceId(context, R.attr.colorAccent, 0))
|
||||
}
|
||||
|
||||
override final fun onCreatePreferences2(savedState: Bundle?, rootKey: String?) {
|
||||
subscriptions = CompositeSubscription()
|
||||
|
||||
@ -31,6 +39,18 @@ open class SettingsFragment : XpPreferenceFragment() {
|
||||
addPreferencesFromResource(R.xml.pref_advanced)
|
||||
addPreferencesFromResource(R.xml.pref_about)
|
||||
|
||||
// Add an icon to each subscreen
|
||||
for ((screen, drawable) in getSubscreenIcons()) {
|
||||
val icon = VectorDrawableCompat.create(resources, drawable, context.theme) ?: continue
|
||||
|
||||
PreferenceIconHelper(findPreference(screen)).apply {
|
||||
isIconPaddingEnabled = true
|
||||
setIcon(icon)
|
||||
tintList = iconTint
|
||||
isIconTintEnabled = true
|
||||
}
|
||||
}
|
||||
|
||||
// Setup root preference title.
|
||||
preferenceScreen.title = activity.title
|
||||
|
||||
@ -52,4 +72,14 @@ open class SettingsFragment : XpPreferenceFragment() {
|
||||
super.onDestroyView()
|
||||
}
|
||||
|
||||
private fun getSubscreenIcons() = listOf(
|
||||
"general_screen" to R.drawable.ic_tune_black_24dp,
|
||||
"reader_screen" to R.drawable.ic_chrome_reader_mode_black_24dp,
|
||||
"downloads_screen" to R.drawable.ic_file_download_black_24dp,
|
||||
"sources_screen" to R.drawable.ic_language_black_24dp,
|
||||
"sync_screen" to R.drawable.ic_sync_black_24dp,
|
||||
"advanced_screen" to R.drawable.ic_code_black_24dp,
|
||||
"about_screen" to R.drawable.ic_help_black_24dp
|
||||
)
|
||||
|
||||
}
|
Reference in New Issue
Block a user