From 1841727c5659a4b9eee0cbdf2d6295273190d06b Mon Sep 17 00:00:00 2001 From: Dima Date: Fri, 7 Apr 2023 18:11:52 +0300 Subject: [PATCH] Remove header rom filter --- app/src/main/java/emu/skyline/MainActivity.kt | 18 +++----- .../skyline/adapter/HeaderRomFilterItem.kt | 44 ------------------- .../emu/skyline/adapter/HeaderViewItem.kt | 27 ------------ .../main/java/emu/skyline/data/DataItem.kt | 2 - .../emu/skyline/input/ControllerActivity.kt | 2 - app/src/main/res/layout/header_rom_filter.xml | 40 ----------------- app/src/main/res/layout/main_activity.xml | 10 +++++ app/src/main/res/layout/section_item.xml | 11 ----- 8 files changed, 16 insertions(+), 138 deletions(-) delete mode 100644 app/src/main/java/emu/skyline/adapter/HeaderRomFilterItem.kt delete mode 100644 app/src/main/java/emu/skyline/adapter/HeaderViewItem.kt delete mode 100644 app/src/main/res/layout/header_rom_filter.xml delete mode 100644 app/src/main/res/layout/section_item.xml diff --git a/app/src/main/java/emu/skyline/MainActivity.kt b/app/src/main/java/emu/skyline/MainActivity.kt index d738c31f..311107f4 100644 --- a/app/src/main/java/emu/skyline/MainActivity.kt +++ b/app/src/main/java/emu/skyline/MainActivity.kt @@ -16,9 +16,7 @@ import androidx.activity.result.contract.ActivityResultContracts import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatDelegate -import androidx.core.content.ContextCompat import androidx.core.content.res.use -import androidx.core.graphics.drawable.toBitmap import androidx.core.view.WindowCompat import androidx.core.view.isInvisible import androidx.core.view.isVisible @@ -32,7 +30,6 @@ import emu.skyline.adapter.* import emu.skyline.data.AppItem import emu.skyline.data.AppItemTag import emu.skyline.data.DataItem -import emu.skyline.data.HeaderItem import emu.skyline.databinding.MainActivityBinding import emu.skyline.loader.AppEntry import emu.skyline.loader.LoaderResult @@ -117,12 +114,6 @@ class MainActivity : AppCompatActivity() { PreferenceManager.setDefaultValues(this, R.xml.emulation_preferences, false) adapter.apply { - setHeaderItems(listOf(HeaderRomFilterItem(formatOrder, if (appSettings.romFormatFilter == 0) null else formatOrder[appSettings.romFormatFilter - 1]) { romFormat -> - appSettings.romFormatFilter = romFormat?.let { formatOrder.indexOf(romFormat) + 1 } ?: 0 - formatFilter = romFormat - populateAdapter() - })) - setOnFilterPublishedListener { binding.appList.post { binding.appList.smoothScrollToPosition(0) } } @@ -230,7 +221,6 @@ class MainActivity : AppCompatActivity() { val formats = formatFilter?.let { listOf(it) } ?: formatOrder for (format in formats) { entries[format]?.let { - add(HeaderItem(format.name)) for (entry in sortGameList(it)) { add(AppItem(entry)) } @@ -304,14 +294,18 @@ class MainActivity : AppCompatActivity() { } private fun populateAdapter() { + binding.textTitle.text = null + binding.textTitle.visibility = View.GONE val items = getDataItems() adapter.setItems(items.map { when (it) { - is HeaderItem -> HeaderViewItem(it.title) is AppItem -> it.toViewItem() } }) - if (items.isEmpty()) adapter.setItems(listOf(HeaderViewItem(getString(R.string.no_rom)))) + if (items.isEmpty()) { + binding.textTitle.visibility = View.VISIBLE + binding.textTitle.text = getString(R.string.no_rom) + } } override fun onStart() { diff --git a/app/src/main/java/emu/skyline/adapter/HeaderRomFilterItem.kt b/app/src/main/java/emu/skyline/adapter/HeaderRomFilterItem.kt deleted file mode 100644 index 78f74684..00000000 --- a/app/src/main/java/emu/skyline/adapter/HeaderRomFilterItem.kt +++ /dev/null @@ -1,44 +0,0 @@ -/* - * SPDX-License-Identifier: MPL-2.0 - * Copyright © 2021 Skyline Team and Contributors (https://github.com/skyline-emu/) - */ - -package emu.skyline.adapter - -import android.view.ViewGroup -import com.google.android.material.chip.Chip -import emu.skyline.R -import emu.skyline.databinding.HeaderRomFilterBinding -import emu.skyline.loader.RomFormat - -object HeaderRomFilterBindingFactory : ViewBindingFactory { - override fun createBinding(parent : ViewGroup) = HeaderRomFilterBinding.inflate(parent.inflater(), parent, false) -} - -typealias OnFilterClickedListener = (format : RomFormat?) -> Unit - -class HeaderRomFilterItem(private val formats : List, selectedFormat : RomFormat?, private val onFilterClickedListener : OnFilterClickedListener) : GenericListItem() { - private var selection = selectedFormat?.let { formats.indexOf(it) + 1 } ?: 0 - - override fun getViewBindingFactory() = HeaderRomFilterBindingFactory - - override fun bind(holder : GenericViewHolder, position : Int) { - val binding = holder.binding - binding.chipGroup.removeViews(1, binding.chipGroup.childCount - 1) - for (format in formats) { - binding.chipGroup.addView(Chip(binding.root.context, null, R.attr.chipChoiceStyle).apply { text = format.name }) - } - binding.chipGroup.setOnCheckedChangeListener { group, checkedId -> - for (i in 0 until group.childCount) { - if (group.getChildAt(i).id == checkedId) { - selection = i - onFilterClickedListener(if (i == 0) null else formats[i - 1]) - break - } - } - } - binding.chipGroup.check(binding.chipGroup.getChildAt(selection).id) - } - - override val fullSpan = true -} diff --git a/app/src/main/java/emu/skyline/adapter/HeaderViewItem.kt b/app/src/main/java/emu/skyline/adapter/HeaderViewItem.kt deleted file mode 100644 index 8a625837..00000000 --- a/app/src/main/java/emu/skyline/adapter/HeaderViewItem.kt +++ /dev/null @@ -1,27 +0,0 @@ -/* - * SPDX-License-Identifier: MPL-2.0 - * Copyright © 2020 Skyline Team and Contributors (https://github.com/skyline-emu/) - */ - -package emu.skyline.adapter - -import android.view.ViewGroup -import emu.skyline.databinding.SectionItemBinding - -object HeaderBindingFactory : ViewBindingFactory { - override fun createBinding(parent : ViewGroup) = SectionItemBinding.inflate(parent.inflater(), parent, false) -} - -class HeaderViewItem(private val text : String) : GenericListItem() { - override fun getViewBindingFactory() = HeaderBindingFactory - - override fun bind(holder : GenericViewHolder, position : Int) { - holder.binding.textTitle.text = text - } - - override fun toString() = "" - - override fun areItemsTheSame(other : GenericListItem) = other is HeaderViewItem && text == other.text - - override val fullSpan = true -} diff --git a/app/src/main/java/emu/skyline/data/DataItem.kt b/app/src/main/java/emu/skyline/data/DataItem.kt index 1edc5783..bf6ca658 100644 --- a/app/src/main/java/emu/skyline/data/DataItem.kt +++ b/app/src/main/java/emu/skyline/data/DataItem.kt @@ -25,8 +25,6 @@ private val missingIcon by lazy { ContextCompat.getDrawable(SkylineApplication.i sealed class DataItem : Serializable -class HeaderItem(val title : String) : DataItem() - /** * This class is a wrapper around [AppEntry], it is used for passing around game metadata */ diff --git a/app/src/main/java/emu/skyline/input/ControllerActivity.kt b/app/src/main/java/emu/skyline/input/ControllerActivity.kt index 37ec4ac6..0a10957c 100644 --- a/app/src/main/java/emu/skyline/input/ControllerActivity.kt +++ b/app/src/main/java/emu/skyline/input/ControllerActivity.kt @@ -7,13 +7,11 @@ package emu.skyline.input import android.content.Intent import android.graphics.Canvas -import android.graphics.Color import android.os.Bundle import android.view.KeyEvent import android.view.ViewTreeObserver import androidx.appcompat.app.AppCompatActivity import androidx.coordinatorlayout.widget.CoordinatorLayout -import androidx.core.content.res.use import androidx.core.view.WindowCompat import androidx.core.view.marginTop import androidx.recyclerview.widget.DividerItemDecoration diff --git a/app/src/main/res/layout/header_rom_filter.xml b/app/src/main/res/layout/header_rom_filter.xml deleted file mode 100644 index 7a785715..00000000 --- a/app/src/main/res/layout/header_rom_filter.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - diff --git a/app/src/main/res/layout/main_activity.xml b/app/src/main/res/layout/main_activity.xml index 8d8a273d..267cba9c 100644 --- a/app/src/main/res/layout/main_activity.xml +++ b/app/src/main/res/layout/main_activity.xml @@ -113,6 +113,16 @@ app:cardUseCompatPadding="true" app:layout_constraintTop_toBottomOf="@id/sub_text" app:shapeAppearance="@style/ShapeAppearance.Material3.Corner.ExtraLarge" /> + + diff --git a/app/src/main/res/layout/section_item.xml b/app/src/main/res/layout/section_item.xml deleted file mode 100644 index bd8fcb3d..00000000 --- a/app/src/main/res/layout/section_item.xml +++ /dev/null @@ -1,11 +0,0 @@ - -