diff --git a/app/src/main/java/io/xpipe/app/hub/list/StoreViewState.java b/app/src/main/java/io/xpipe/app/hub/list/StoreViewState.java index daa13c92a..3711df8e6 100644 --- a/app/src/main/java/io/xpipe/app/hub/list/StoreViewState.java +++ b/app/src/main/java/io/xpipe/app/hub/list/StoreViewState.java @@ -796,6 +796,14 @@ public class StoreViewState { .orElseThrow(); } + public StoreCategoryWrapper getCategoryWrapper(UUID uuid) { + return categories.getList().stream() + .filter(storeCategoryWrapper -> + storeCategoryWrapper.getCategory().getUuid().equals(uuid)) + .findFirst() + .orElseThrow(); + } + public StoreCategoryWrapper getCategoryWrapper(DataStoreCategory entry) { return categories.getList().stream() .filter(storeCategoryWrapper -> diff --git a/app/src/main/java/io/xpipe/app/prefs/AppPrefsStorageHandler.java b/app/src/main/java/io/xpipe/app/prefs/AppPrefsStorageHandler.java index 2dbc20033..56371ff62 100644 --- a/app/src/main/java/io/xpipe/app/prefs/AppPrefsStorageHandler.java +++ b/app/src/main/java/io/xpipe/app/prefs/AppPrefsStorageHandler.java @@ -45,7 +45,7 @@ public class AppPrefsStorageHandler { content = (ObjectNode) read; } } - } catch (IOException e) { + } catch (Exception e) { ErrorEventFactory.fromThrowable(e) .expected() .description("Settings file " + file + " is corrupt") diff --git a/app/src/main/java/io/xpipe/app/storage/DataStorage.java b/app/src/main/java/io/xpipe/app/storage/DataStorage.java index 1fd7afc19..fc9cb6fdf 100644 --- a/app/src/main/java/io/xpipe/app/storage/DataStorage.java +++ b/app/src/main/java/io/xpipe/app/storage/DataStorage.java @@ -579,9 +579,6 @@ public abstract class DataStorage { }); categoriesToMove.forEach(toMove -> { toMove.setParentCategory(breakOut.getUuid()); - // The update mechanism does not support moves, so readd them - listeners.forEach(storageListener -> storageListener.onCategoryRemove(toMove)); - listeners.forEach(storageListener -> storageListener.onCategoryAdd(toMove)); }); listeners.forEach(storageListener -> storageListener.onCategoryListUpdate()); @@ -633,9 +630,6 @@ public abstract class DataStorage { }); moveCategories.forEach(toMove -> { toMove.setParentCategory(parent.get().getCategoryUuid()); - // The update mechanism does not support moves, so readd them - listeners.forEach(storageListener -> storageListener.onCategoryRemove(toMove)); - listeners.forEach(storageListener -> storageListener.onCategoryAdd(toMove)); }); entry.setCategoryUuid(parent.get().getCategoryUuid());