Android Open Source - Airplanes String Manager






From Project

Back to project page Airplanes.

License

The source code is released under:

GNU General Public License

If you think the Android project Airplanes listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.axnsan.airplanes.util;
/* w  w w. j  a  v  a  2s.  c o  m*/
import java.util.Map;

public class StringManager {
  private static final String STRING_FILE = "data/strings.xml";
  private static Map<String, String> defaultStrings = null;
  private static Map<String, String> localStrings = null;
  private static boolean init = false;
  private static String locale = "default";
  private static StringXmlParser xml = null;
  
  public static String test;
  public static void initialize(StringXmlParser xml)
  {
    StringManager.xml = xml;
  }

  private static void init() 
  {
    //Load the default values for strings
    defaultStrings = xml.loadStringsForLocale("default", STRING_FILE);
    
    //Then load the current system locale
    localStrings = xml.loadStringsForCurrentLocale(STRING_FILE);
    locale = xml.getCurrentLocale();
    init = true;
  }
  
  public static void setLocale(String locale) {
    if (xml == null)
      throw new RuntimeException("Must call initialize() before using this function");
    
    if (!init)
      init();
    
    if (!locale.equals(StringManager.locale)) {
      localStrings = xml.loadStringsForLocale(locale, STRING_FILE);
      StringManager.locale = locale;
    }
  }
  
  
  
  public static String getString(String name) {
    if (xml == null)
      throw new RuntimeException("Must call initialize() before using this function");
    
    if (!init)
      init();
    
    if (localStrings.containsKey(name))
      return localStrings.get(name);
    
    if (defaultStrings.containsKey(name))
      return defaultStrings.get(name);
    
    return name;
  }
  
  private StringManager() {}
}




Java Source Code List

com.axnsan.airplanes.Airplanes.java
com.axnsan.airplanes.BaseGrid.java
com.axnsan.airplanes.GameConfiguration.java
com.axnsan.airplanes.GameState.java
com.axnsan.airplanes.GridRandomizer.java
com.axnsan.airplanes.Grid.java
com.axnsan.airplanes.GuardedScreen.java
com.axnsan.airplanes.HotseatMatchHandler.java
com.axnsan.airplanes.MainActivity.java
com.axnsan.airplanes.Main.java
com.axnsan.airplanes.MatchHandler.java
com.axnsan.airplanes.PlacementGrid.java
com.axnsan.airplanes.Plane.java
com.axnsan.airplanes.Player.java
com.axnsan.airplanes.PlayingGrid.java
com.axnsan.airplanes.online.ClientSocket.java
com.axnsan.airplanes.online.EventHandler.java
com.axnsan.airplanes.online.Game.java
com.axnsan.airplanes.online.LobbyScreen.java
com.axnsan.airplanes.online.LoginScreen.java
com.axnsan.airplanes.online.Message.java
com.axnsan.airplanes.online.Messages.java
com.axnsan.airplanes.online.OnlineGameScreen.java
com.axnsan.airplanes.online.OnlineMatchHandler.java
com.axnsan.airplanes.online.OnlineMenuScreen.java
com.axnsan.airplanes.online.OnlineSettingsScreen.java
com.axnsan.airplanes.online.SessionData.java
com.axnsan.airplanes.screens.BeginTurnScreen.java
com.axnsan.airplanes.screens.HotseatPlayersScreen.java
com.axnsan.airplanes.screens.HotseatScreen.java
com.axnsan.airplanes.screens.HotseatSettingsScreen.java
com.axnsan.airplanes.screens.HotseatStartScreen.java
com.axnsan.airplanes.screens.MainMenuScreen.java
com.axnsan.airplanes.screens.PlacementScreen.java
com.axnsan.airplanes.screens.PlayMenuScreen.java
com.axnsan.airplanes.screens.PracticeScreen.java
com.axnsan.airplanes.screens.PracticeSettingsScreen.java
com.axnsan.airplanes.screens.PracticeStartScreen.java
com.axnsan.airplanes.util.ActionManager.java
com.axnsan.airplanes.util.ActionResolver.java
com.axnsan.airplanes.util.BasicFontManager.java
com.axnsan.airplanes.util.Detector.java
com.axnsan.airplanes.util.DoubleTapDetector.java
com.axnsan.airplanes.util.DoubleTapListener.java
com.axnsan.airplanes.util.FontManagerInterface.java
com.axnsan.airplanes.util.FontManager.java
com.axnsan.airplanes.util.JavaXmlParser.java
com.axnsan.airplanes.util.Point2D.java
com.axnsan.airplanes.util.RandomizedQueue.java
com.axnsan.airplanes.util.StringManager.java
com.axnsan.airplanes.util.StringXmlParser.java
com.axnsan.airplanes.util.TTFFontManager.java
com.axnsan.airplanes.util.TapDetector.java
com.axnsan.airplanes.util.TapListener.java