fix crash caused by style #422

This commit is contained in:
ShirosakiMio 2024-07-01 08:47:24 +08:00
parent 36f1b75c31
commit d535fa82ab
2 changed files with 19 additions and 4 deletions

View File

@ -17,6 +17,7 @@ import com.tungsten.fclcore.util.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Objects;
import java.util.logging.Level;
public class ButtonStyles {
@ -70,14 +71,21 @@ public class ButtonStyles {
}
private static ArrayList<ControlButtonStyle> getStylesFromDisk() {
ArrayList<ControlButtonStyle> list = new ArrayList<>();
try {
String json = FileUtils.readText(new File(FCLPath.CONTROLLER_DIR + "/styles/button_styles.json"));
Gson gson = new GsonBuilder().setPrettyPrinting().create();
return gson.fromJson(json, new TypeToken<ArrayList<ControlButtonStyle>>(){}.getType());
ArrayList<ControlButtonStyle> styles = gson.fromJson(json, new TypeToken<ArrayList<ControlButtonStyle>>() {
}.getType());
if (Objects.isNull(styles)) {
new File(FCLPath.CONTROLLER_DIR + "/styles/button_styles.json").delete();
} else {
list.addAll(styles);
}
} catch (IOException e) {
Logging.LOG.log(Level.SEVERE, "Failed to get button styles", e);
return new ArrayList<>();
}
return list;
}
public static ObservableList<ControlButtonStyle> getStyles() {

View File

@ -17,6 +17,7 @@ import com.tungsten.fclcore.util.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Objects;
import java.util.logging.Level;
public class DirectionStyles {
@ -70,14 +71,20 @@ public class DirectionStyles {
}
private static ArrayList<ControlDirectionStyle> getStylesFromDisk() {
ArrayList<ControlDirectionStyle> list = new ArrayList<>();
try {
String json = FileUtils.readText(new File(FCLPath.CONTROLLER_DIR + "/styles/direction_styles.json"));
Gson gson = new GsonBuilder().setPrettyPrinting().create();
return gson.fromJson(json, new TypeToken<ArrayList<ControlDirectionStyle>>(){}.getType());
ArrayList<ControlDirectionStyle> styles = gson.fromJson(json, new TypeToken<ArrayList<ControlDirectionStyle>>(){}.getType());
if (Objects.isNull(styles)) {
new File(FCLPath.CONTROLLER_DIR + "/styles/button_styles.json").delete();
} else {
list.addAll(styles);
}
} catch (IOException e) {
Logging.LOG.log(Level.SEVERE, "Failed to get direction styles", e);
return new ArrayList<>();
}
return list;
}
public static ObservableList<ControlDirectionStyle> getStyles() {