mirror of
https://github.com/izzy2lost/WeeU.git
synced 2026-07-06 00:19:59 -07:00
Fix crash in graphic packs fragment
This commit is contained in:
@@ -17,6 +17,7 @@ import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.stream.IntStream;
|
||||
|
||||
import info.cemu.Cemu.databinding.FragmentGraphicPacksBinding;
|
||||
|
||||
@@ -81,7 +82,8 @@ public class GraphicPacksFragment extends Fragment {
|
||||
|
||||
private void fillPresets(NativeLibrary.GraphicPack graphicPack) {
|
||||
var recyclerViewItems = new ArrayList<SingleSelectionRecyclerViewItem<String>>();
|
||||
graphicPack.presets.forEach(graphicPackPreset -> {
|
||||
IntStream.range(0, graphicPack.presets.size()).forEach(index -> {
|
||||
var graphicPackPreset = graphicPack.presets.get(index);
|
||||
String category = graphicPackPreset.getCategory();
|
||||
if (category == null) category = getString(R.string.active_preset_category);
|
||||
var recyclerViewItem = new SingleSelectionRecyclerViewItem<>(
|
||||
@@ -92,11 +94,11 @@ public class GraphicPacksFragment extends Fragment {
|
||||
graphicPackPreset.getActivePreset()
|
||||
),
|
||||
(selectedValue, selectionRecyclerViewItem) -> {
|
||||
graphicPackPreset.setActivePreset(selectedValue);
|
||||
selectionRecyclerViewItem.setDescription(selectedValue);
|
||||
var oldPresets = graphicPack.presets;
|
||||
graphicPack.presets.get(index).setActivePreset(selectedValue);
|
||||
selectionRecyclerViewItem.setDescription(selectedValue);
|
||||
graphicPack.reloadPresets();
|
||||
if (!new HashSet<>(oldPresets).containsAll(graphicPack.presets)) {
|
||||
if (!oldPresets.equals(graphicPack.presets)) {
|
||||
recyclerViewItems.forEach(genericRecyclerViewAdapter::removeRecyclerViewItem);
|
||||
fillPresets(graphicPack);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user