fix a crash caused by style

This commit is contained in:
ShirosakiMio 2024-04-23 12:06:12 +08:00
parent 356f84c053
commit 24c0af8162
2 changed files with 6 additions and 1 deletions

View File

@ -198,6 +198,9 @@ public class ControlButtonData implements Cloneable, Observable, CustomControl {
Gson gson = new GsonBuilder().setPrettyPrinting().create();
data.setText(Optional.ofNullable(obj.get("text")).map(JsonElement::getAsString).orElse(""));
if (!ButtonStyles.isInitialized()) {
ButtonStyles.init();
}
if (obj.get("style").toString().contains("\"name\"")) {
data.setStyle(gson.fromJson(Optional.ofNullable(obj.get("style")).map(JsonElement::getAsJsonObject).orElse(gson.toJsonTree(ControlButtonStyle.DEFAULT_BUTTON_STYLE).getAsJsonObject()), new TypeToken<ControlButtonStyle>() {}.getType()));
ButtonStyles.addStyle(data.getStyle());

View File

@ -175,9 +175,11 @@ public class ControlDirectionData implements Cloneable, Observable, CustomContro
ControlDirectionData data = new ControlDirectionData(Optional.ofNullable(obj.get("id")).map(JsonElement::getAsString).orElse(UUID.randomUUID().toString()));
Gson gson = new GsonBuilder().setPrettyPrinting().create();
if (!DirectionStyles.isInitialized()) {
DirectionStyles.init();
}
if (obj.get("style").toString().contains("\"name\"")) {
data.setStyle(gson.fromJson(Optional.ofNullable(obj.get("style")).map(JsonElement::getAsJsonObject).orElse(gson.toJsonTree(ControlDirectionStyle.DEFAULT_DIRECTION_STYLE).getAsJsonObject()), new TypeToken<ControlDirectionStyle>(){}.getType()));
DirectionStyles.init();
DirectionStyles.addStyle(data.getStyle());
} else {
data.setStyle(DirectionStyles.findStyleByName(obj.get("style").getAsString()));