package com.kolakcc.loljclient.util;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
public class Configuration {
public static String PVPVersion = "3.14.XX";
private static Properties config = null;
private static File configFile = null;
private static void initializeProperties() {
config = new Properties();
configFile = FileSystem.getFile("app://data/configuration.properties");
try {
if (!configFile.exists()) configFile.createNewFile();
config.load(new FileInputStream(configFile));
String password = config.getProperty("password");
if (password != null) {
password = AES.decrypt(password);
config.setProperty("password", password);
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static String getDefaultLAF() {
if (config == null) initializeProperties();
return config.getProperty("laf", "");
}
public static String getDefaultRegion() {
if (config == null) initializeProperties();
return config.getProperty("region", "");
}
public static String getDefaultUsername() {
if (config == null) initializeProperties();
return config.getProperty("username", "");
}
public static String getDefaultPassword() {
if (config == null) initializeProperties();
return config.getProperty("password", "");
}
public static String getLeagueDirectory() {
//TODO: remove useless code FileSystem checks for already
if (config == null) initializeProperties();
String uncheckedDirectory;
if (System.getProperty("os.name").contains("OS X"))
uncheckedDirectory = config.getProperty("leaguedir", "/Applications/League of Legends.app/Contents/LOL/");
else
uncheckedDirectory = config.getProperty("leaguedir", "C:\\Riot Games\\League of Legends\\");
if (!uncheckedDirectory.endsWith(File.separator)) uncheckedDirectory = uncheckedDirectory + File.separator;
config.put("leaguedir",uncheckedDirectory);
Configuration.flushConfig();
return uncheckedDirectory;
}
public static String getXMPPStatus() {
if (config == null) initializeProperties();
return config.getProperty("status", "");
}
public static boolean checkLeagueDirectory() {
File f = new File(Configuration.getLeagueDirectory());
return (f.isDirectory() && f.canRead());
}
public static void setStatus(String status) {
set("status", status);
}
public static void setLeagueDirectory(File dir) {
set("leaguedir", dir.getAbsolutePath());
}
public static void setDefaultLAF(String LAF) {
set("laf",LAF);
}
public static void flushConfig() {
if (config == null) initializeProperties();
try {
config.store(new FileOutputStream(configFile), "");
} catch (IOException e) {
e.printStackTrace();
}
}
public static void set(String key, String value) {
if (config == null) initializeProperties();
if (key == "password") {
value = AES.encrypt(value);
}
config.put(key, value);
Configuration.flushConfig();
}
}