Skip to content
Snippets Groups Projects
Commit 5874d4cc authored by Matyáš Latner's avatar Matyáš Latner
Browse files

#14 Separated external storage for release, debug and devel build types

parent 7ae69fb2
No related branches found
No related tags found
No related merge requests found
......@@ -206,6 +206,10 @@ public class TablexiaSettings {
return BUILD_TYPE.getLogLevel();
}
public BuildType getBuildType() {
return BUILD_TYPE;
}
public void setLocale(LocaleDefinition localeDefinition) {
LocaleDefinition lastLocale = selectedLocale;
selectedLocale = localeDefinition;
......
......@@ -6,10 +6,36 @@ import com.badlogic.gdx.assets.loaders.resolvers.ExternalFileHandleResolver;
import com.badlogic.gdx.assets.loaders.resolvers.InternalFileHandleResolver;
import com.badlogic.gdx.files.FileHandle;
import cz.nic.tablexia.TablexiaSettings;
import cz.nic.tablexia.util.Log;
public abstract class TablexiaAbstractFileManager extends AssetManager {
private enum BuildTypeSuffix {
DEBUG(TablexiaSettings.BuildType.DEBUG),
DEVEL(TablexiaSettings.BuildType.DEVEL);
private final TablexiaSettings.BuildType buildType;
BuildTypeSuffix(TablexiaSettings.BuildType buildType) {
this.buildType = buildType;
}
public String getSuffix() {
return "_" + buildType.getKey() + "/";
}
public static String getSuffixForBuildType(TablexiaSettings.BuildType buildType) {
for (BuildTypeSuffix buildTypeSuffix: BuildTypeSuffix.values()) {
if (buildTypeSuffix.buildType == buildType) {
return buildTypeSuffix.getSuffix();
}
}
return "/";
}
}
public interface StorageType {
String getStoragePath();
FileHandleResolver getResolver();
......@@ -17,21 +43,23 @@ public abstract class TablexiaAbstractFileManager extends AssetManager {
public enum RootStorageType implements StorageType {
INTERNAL("", new InternalFileHandleResolver()),
EXTERNAL(RootStorageType.TABLEXIA_DIRECTORY, new ExternalFileHandleResolver());
INTERNAL("", false, new InternalFileHandleResolver()),
EXTERNAL(RootStorageType.TABLEXIA_DIRECTORY, true, new ExternalFileHandleResolver());
public static final String TABLEXIA_DIRECTORY = ".tablexia/";
public static final String TABLEXIA_DIRECTORY = ".tablexia";
private String storagePath;
private boolean useBuildTypeSuffix;
private FileHandleResolver resolver;
RootStorageType(String storagePath, FileHandleResolver resolver) {
RootStorageType(String storagePath, boolean useBuildTypeSuffix, FileHandleResolver resolver) {
this.storagePath = storagePath;
this.useBuildTypeSuffix = useBuildTypeSuffix;
this.resolver = resolver;
}
public String getStoragePath() {
return storagePath;
return storagePath + (useBuildTypeSuffix ? BuildTypeSuffix.getSuffixForBuildType(TablexiaSettings.getInstance().getBuildType()) : "");
}
public FileHandleResolver getResolver() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment