From 590eb8cd66f86ebcb5ac423ac760a17de47704a7 Mon Sep 17 00:00:00 2001 From: Jobobby04 Date: Mon, 25 May 2020 00:52:51 -0400 Subject: [PATCH] Add preview requested changes to comfortable grid --- .../data/preference/PreferenceKeys.kt | 4 +-- .../data/preference/PreferenceValues.kt | 4 +++ .../data/preference/PreferencesHelper.kt | 4 +-- .../source/browse/BrowseSourceController.kt | 35 +++++++++++-------- .../source/browse/BrowseSourcePresenter.kt | 35 +++---------------- .../browse/SourceComfortableGridHolder.kt | 2 +- .../browse/source/browse/SourceGridHolder.kt | 2 +- .../ui/browse/source/browse/SourceItem.kt | 14 ++++---- .../ui/library/LibraryCategoryView.kt | 3 +- .../library/LibraryComfortableGridHolder.kt | 2 +- .../tachiyomi/ui/library/LibraryGridHolder.kt | 2 +- .../tachiyomi/ui/library/LibraryItem.kt | 12 ++++--- .../tachiyomi/ui/library/LibraryPresenter.kt | 4 +-- .../ui/library/LibrarySettingsSheet.kt | 19 +++++----- .../layout/source_comfortable_grid_item.xml | 1 - app/src/main/res/menu/source_browse.xml | 17 +++++++-- app/src/main/res/values/strings.xml | 2 +- 17 files changed, 82 insertions(+), 80 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt index 5fec069c7..5c3309f1c 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt @@ -73,7 +73,7 @@ object PreferenceKeys { const val lastUsedCategory = "last_used_category" - const val catalogueViewSetting = "pref_display_catalogue_view_setting" + const val catalogueDisplayMode = "pref_display_catalogue_display_mode" const val enabledLanguages = "source_languages" @@ -137,7 +137,7 @@ object PreferenceKeys { const val downloadNewCategories = "download_new_categories" - const val libraryViewSetting = "pref_display_library_view_setting" + const val libraryDisplayMode = "pref_display_library_display_mode" const val lang = "app_language" diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceValues.kt b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceValues.kt index 3e1a5a323..19ab78626 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceValues.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceValues.kt @@ -15,4 +15,8 @@ object PreferenceValues { const val THEME_DARK_DEFAULT = "default" const val THEME_DARK_BLUE = "blue" const val THEME_DARK_AMOLED = "amoled" + + const val DISPLAY_COMPACT_GRID = 0 + const val DISPLAY_LIST = 1 + const val DISPLAY_COMFORTABLE_GRID = 2 } diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt index 3f12df5ed..ca2d7b3ae 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt @@ -143,7 +143,7 @@ class PreferencesHelper(val context: Context) { fun lastVersionCode() = flowPrefs.getInt("last_version_code", 0) - fun catalogueViewSetting() = rxPrefs.getInteger(Keys.catalogueViewSetting, 0) + fun catalogueDisplayMode() = flowPrefs.getInt(Keys.catalogueDisplayMode, 0) fun enabledLanguages() = flowPrefs.getStringSet(Keys.enabledLanguages, setOf("all", "en", Locale.getDefault().language)) @@ -191,7 +191,7 @@ class PreferencesHelper(val context: Context) { fun libraryUpdatePrioritization() = flowPrefs.getInt(Keys.libraryUpdatePrioritization, 0) - fun libraryViewSetting() = flowPrefs.getInt(Keys.libraryViewSetting, 0) + fun libraryDisplayMode() = flowPrefs.getInt(Keys.libraryDisplayMode, 0) fun downloadBadge() = flowPrefs.getBoolean(Keys.downloadBadge, false) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt index 5222c8211..2f02e5a55 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt @@ -26,6 +26,9 @@ import eu.davidea.flexibleadapter.items.IFlexible import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.database.models.Category import eu.kanade.tachiyomi.data.database.models.Manga +import eu.kanade.tachiyomi.data.preference.PreferenceValues.DISPLAY_COMFORTABLE_GRID +import eu.kanade.tachiyomi.data.preference.PreferenceValues.DISPLAY_COMPACT_GRID +import eu.kanade.tachiyomi.data.preference.PreferenceValues.DISPLAY_LIST import eu.kanade.tachiyomi.data.preference.PreferencesHelper import eu.kanade.tachiyomi.databinding.SourceControllerBinding import eu.kanade.tachiyomi.source.CatalogueSource @@ -314,7 +317,7 @@ open class BrowseSourceController(bundle: Bundle) : binding.catalogueView.removeView(oldRecycler) } - val recycler = if (presenter.mode == 1) { + val recycler = if (preferences.catalogueDisplayMode().get() == DISPLAY_LIST) { RecyclerView(view.context).apply { id = R.id.recycler layoutManager = LinearLayoutManager(context) @@ -397,15 +400,13 @@ open class BrowseSourceController(bundle: Bundle) : } ) - // Show next display mode - menu.findItem(R.id.action_display_mode).apply { - val icon = if (presenter.mode == 0) { - R.drawable.ic_view_list_24dp - } else { - R.drawable.ic_view_module_24dp - } - setIcon(icon) + val displayItem = when (preferences.catalogueDisplayMode().get()) { + DISPLAY_COMPACT_GRID -> R.id.action_compact_grid + DISPLAY_LIST -> R.id.action_list + DISPLAY_COMFORTABLE_GRID -> R.id.action_comfortable_grid + else -> throw NotImplementedError("Unimplemented display") } + menu.findItem(displayItem).isChecked = true } override fun onPrepareOptionsMenu(menu: Menu) { @@ -421,7 +422,9 @@ open class BrowseSourceController(bundle: Bundle) : override fun onOptionsItemSelected(item: MenuItem): Boolean { when (item.itemId) { R.id.action_search -> expandActionViewFromInteraction = true - R.id.action_display_mode -> swapDisplayMode() + R.id.action_compact_grid -> setDisplayMode(DISPLAY_COMPACT_GRID) + R.id.action_list -> setDisplayMode(DISPLAY_LIST) + R.id.action_comfortable_grid -> setDisplayMode(DISPLAY_COMFORTABLE_GRID) R.id.action_open_in_web_view -> openInWebView() R.id.action_local_source_help -> openLocalSourceHelpGuide() } @@ -576,17 +579,19 @@ open class BrowseSourceController(bundle: Bundle) : } /** - * Swaps the current display mode. + * Sets the current display mode. + * + * @param mode the mode to change to */ - fun swapDisplayMode() { + private fun setDisplayMode(mode: Int) { val view = view ?: return val adapter = adapter ?: return - presenter.swapDisplayMode() - val isListMode = presenter.mode == 1 + preferences.catalogueDisplayMode().set(mode) + presenter.refreshDisplayMode() activity?.invalidateOptionsMenu() setupRecycler(view) - if (!isListMode || !view.context.connectivityManager.isActiveNetworkMetered) { + if (mode == DISPLAY_LIST || !view.context.connectivityManager.isActiveNetworkMetered) { // Initialize mangas if going to grid view or if over wifi when going to list view val mangas = (0 until adapter.itemCount).mapNotNull { (adapter.getItem(it) as? SourceItem)?.manga diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt index 5739f3dc1..b4babfa2b 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt @@ -98,12 +98,6 @@ open class BrowseSourcePresenter( */ private val mangaDetailSubject = PublishSubject.create>() - /** - * Whether the view is in list mode or not. - */ - var mode: Int = 0 - private set - /** * Subscription for the pager. */ @@ -130,11 +124,6 @@ open class BrowseSourcePresenter( query = savedState.getString(::query.name, "") } - add( - prefs.catalogueViewSetting().asObservable() - .subscribe { setDisplayMode(it) } - ) - restartPager() } @@ -162,7 +151,7 @@ open class BrowseSourcePresenter( val sourceId = source.id - val catalogueViewSetting = prefs.catalogueViewSetting() + val catalogueDisplayMode = prefs.catalogueDisplayMode() // Prepare the pager. pagerSubscription?.let { remove(it) } @@ -170,7 +159,7 @@ open class BrowseSourcePresenter( .observeOn(Schedulers.io()) .map { pair -> pair.first to pair.second.map { networkToLocalManga(it, sourceId) } } .doOnNext { initializeMangas(it.second) } - .map { pair -> pair.first to pair.second.map { SourceItem(it, catalogueViewSetting) } } + .map { pair -> pair.first to pair.second.map { SourceItem(it, catalogueDisplayMode) } } .observeOn(AndroidSchedulers.mainThread()) .subscribeReplay( { view, (page, mangas) -> @@ -209,12 +198,9 @@ open class BrowseSourcePresenter( } /** - * Sets the display mode. - * - * @param mode whether the current mode is in list or not. + * Refeshes the display mode. */ - private fun setDisplayMode(mode: Int) { - this.mode = mode + fun refreshDisplayMode() { subscribeToMangaInitializer() } @@ -299,19 +285,6 @@ open class BrowseSourcePresenter( db.insertManga(manga).executeAsBlocking() } - /** - * Changes the active display mode. - */ - fun swapDisplayMode() { - prefs.catalogueViewSetting().set( - when (mode) { - 0 -> 1 - 1 -> 2 - else -> 0 - } - ) - } - /** * Set the filter states for the current source. * diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceComfortableGridHolder.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceComfortableGridHolder.kt index 055061d42..1b2565ebd 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceComfortableGridHolder.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceComfortableGridHolder.kt @@ -21,7 +21,7 @@ import kotlinx.android.synthetic.main.source_comfortable_grid_item.title * @constructor creates a new catalogue holder. */ class SourceComfortableGridHolder(private val view: View, private val adapter: FlexibleAdapter<*>) : - SourceHolder(view, adapter) { + SourceGridHolder(view, adapter) { /** * Method called from [CatalogueAdapter.onBindViewHolder]. It updates the data for this diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceGridHolder.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceGridHolder.kt index 360df59bd..887debb1d 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceGridHolder.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceGridHolder.kt @@ -20,7 +20,7 @@ import kotlinx.android.synthetic.main.source_grid_item.title * @param adapter the adapter handling this holder. * @constructor creates a new catalogue holder. */ -class SourceGridHolder(private val view: View, private val adapter: FlexibleAdapter<*>) : +open class SourceGridHolder(private val view: View, private val adapter: FlexibleAdapter<*>) : SourceHolder(view, adapter) { /** diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceItem.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceItem.kt index 9d3fb2af3..50b3ccc53 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceItem.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceItem.kt @@ -6,23 +6,25 @@ import android.view.ViewGroup.LayoutParams.MATCH_PARENT import android.widget.FrameLayout import androidx.constraintlayout.widget.ConstraintLayout import androidx.recyclerview.widget.RecyclerView -import com.f2prateek.rx.preferences.Preference +import com.tfcporciuncula.flow.Preference import eu.davidea.flexibleadapter.FlexibleAdapter import eu.davidea.flexibleadapter.items.AbstractFlexibleItem import eu.davidea.flexibleadapter.items.IFlexible import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.database.models.Manga +import eu.kanade.tachiyomi.data.preference.PreferenceValues.DISPLAY_COMPACT_GRID +import eu.kanade.tachiyomi.data.preference.PreferenceValues.DISPLAY_LIST import eu.kanade.tachiyomi.widget.AutofitRecyclerView import kotlinx.android.synthetic.main.source_grid_item.view.card import kotlinx.android.synthetic.main.source_grid_item.view.gradient -class SourceItem(val manga: Manga, private val catalogueViewSetting: Preference) : +class SourceItem(val manga: Manga, private val catalogueDisplayMode: Preference) : AbstractFlexibleItem() { override fun getLayoutRes(): Int { - return when (catalogueViewSetting.get()) { - 0 -> R.layout.source_grid_item - 1 -> R.layout.source_list_item + return when (catalogueDisplayMode.get()) { + DISPLAY_COMPACT_GRID -> R.layout.source_grid_item + DISPLAY_LIST -> R.layout.source_list_item else -> R.layout.source_comfortable_grid_item } } @@ -34,7 +36,7 @@ class SourceItem(val manga: Manga, private val catalogueViewSetting: Preference< val parent = adapter.recyclerView return if (parent is AutofitRecyclerView) { val coverHeight = parent.itemWidth / 3 * 4 - if (catalogueViewSetting.get() == 0) { + if (catalogueDisplayMode.get() == DISPLAY_COMPACT_GRID) { view.apply { card.layoutParams = FrameLayout.LayoutParams( MATCH_PARENT, coverHeight diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryView.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryView.kt index 7368041b9..956628ab5 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryView.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryView.kt @@ -13,6 +13,7 @@ import eu.kanade.tachiyomi.data.database.DatabaseHelper import eu.kanade.tachiyomi.data.database.models.Category import eu.kanade.tachiyomi.data.database.models.Manga import eu.kanade.tachiyomi.data.library.LibraryUpdateService +import eu.kanade.tachiyomi.data.preference.PreferenceValues.DISPLAY_LIST import eu.kanade.tachiyomi.data.preference.PreferencesHelper import eu.kanade.tachiyomi.ui.category.CategoryAdapter import eu.kanade.tachiyomi.util.lang.plusAssign @@ -93,7 +94,7 @@ class LibraryCategoryView @JvmOverloads constructor(context: Context, attrs: Att fun onCreate(controller: LibraryController) { this.controller = controller - recycler = if (preferences.libraryViewSetting().get() == 1) { + recycler = if (preferences.libraryDisplayMode().get() == DISPLAY_LIST) { (swipe_refresh.inflate(R.layout.library_list_recycler) as RecyclerView).apply { layoutManager = LinearLayoutManager(context) } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryComfortableGridHolder.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryComfortableGridHolder.kt index 82e68aecb..c058ae9a8 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryComfortableGridHolder.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryComfortableGridHolder.kt @@ -28,7 +28,7 @@ import kotlinx.android.synthetic.main.source_comfortable_grid_item.unread_text class LibraryComfortableGridHolder( private val view: View, adapter: FlexibleAdapter> -) : LibraryHolder(view, adapter) { +) : LibraryGridHolder(view, adapter) { /** * Method called from [LibraryCategoryAdapter.onBindViewHolder]. It updates the data for this diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryGridHolder.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryGridHolder.kt index c2dfbd2f2..7f9bbbd6a 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryGridHolder.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryGridHolder.kt @@ -25,7 +25,7 @@ import kotlinx.android.synthetic.main.source_grid_item.unread_text * @param listener a listener to react to single tap and long tap events. * @constructor creates a new library holder. */ -class LibraryGridHolder( +open class LibraryGridHolder( private val view: View, adapter: FlexibleAdapter> ) : LibraryHolder(view, adapter) { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryItem.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryItem.kt index deb0a6aac..299cede65 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryItem.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryItem.kt @@ -15,6 +15,8 @@ import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.database.DatabaseHelper import eu.kanade.tachiyomi.data.database.models.LibraryManga import eu.kanade.tachiyomi.data.database.models.Track +import eu.kanade.tachiyomi.data.preference.PreferenceValues.DISPLAY_COMPACT_GRID +import eu.kanade.tachiyomi.data.preference.PreferenceValues.DISPLAY_LIST import eu.kanade.tachiyomi.data.track.TrackManager import eu.kanade.tachiyomi.source.SourceManager import eu.kanade.tachiyomi.widget.AutofitRecyclerView @@ -24,7 +26,7 @@ import kotlinx.android.synthetic.main.source_grid_item.view.gradient import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get -class LibraryItem(val manga: LibraryManga, private val libraryViewSetting: Preference) : +class LibraryItem(val manga: LibraryManga, private val libraryDisplayMode: Preference) : AbstractFlexibleItem(), IFilterable { private val sourceManager: SourceManager = Injekt.get() @@ -35,9 +37,9 @@ class LibraryItem(val manga: LibraryManga, private val libraryViewSetting: Prefe var unreadCount = -1 override fun getLayoutRes(): Int { - return when (libraryViewSetting.get()) { - 0 -> R.layout.source_grid_item - 1 -> R.layout.source_list_item + return when (libraryDisplayMode.get()) { + DISPLAY_COMPACT_GRID -> R.layout.source_grid_item + DISPLAY_LIST -> R.layout.source_list_item else -> R.layout.source_comfortable_grid_item } } @@ -46,7 +48,7 @@ class LibraryItem(val manga: LibraryManga, private val libraryViewSetting: Prefe val parent = adapter.recyclerView return if (parent is AutofitRecyclerView) { val coverHeight = parent.itemWidth / 3 * 4 - if (libraryViewSetting.get() == 0) { + if (libraryDisplayMode.get() == DISPLAY_COMPACT_GRID) { view.apply { card.layoutParams = FrameLayout.LayoutParams(MATCH_PARENT, coverHeight) gradient.layoutParams = FrameLayout.LayoutParams( diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt index ea560eebe..af9715182 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt @@ -301,10 +301,10 @@ class LibraryPresenter( * value. */ private fun getLibraryMangasObservable(): Observable { - val libraryViewSetting = preferences.libraryViewSetting() + val libraryDisplayMode = preferences.libraryDisplayMode() return db.getLibraryMangas().asRxObservable() .map { list -> - list.map { LibraryItem(it, libraryViewSetting) }.groupBy { it.manga.category } + list.map { LibraryItem(it, libraryDisplayMode) }.groupBy { it.manga.category } } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt index 1ff5bc9c0..34c32faf3 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySettingsSheet.kt @@ -5,6 +5,9 @@ import android.content.Context import android.util.AttributeSet import android.view.View import eu.kanade.tachiyomi.R +import eu.kanade.tachiyomi.data.preference.PreferenceValues.DISPLAY_COMFORTABLE_GRID +import eu.kanade.tachiyomi.data.preference.PreferenceValues.DISPLAY_COMPACT_GRID +import eu.kanade.tachiyomi.data.preference.PreferenceValues.DISPLAY_LIST import eu.kanade.tachiyomi.data.preference.PreferencesHelper import eu.kanade.tachiyomi.data.track.TrackManager import eu.kanade.tachiyomi.source.model.Filter.TriState.Companion.STATE_EXCLUDE @@ -228,10 +231,10 @@ class LibrarySettingsSheet( override val footer = null override fun initModels() { - val mode = preferences.libraryViewSetting().get() - grid.checked = mode == 0 - list.checked = mode == 1 - comfortableGrid.checked = mode == 2 + val mode = preferences.libraryDisplayMode().get() + grid.checked = mode == DISPLAY_COMPACT_GRID + list.checked = mode == DISPLAY_LIST + comfortableGrid.checked = mode == DISPLAY_COMFORTABLE_GRID } override fun onItemClicked(item: Item) { @@ -241,11 +244,11 @@ class LibrarySettingsSheet( item.group.items.forEach { (it as Item.Radio).checked = false } item.checked = true - preferences.libraryViewSetting().set( + preferences.libraryDisplayMode().set( when (item) { - grid -> 0 - list -> 1 - else -> 2 + grid -> DISPLAY_COMPACT_GRID + list -> DISPLAY_LIST + else -> DISPLAY_COMFORTABLE_GRID } ) diff --git a/app/src/main/res/layout/source_comfortable_grid_item.xml b/app/src/main/res/layout/source_comfortable_grid_item.xml index 3a307feae..376bd4907 100644 --- a/app/src/main/res/layout/source_comfortable_grid_item.xml +++ b/app/src/main/res/layout/source_comfortable_grid_item.xml @@ -8,7 +8,6 @@ android:padding="4dp"> diff --git a/app/src/main/res/menu/source_browse.xml b/app/src/main/res/menu/source_browse.xml index 94e3a80ce..7f3157c7e 100644 --- a/app/src/main/res/menu/source_browse.xml +++ b/app/src/main/res/menu/source_browse.xml @@ -10,11 +10,24 @@ app:showAsAction="collapseActionView|ifRoom" /> + app:showAsAction="ifRoom"> + + + + + + + + Migrate Display mode Display - Grid + Compact Grid List Download badges Unread badges