diff --git a/app/src/main/java/io/xpipe/app/comp/store/StoreCategoryWrapper.java b/app/src/main/java/io/xpipe/app/comp/store/StoreCategoryWrapper.java index fd3d74b8..3755e801 100644 --- a/app/src/main/java/io/xpipe/app/comp/store/StoreCategoryWrapper.java +++ b/app/src/main/java/io/xpipe/app/comp/store/StoreCategoryWrapper.java @@ -43,14 +43,13 @@ public class StoreCategoryWrapper { this.root = last; this.category = category; - this.name = new SimpleStringProperty(); - this.lastAccess = new SimpleObjectProperty<>(); - this.sortMode = new SimpleObjectProperty<>(); - this.share = new SimpleObjectProperty<>(); + this.name = new SimpleStringProperty(category.getName()); + this.lastAccess = new SimpleObjectProperty<>(category.getLastAccess()); + this.sortMode = new SimpleObjectProperty<>(category.getSortMode()); + this.share = new SimpleObjectProperty<>(category.isShare()); this.children = FXCollections.observableArrayList(); this.containedEntries = FXCollections.observableArrayList(); setupListeners(); - update(); } public StoreCategoryWrapper getRoot() { @@ -117,20 +116,18 @@ public class StoreCategoryWrapper { sortMode.setValue(category.getSortMode()); share.setValue(category.isShare()); - if (StoreViewState.get() != null) { - containedEntries.setAll(StoreViewState.get().getAllEntries().stream() - .filter(entry -> contains(entry.getEntry())) - .toList()); - children.setAll(StoreViewState.get().getCategories().stream() - .filter(storeCategoryWrapper -> getCategory() - .getUuid() - .equals(storeCategoryWrapper.getCategory().getParentCategory())) - .toList()); - Optional.ofNullable(getParent()) - .ifPresent(storeCategoryWrapper -> { - storeCategoryWrapper.update(); - }); - } + containedEntries.setAll(StoreViewState.get().getAllEntries().stream() + .filter(entry -> contains(entry.getEntry())) + .toList()); + children.setAll(StoreViewState.get().getCategories().stream() + .filter(storeCategoryWrapper -> getCategory() + .getUuid() + .equals(storeCategoryWrapper.getCategory().getParentCategory())) + .toList()); + Optional.ofNullable(getParent()) + .ifPresent(storeCategoryWrapper -> { + storeCategoryWrapper.update(); + }); } public String getName() { diff --git a/app/src/main/java/io/xpipe/app/comp/store/StoreEntryWrapper.java b/app/src/main/java/io/xpipe/app/comp/store/StoreEntryWrapper.java index e4a88455..4f850b58 100644 --- a/app/src/main/java/io/xpipe/app/comp/store/StoreEntryWrapper.java +++ b/app/src/main/java/io/xpipe/app/comp/store/StoreEntryWrapper.java @@ -61,7 +61,6 @@ public class StoreEntryWrapper { }); this.defaultActionProvider = new SimpleObjectProperty<>(); setupListeners(); - update(); } public void moveTo(DataStoreCategory category) { @@ -136,9 +135,7 @@ public class StoreEntryWrapper { deletable.setValue(entry.getConfiguration().isDeletable() || AppPrefs.get().developerDisableGuiRestrictions().getValue()); - if (StoreViewState.get() != null) { - category.setValue(StoreViewState.get().getCategoryWrapper(DataStorage.get().getStoreCategoryIfPresent(entry.getCategoryUuid()).orElseThrow())); - } + category.setValue(StoreViewState.get().getCategoryWrapper(DataStorage.get().getStoreCategoryIfPresent(entry.getCategoryUuid()).orElseThrow())); actionProviders.keySet().forEach(dataStoreActionProvider -> { if (!isInStorage()) { diff --git a/app/src/main/java/io/xpipe/app/comp/store/StoreViewState.java b/app/src/main/java/io/xpipe/app/comp/store/StoreViewState.java index 1e75e6f9..eb83b2e8 100644 --- a/app/src/main/java/io/xpipe/app/comp/store/StoreViewState.java +++ b/app/src/main/java/io/xpipe/app/comp/store/StoreViewState.java @@ -131,7 +131,9 @@ public class StoreViewState { return; } - new StoreViewState(); + INSTANCE = new StoreViewState(); + INSTANCE.categories.forEach(storeCategoryWrapper -> storeCategoryWrapper.update()); + INSTANCE.allEntries.forEach(storeCategoryWrapper -> storeCategoryWrapper.update()); } public static void reset() { @@ -173,10 +175,6 @@ public class StoreViewState { storeCategoryWrapper.getCategory().getUuid().equals(DataStorage.DEFAULT_CATEGORY_UUID)) .findFirst() .orElseThrow())); - - INSTANCE = this; - categories.forEach(storeCategoryWrapper -> storeCategoryWrapper.update()); - allEntries.forEach(storeCategoryWrapper -> storeCategoryWrapper.update()); } private void addStorageListeners() {