Fix GUI refactoring issue that was preventing Android app from working on mobile devices

This commit is contained in:
drdev
2014-09-21 02:14:49 +00:00
parent 1ce3ed4407
commit 829d0f82e9
10 changed files with 128 additions and 231 deletions

View File

@@ -21,6 +21,7 @@ import javax.swing.MenuElement;
import javax.swing.MenuSelectionManager;
import javax.swing.SwingUtilities;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.Pair;
import com.google.common.base.Function;
@@ -83,7 +84,6 @@ import forge.view.PlayerView;
import forge.view.SpellAbilityView;
public class GuiDesktop implements IGuiBase {
private boolean showOverlay = true;
@Override
@@ -96,6 +96,12 @@ public class GuiDesktop implements IGuiBase {
return BuildInfo.getVersionString();
}
@Override
public String getAssetsDir() {
return StringUtils.containsIgnoreCase(BuildInfo.getVersionString(), "svn") ?
"../forge-gui/" : "";
}
@Override
public void invokeInEdtLater(Runnable proc) {
SwingUtilities.invokeLater(proc);

View File

@@ -19,7 +19,6 @@ package forge;
import forge.control.FControl;
import forge.model.FModel;
import forge.properties.ForgeProfileProperties;
import forge.view.FView;
/**
@@ -47,8 +46,6 @@ public final class Singletons {
initialized = true;
}
ForgeProfileProperties.init(GuiBase.getInterface());
if (withUi) {
view = FView.SINGLETON_INSTANCE;
}

View File

@@ -17,15 +17,11 @@
*/
package forge.view;
import org.apache.commons.lang3.StringUtils;
import forge.GuiBase;
import forge.GuiDesktop;
import forge.Singletons;
import forge.card.CardReaderExperiments;
import forge.error.ExceptionHandler;
import forge.properties.ForgeConstants;
import forge.util.BuildInfo;
/**
* Main class for Forge's swing application view.
@@ -35,10 +31,6 @@ public final class Main {
* Main entrypoint for Forge
*/
public static void main(final String[] args) {
// Init ForgeConstants
final String assetsDir = StringUtils.containsIgnoreCase(BuildInfo.getVersionString(), "svn") ? "../forge-gui/" : "";
ForgeConstants.init(assetsDir);
// HACK - temporary solution to "Comparison method violates it's general contract!" crash
System.setProperty("java.util.Arrays.useLegacyMergeSort", "true");

View File

@@ -6,7 +6,6 @@ import java.util.List;
import junit.framework.Assert;
import org.apache.commons.lang3.StringUtils;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
@@ -16,7 +15,6 @@ import forge.card.CardRarity;
import forge.card.CardRules;
import forge.card.DeckHints;
import forge.properties.ForgeConstants;
import forge.util.BuildInfo;
import forge.util.FileUtil;
/**
@@ -28,10 +26,6 @@ public class DeckHintsTest {
@BeforeTest
void setupTest() {
// Init ForgeConstants
final String assetsDir = StringUtils.containsIgnoreCase(BuildInfo.getVersionString(), "svn") ? "../forge-gui/" : "";
ForgeConstants.init(assetsDir);
GuiBase.setInterface(new GuiDesktop());
}

View File

@@ -11,14 +11,12 @@ import com.badlogic.gdx.backends.lwjgl.LwjglClipboard;
import forge.Forge;
import forge.assets.AssetsDownloader;
import forge.interfaces.IDeviceAdapter;
import forge.properties.ForgeConstants;
import forge.util.FileUtil;
import forge.util.Utils;
public class Main {
public static void main(String[] args) {
String assetsDir = AssetsDownloader.SHARE_DESKTOP_ASSETS ? "../forge-gui/" : "testAssets/";
ForgeConstants.init(assetsDir);
if (!AssetsDownloader.SHARE_DESKTOP_ASSETS) {
FileUtil.ensureDirectoryExists(assetsDir);
}

View File

@@ -55,10 +55,9 @@ public class Forge implements ApplicationListener {
public static ApplicationListener getApp(Clipboard clipboard0, IDeviceAdapter deviceAdapter0, String assetDir0) {
if (GuiBase.getInterface() == null) {
ForgeConstants.init(assetDir0);
clipboard = clipboard0;
deviceAdapter = deviceAdapter0;
final IGuiBase gui = new GuiMobile();
final IGuiBase gui = new GuiMobile(assetDir0);
GuiBase.setInterface(gui);
soundSystem = new SoundSystem(gui);
}

View File

@@ -62,8 +62,10 @@ import forge.view.PlayerView;
import forge.view.SpellAbilityView;
public class GuiMobile implements IGuiBase {
public GuiMobile() {
private final String assetsDir;
public GuiMobile(String assetsDir0) {
assetsDir = assetsDir0;
}
@Override
@@ -76,6 +78,11 @@ public class GuiMobile implements IGuiBase {
return Forge.CURRENT_VERSION;
}
@Override
public String getAssetsDir() {
return assetsDir;
}
@Override
public void invokeInEdtLater(Runnable proc) {
Gdx.app.postRunnable(proc);

View File

@@ -34,6 +34,7 @@ import forge.view.SpellAbilityView;
public interface IGuiBase {
boolean isRunningOnDesktop();
String getCurrentVersion();
String getAssetsDir();
void invokeInEdtLater(Runnable runnable);
void invokeInEdtAndWait(final Runnable proc);
boolean isGuiThread();

View File

@@ -17,112 +17,133 @@
*/
package forge.properties;
import forge.GuiBase;
import java.util.Collections;
import java.util.Map;
public final class ForgeConstants {
public static final String ASSETS_DIR = GuiBase.getInterface().getAssetsDir();
public static final String PROFILE_FILE = ASSETS_DIR + "forge.profile.properties";
public static final String PROFILE_TEMPLATE_FILE = PROFILE_FILE + ".example";
public static void init(final String assetsDir) {
ASSETS_DIR = assetsDir;
PROFILE_FILE = ASSETS_DIR + "forge.profile.properties";
PROFILE_TEMPLATE_FILE = PROFILE_FILE + ".example";
public static final String RES_DIR = ASSETS_DIR + "res/";
public static final String LISTS_DIR = RES_DIR + "lists/";
public static final String KEYWORD_LIST_FILE = LISTS_DIR + "NonStackingKWList.txt";
public static final String TYPE_LIST_FILE = LISTS_DIR + "TypeLists.txt";
public static final String IMAGE_LIST_TOKENS_FILE = LISTS_DIR + "token-images.txt";
public static final String IMAGE_LIST_QUEST_OPPONENT_ICONS_FILE = LISTS_DIR + "quest-opponent-icons.txt";
public static final String IMAGE_LIST_QUEST_PET_SHOP_ICONS_FILE = LISTS_DIR + "quest-pet-shop-icons.txt";
public static final String IMAGE_LIST_QUEST_TOKENS_FILE = LISTS_DIR + "quest-pet-token-images.txt";
public static final String IMAGE_LIST_QUEST_BOOSTERS_FILE = LISTS_DIR + "booster-images.txt";
public static final String IMAGE_LIST_QUEST_FATPACKS_FILE = LISTS_DIR + "fatpack-images.txt";
public static final String IMAGE_LIST_QUEST_BOOSTERBOXES_FILE = LISTS_DIR + "boosterbox-images.txt";
public static final String IMAGE_LIST_QUEST_PRECONS_FILE = LISTS_DIR + "precon-images.txt";
public static final String IMAGE_LIST_QUEST_TOURNAMENTPACKS_FILE = LISTS_DIR + "tournamentpack-images.txt";
RES_DIR = ASSETS_DIR + "res/";
LISTS_DIR = RES_DIR + "lists/";
public static final String CHANGES_FILE = ASSETS_DIR + "CHANGES.txt";
public static final String LICENSE_FILE = ASSETS_DIR + "LICENSE.txt";
public static final String README_FILE = ASSETS_DIR + "README.txt";
public static final String HOWTO_FILE = RES_DIR + "howto.txt";
KEYWORD_LIST_FILE = LISTS_DIR + "NonStackingKWList.txt";
TYPE_LIST_FILE = LISTS_DIR + "TypeLists.txt";
IMAGE_LIST_TOKENS_FILE = LISTS_DIR + "token-images.txt";
IMAGE_LIST_QUEST_OPPONENT_ICONS_FILE = LISTS_DIR + "quest-opponent-icons.txt";
IMAGE_LIST_QUEST_PET_SHOP_ICONS_FILE = LISTS_DIR + "quest-pet-shop-icons.txt";
IMAGE_LIST_QUEST_TOKENS_FILE = LISTS_DIR + "quest-pet-token-images.txt";
IMAGE_LIST_QUEST_BOOSTERS_FILE = LISTS_DIR + "booster-images.txt";
IMAGE_LIST_QUEST_FATPACKS_FILE = LISTS_DIR + "fatpack-images.txt";
IMAGE_LIST_QUEST_BOOSTERBOXES_FILE = LISTS_DIR + "boosterbox-images.txt";
IMAGE_LIST_QUEST_PRECONS_FILE = LISTS_DIR + "precon-images.txt";
IMAGE_LIST_QUEST_TOURNAMENTPACKS_FILE = LISTS_DIR + "tournamentpack-images.txt";
public static final String DRAFT_DIR = RES_DIR + "draft/";
public static final String DRAFT_RANKINGS_FILE = DRAFT_DIR + "rankings.txt";
public static final String SEALED_DIR = RES_DIR + "sealed/";
public static final String CARD_DATA_DIR = RES_DIR + "cardsfolder/";
public static final String EDITIONS_DIR = RES_DIR + "editions/";
public static final String BLOCK_DATA_DIR = RES_DIR + "blockdata/";
public static final String DECK_CUBE_DIR = RES_DIR + "cube/";
public static final String AI_PROFILE_DIR = RES_DIR + "ai/";
public static final String SOUND_DIR = RES_DIR + "sound/";
public static final String MUSIC_DIR = RES_DIR + "music/";
public static final String LANG_DIR = RES_DIR + "languages/";
public static final String EFFECTS_DIR = RES_DIR + "effects/";
CHANGES_FILE = ASSETS_DIR + "CHANGES.txt";
LICENSE_FILE = ASSETS_DIR + "LICENSE.txt";
README_FILE = ASSETS_DIR + "README.txt";
HOWTO_FILE = RES_DIR + "howto.txt";
private static final String QUEST_DIR = RES_DIR + "quest/";
public static final String QUEST_WORLD_DIR = QUEST_DIR + "world/";
public static final String QUEST_PRECON_DIR = QUEST_DIR + "precons/";
public static final String PRICES_BOOSTER_FILE = QUEST_DIR + "booster-prices.txt";
public static final String BAZAAR_DIR = QUEST_DIR + "bazaar/";
public static final String BAZAAR_INDEX_FILE = BAZAAR_DIR + "index.xml";
public static final String DEFAULT_DUELS_DIR = QUEST_DIR + "duels";
public static final String DEFAULT_CHALLENGES_DIR = QUEST_DIR + "challenges";
public static final String THEMES_DIR = QUEST_DIR + "themes";
DRAFT_DIR = RES_DIR + "draft/";
DRAFT_RANKINGS_FILE = DRAFT_DIR + "rankings.txt";
SEALED_DIR = RES_DIR + "sealed/";
CARD_DATA_DIR = RES_DIR + "cardsfolder/";
EDITIONS_DIR = RES_DIR + "editions/";
BLOCK_DATA_DIR = RES_DIR + "blockdata/";
DECK_CUBE_DIR = RES_DIR + "cube/";
AI_PROFILE_DIR = RES_DIR + "ai/";
SOUND_DIR = RES_DIR + "sound/";
MUSIC_DIR = RES_DIR + "music/";
LANG_DIR = RES_DIR + "languages/";
EFFECTS_DIR = RES_DIR + "effects/";
QUEST_DIR = RES_DIR + "quest/";
QUEST_WORLD_DIR = QUEST_DIR + "world/";
QUEST_PRECON_DIR = QUEST_DIR + "precons/";
PRICES_BOOSTER_FILE = QUEST_DIR + "booster-prices.txt";
BAZAAR_DIR = QUEST_DIR + "bazaar/";
BAZAAR_INDEX_FILE = BAZAAR_DIR + "index.xml";
DEFAULT_DUELS_DIR = QUEST_DIR + "duels";
DEFAULT_CHALLENGES_DIR = QUEST_DIR + "challenges";
THEMES_DIR = QUEST_DIR + "themes";
SKINS_DIR = RES_DIR + "skins/";
DEFAULT_SKINS_DIR = SKINS_DIR + "default/";
public static final String SKINS_DIR = RES_DIR + "skins/";
public static final String DEFAULT_SKINS_DIR = SKINS_DIR + "default/";
//don't associate these skin files with a directory since skin directory will be determined later
public static final String SPRITE_ICONS_FILE = "sprite_icons.png";
public static final String SPRITE_FOILS_FILE = "sprite_foils.png";
public static final String SPRITE_OLD_FOILS_FILE = "sprite_old_foils.png";
public static final String SPRITE_AVATARS_FILE = "sprite_avatars.png";
public static final String FONT_FILE = "font1.ttf";
public static final String SPLASH_BG_FILE = "bg_splash.png";
public static final String MATCH_BG_FILE = "bg_match.jpg";
public static final String TEXTURE_BG_FILE = "bg_texture.jpg";
public static final String DRAFT_DECK_IMG_FILE = "bg_draft_deck.png";
public static final String TROPHIES_FILE = "sprite_trophies.png";
public static final String TROPHY_SHELF_FILE = "bg_trophy_shelf.png";
// data tree roots
public static final String USER_DIR;
public static final String CACHE_DIR;
public static final String CACHE_CARD_PICS_DIR;
public static final Map<String, String> CACHE_CARD_PICS_SUBDIR;
public static final int SERVER_PORT_NUMBER;
static {
ForgeProfileProperties.load();
USER_DIR = ForgeProfileProperties.getUserDir();
CACHE_DIR = ForgeProfileProperties.getCacheDir();
CACHE_CARD_PICS_DIR = ForgeProfileProperties.getCardPicsDir();
CACHE_CARD_PICS_SUBDIR = Collections.unmodifiableMap(ForgeProfileProperties.getCardPicsSubDirs());
SERVER_PORT_NUMBER = ForgeProfileProperties.getServerPort();
}
USER_QUEST_DIR = USER_DIR + "quest/";
USER_PREFS_DIR = USER_DIR + "preferences/";
USER_GAMES_DIR = USER_DIR + "games/";
LOG_FILE = USER_DIR + "forge.log";
DECK_BASE_DIR = USER_DIR + "decks/";
ACHIEVEMENTS_DIR = USER_DIR + "achievements/";
DECK_CONSTRUCTED_DIR = DECK_BASE_DIR + "constructed/";
DECK_DRAFT_DIR = DECK_BASE_DIR + "draft/";
DECK_WINSTON_DIR = DECK_BASE_DIR + "winston/";
DECK_SEALED_DIR = DECK_BASE_DIR + "sealed/";
DECK_SCHEME_DIR = DECK_BASE_DIR + "scheme/";
DECK_PLANE_DIR = DECK_BASE_DIR + "planar/";
DECK_COMMANDER_DIR = DECK_BASE_DIR + "commander/";
QUEST_SAVE_DIR = USER_QUEST_DIR + "saves/";
MAIN_PREFS_FILE = USER_PREFS_DIR + "forge.preferences";
CARD_PREFS_FILE = USER_PREFS_DIR + "card.preferences";
DECK_PREFS_FILE = USER_PREFS_DIR + "deck.preferences";
QUEST_PREFS_FILE = USER_PREFS_DIR + "quest.preferences";
ITEM_VIEW_PREFS_FILE = USER_PREFS_DIR + "item_view.preferences";
// data that is only in the profile dirs
public static final String USER_QUEST_DIR = USER_DIR + "quest/";
public static final String USER_PREFS_DIR = USER_DIR + "preferences/";
public static final String USER_GAMES_DIR = USER_DIR + "games/";
public static final String LOG_FILE = USER_DIR + "forge.log";
public static final String DECK_BASE_DIR = USER_DIR + "decks/";
public static final String ACHIEVEMENTS_DIR = USER_DIR + "achievements/";
public static final String DECK_CONSTRUCTED_DIR = DECK_BASE_DIR + "constructed/";
public static final String DECK_DRAFT_DIR = DECK_BASE_DIR + "draft/";
public static final String DECK_WINSTON_DIR = DECK_BASE_DIR + "winston/";
public static final String DECK_SEALED_DIR = DECK_BASE_DIR + "sealed/";
public static final String DECK_SCHEME_DIR = DECK_BASE_DIR + "scheme/";
public static final String DECK_PLANE_DIR = DECK_BASE_DIR + "planar/";
public static final String DECK_COMMANDER_DIR = DECK_BASE_DIR + "commander/";
public static final String QUEST_SAVE_DIR = USER_QUEST_DIR + "saves/";
public static final String MAIN_PREFS_FILE = USER_PREFS_DIR + "forge.preferences";
public static final String CARD_PREFS_FILE = USER_PREFS_DIR + "card.preferences";
public static final String DECK_PREFS_FILE = USER_PREFS_DIR + "deck.preferences";
public static final String QUEST_PREFS_FILE = USER_PREFS_DIR + "quest.preferences";
public static final String ITEM_VIEW_PREFS_FILE = USER_PREFS_DIR + "item_view.preferences";
_DEFAULTS_DIR = RES_DIR + "defaults/";
NO_CARD_FILE = _DEFAULTS_DIR + "no_card.jpg";
// data that has defaults in the program dir but overrides/additions in the user dir
private static final String _DEFAULTS_DIR = RES_DIR + "defaults/";
public static final String NO_CARD_FILE = _DEFAULTS_DIR + "no_card.jpg";
public static final FileLocation WINDOW_LAYOUT_FILE = new FileLocation(_DEFAULTS_DIR, USER_PREFS_DIR, "window.xml");
public static final FileLocation MATCH_LAYOUT_FILE = new FileLocation(_DEFAULTS_DIR, USER_PREFS_DIR, "match.xml");
public static final FileLocation WORKSHOP_LAYOUT_FILE = new FileLocation(_DEFAULTS_DIR, USER_PREFS_DIR, "workshop.xml");
public static final FileLocation EDITOR_LAYOUT_FILE = new FileLocation(_DEFAULTS_DIR, USER_PREFS_DIR, "editor.xml");
public static final FileLocation GAUNTLET_DIR = new FileLocation(_DEFAULTS_DIR, USER_DIR, "gauntlet/");
WINDOW_LAYOUT_FILE = new FileLocation(_DEFAULTS_DIR, USER_PREFS_DIR, "window.xml");
MATCH_LAYOUT_FILE = new FileLocation(_DEFAULTS_DIR, USER_PREFS_DIR, "match.xml");
WORKSHOP_LAYOUT_FILE = new FileLocation(_DEFAULTS_DIR, USER_PREFS_DIR, "workshop.xml");
EDITOR_LAYOUT_FILE = new FileLocation(_DEFAULTS_DIR, USER_PREFS_DIR, "editor.xml");
GAUNTLET_DIR = new FileLocation(_DEFAULTS_DIR, USER_DIR, "gauntlet/");
// data that is only in the cached dir
private static final String PICS_DIR = CACHE_DIR + "pics/";
public static final String DB_DIR = CACHE_DIR + "db/";
public static final String FONTS_DIR = CACHE_DIR + "fonts/";
public static final String CACHE_TOKEN_PICS_DIR = PICS_DIR + "tokens/";
public static final String CACHE_ICON_PICS_DIR = PICS_DIR + "icons/";
public static final String CACHE_SYMBOLS_DIR = PICS_DIR + "symbols/";
public static final String CACHE_BOOSTER_PICS_DIR = PICS_DIR + "boosters/";
public static final String CACHE_FATPACK_PICS_DIR = PICS_DIR + "fatpacks/";
public static final String CACHE_BOOSTERBOX_PICS_DIR = PICS_DIR + "boosterboxes/";
public static final String CACHE_PRECON_PICS_DIR = PICS_DIR + "precons/";
public static final String CACHE_TOURNAMENTPACK_PICS_DIR = PICS_DIR + "tournamentpacks/";
public static final String QUEST_CARD_PRICE_FILE = DB_DIR + "all-prices.txt";
PICS_DIR = CACHE_DIR + "pics/";
DB_DIR = CACHE_DIR + "db/";
FONTS_DIR = CACHE_DIR + "fonts/";
CACHE_TOKEN_PICS_DIR = PICS_DIR + "tokens/";
CACHE_ICON_PICS_DIR = PICS_DIR + "icons/";
CACHE_SYMBOLS_DIR = PICS_DIR + "symbols/";
CACHE_BOOSTER_PICS_DIR = PICS_DIR + "boosters/";
CACHE_FATPACK_PICS_DIR = PICS_DIR + "fatpacks/";
CACHE_BOOSTERBOX_PICS_DIR = PICS_DIR + "boosterboxes/";
CACHE_PRECON_PICS_DIR = PICS_DIR + "precons/";
CACHE_TOURNAMENTPACK_PICS_DIR = PICS_DIR + "tournamentpacks/";
QUEST_CARD_PRICE_FILE = DB_DIR + "all-prices.txt";
PROFILE_DIRS = new String[] {
public static final String[] PROFILE_DIRS = {
USER_DIR,
CACHE_DIR,
CACHE_CARD_PICS_DIR,
@@ -142,123 +163,7 @@ public final class ForgeConstants {
CACHE_BOOSTERBOX_PICS_DIR,
CACHE_PRECON_PICS_DIR,
CACHE_TOURNAMENTPACK_PICS_DIR };
}
public static String ASSETS_DIR;
public static String PROFILE_FILE;
public static String PROFILE_TEMPLATE_FILE;
public static String RES_DIR;
public static String LISTS_DIR;
public static String KEYWORD_LIST_FILE;
public static String TYPE_LIST_FILE;
public static String IMAGE_LIST_TOKENS_FILE;
public static String IMAGE_LIST_QUEST_OPPONENT_ICONS_FILE;
public static String IMAGE_LIST_QUEST_PET_SHOP_ICONS_FILE;
public static String IMAGE_LIST_QUEST_TOKENS_FILE;
public static String IMAGE_LIST_QUEST_BOOSTERS_FILE;
public static String IMAGE_LIST_QUEST_FATPACKS_FILE;
public static String IMAGE_LIST_QUEST_BOOSTERBOXES_FILE;
public static String IMAGE_LIST_QUEST_PRECONS_FILE;
public static String IMAGE_LIST_QUEST_TOURNAMENTPACKS_FILE;
public static String CHANGES_FILE;
public static String LICENSE_FILE;
public static String README_FILE;
public static String HOWTO_FILE;
public static String DRAFT_DIR;
public static String DRAFT_RANKINGS_FILE;
public static String SEALED_DIR;
public static String CARD_DATA_DIR;
public static String EDITIONS_DIR;
public static String BLOCK_DATA_DIR;
public static String DECK_CUBE_DIR;
public static String AI_PROFILE_DIR;
public static String SOUND_DIR;
public static String MUSIC_DIR;
public static String LANG_DIR;
public static String EFFECTS_DIR;
private static String QUEST_DIR;
public static String QUEST_WORLD_DIR;
public static String QUEST_PRECON_DIR;
public static String PRICES_BOOSTER_FILE;
public static String BAZAAR_DIR;
public static String BAZAAR_INDEX_FILE;
public static String DEFAULT_DUELS_DIR;
public static String DEFAULT_CHALLENGES_DIR;
public static String THEMES_DIR;
public static String SKINS_DIR;
public static String DEFAULT_SKINS_DIR;
//don't associate these skin files with a directory since skin directory will be determined later
public static final String SPRITE_ICONS_FILE = "sprite_icons.png";
public static final String SPRITE_FOILS_FILE = "sprite_foils.png";
public static final String SPRITE_OLD_FOILS_FILE = "sprite_old_foils.png";
public static final String SPRITE_AVATARS_FILE = "sprite_avatars.png";
public static final String TROPHIES_FILE = "sprite_trophies.png";
public static final String TROPHY_SHELF_FILE = "bg_trophy_shelf.png";
public static final String FONT_FILE = "font1.ttf";
public static final String SPLASH_BG_FILE = "bg_splash.png";
public static final String MATCH_BG_FILE = "bg_match.jpg";
public static final String TEXTURE_BG_FILE = "bg_texture.jpg";
public static final String DRAFT_DECK_IMG_FILE = "bg_draft_deck.png";
// data tree roots
public static String USER_DIR;
public static String CACHE_DIR;
public static String CACHE_CARD_PICS_DIR;
public static Map<String, String> CACHE_CARD_PICS_SUBDIR;
public static int SERVER_PORT_NUMBER;
// data that is only in the profile dirs
public static String USER_QUEST_DIR;
public static String USER_PREFS_DIR;
public static String USER_GAMES_DIR;
public static String LOG_FILE;
public static String DECK_BASE_DIR;
public static String ACHIEVEMENTS_DIR;
public static String DECK_CONSTRUCTED_DIR;
public static String DECK_DRAFT_DIR;
public static String DECK_WINSTON_DIR;
public static String DECK_SEALED_DIR;
public static String DECK_SCHEME_DIR;
public static String DECK_PLANE_DIR;
public static String DECK_COMMANDER_DIR;
public static String QUEST_SAVE_DIR;
public static String MAIN_PREFS_FILE;
public static String CARD_PREFS_FILE;
public static String DECK_PREFS_FILE;
public static String QUEST_PREFS_FILE;
public static String ITEM_VIEW_PREFS_FILE;
public static String ACHIEVEMENTS_FILE;
// data that has defaults in the program dir but overrides/additions in the user dir
private static String _DEFAULTS_DIR;
public static String NO_CARD_FILE;
public static FileLocation WINDOW_LAYOUT_FILE;
public static FileLocation MATCH_LAYOUT_FILE;
public static FileLocation WORKSHOP_LAYOUT_FILE;
public static FileLocation EDITOR_LAYOUT_FILE;
public static FileLocation GAUNTLET_DIR;
// data that is only in the cached dir
private static String PICS_DIR;
public static String DB_DIR;
public static String FONTS_DIR;
public static String CACHE_TOKEN_PICS_DIR;
public static String CACHE_ICON_PICS_DIR;
public static String CACHE_SYMBOLS_DIR;
public static String CACHE_BOOSTER_PICS_DIR;
public static String CACHE_FATPACK_PICS_DIR;
public static String CACHE_BOOSTERBOX_PICS_DIR;
public static String CACHE_PRECON_PICS_DIR;
public static String CACHE_TOURNAMENTPACK_PICS_DIR;
public static String QUEST_CARD_PRICE_FILE;
public static String[] PROFILE_DIRS;
// URLs
private static final String URL_CARDFORGE = "http://cardforge.org";
public static final String URL_DRAFT_UPLOAD = URL_CARDFORGE + "/draftAI/submitDraftData.php";

View File

@@ -26,7 +26,7 @@ import java.util.Properties;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.Pair;
import forge.interfaces.IGuiBase;
import forge.GuiBase;
import forge.util.FileSection;
import forge.util.FileUtil;
@@ -36,7 +36,6 @@ import forge.util.FileUtil;
* so they can be easily appended with further path elements.
*/
public class ForgeProfileProperties {
private static boolean isRunningOnDesktop;
private static String userDir;
private static String cacheDir;
private static String cardPicsDir;
@@ -53,8 +52,7 @@ public class ForgeProfileProperties {
//prevent initializing static class
}
public static void init(final IGuiBase gui) {
isRunningOnDesktop = gui.isRunningOnDesktop();
public static void init() {
}
public static void load() {
@@ -149,7 +147,7 @@ public class ForgeProfileProperties {
// returns a pair <userDir, cacheDir>
private static Pair<String, String> getDefaultDirs() {
if (isRunningOnDesktop) { //special case for mobile devices
if (!GuiBase.getInterface().isRunningOnDesktop()) { //special case for mobile devices
String assetsDir = ForgeConstants.ASSETS_DIR;
return Pair.of(assetsDir + "data" + File.separator, assetsDir + "cache" + File.separator);
}