// Path: androidemu/src/main/java/android/MobialiaUtil.java
// public class MobialiaUtil {
// 
// 	public static int arrayPosition(String array[], String value) {
// 		for (int i = 0; i < array.length; i++) {
// 			if (array[i].equals(value)) {
// 				return i;
// 			}
// 		}
// 		return 0;
// 	}
// 
// 	public static String ifNullBlank(String in) {
// 		return (in == null ? "" : in);
// 	}
// }
// 
// Path: androidemu/src/main/java/android/Res.java
// public interface Res extends ClientBundle {
// 	public static final Res R = GWT.create(Res.class);
// 
// 	@Source("Style.gss")
// 	public Style style();
// 
// }
// 
// Path: androidemu/src/main/java/android/content/SharedPreferences.java
// public class SharedPreferences {
// 
// 	Storage storage;
// 
// 	public SharedPreferences() {
// 		storage = Storage.getLocalStorageIfSupported();
// 	}
// 
// 	public String getString(String key, String defaultValue) {
// 		if (storage == null) {
// 			return defaultValue;
// 		}
// 		String out = storage.getItem(key);
// 		if (out == null) {
// 			return defaultValue;
// 		}
// 		return out;
// 	}
// 
// 	public int getInt(String key, int defaultValue) {
// 		if (storage == null) {
// 			return defaultValue;
// 		}
// 		String out = storage.getItem(key);
// 		if (out == null) {
// 			return defaultValue;
// 		}
// 		return Integer.valueOf(out);
// 	}
// 
// 	public long getLong(String key, long defaultValue) {
// 		if (storage == null) {
// 			return defaultValue;
// 		}
// 		String out = storage.getItem(key);
// 		if (out == null) {
// 			return defaultValue;
// 		}
// 		return Long.valueOf(out);
// 	}
// 
// 	public boolean getBoolean(String key, boolean defaultValue) {
// 		if (storage == null) {
// 			return defaultValue;
// 		}
// 		String out = storage.getItem(key);
// 		if (out == null) {
// 			return defaultValue;
// 		}
// 		return Boolean.valueOf(out);
// 	}
// 
// 	public Editor edit() {
// 		return new Editor(this);
// 	}
// 
// 	public class Editor {
// 
// 		SharedPreferences prefs;
// 
// 		public Editor(SharedPreferences prefs) {
// 			this.prefs = prefs;
// 		}
// 
// 		public void putString(String key, String value) {
// 			if (prefs.storage != null) {
// 				prefs.storage.setItem(key, value);
// 			}
// 		}
// 
// 		public void putInt(String key, int value) {
// 			if (prefs.storage != null) {
// 				prefs.storage.setItem(key, String.valueOf(value));
// 			}
// 		}
// 
// 		public void putLong(String key, long value) {
// 			if (prefs.storage != null) {
// 				prefs.storage.setItem(key, String.valueOf(value));
// 			}
// 		}
// 
// 		public void putBoolean(String key, boolean value) {
// 			if (prefs.storage != null) {
// 				prefs.storage.setItem(key, String.valueOf(value));
// 			}
// 		}
// 
// 		public void commit() {
// 
// 		}
// 	}
// 
// }


import android.MobialiaUtil;
import android.Res;
import android.content.Context;
import android.content.SharedPreferences;
import com.google.gwt.dom.client.Element;
import com.google.gwt.dom.client.InputElement;
import com.google.gwt.dom.client.SelectElement;
import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.Event;
import com.google.gwt.user.client.EventListener;

	public static void addListPreference(Element panel, final SharedPreferences sharedPrefs, final String key, int label, int summary,
										 final int values, int labels, String defaultValue) {
		addListPreference(panel, sharedPrefs, key, Context.resources.getString(label), Context.resources.getString(summary),
				Context.resources.getStringArray(values), Context.resources.getStringArray(labels), defaultValue);
	}

	public static void addListPreference(Element panel, final SharedPreferences sharedPrefs, final String key, String label, String summary,
										 final String[] values, String[] labels, String defaultValue) {
		String value = sharedPrefs.getString(key, defaultValue);

		Element inputLabel = DOM.createLabel();
		inputLabel.addClassName(Res.R.style().preferencesElement());

		final Element listBoxE = DOM.createSelect();
		listBoxE.addClassName(Res.R.style().preferencesListBox());
		listBoxE.addClassName(Res.R.style().materialSelect());
		int selectedPosition = MobialiaUtil.arrayPosition(values, value);
		int i = 0;
		for (String text : labels) {
			Element optionE = DOM.createOption();
			optionE.setInnerHTML(text);
			if (i++ == selectedPosition) {
				optionE.setPropertyString("selected", "selected");
			}
			listBoxE.appendChild(optionE);
		}
		Event.setEventListener(listBoxE, new EventListener() {
			@Override
			public void onBrowserEvent(Event event) {
// Path: androidemu/src/main/java/android/MobialiaUtil.java
// public class MobialiaUtil {
// 
// 	public static int arrayPosition(String array[], String value) {
// 		for (int i = 0; i < array.length; i++) {
// 			if (array[i].equals(value)) {
// 				return i;
// 			}
// 		}
// 		return 0;
// 	}
// 
// 	public static String ifNullBlank(String in) {
// 		return (in == null ? "" : in);
// 	}
// }
// 
// Path: androidemu/src/main/java/android/Res.java
// public interface Res extends ClientBundle {
// 	public static final Res R = GWT.create(Res.class);
// 
// 	@Source("Style.gss")
// 	public Style style();
// 
// }
// 
// Path: androidemu/src/main/java/android/content/SharedPreferences.java
// public class SharedPreferences {
// 
// 	Storage storage;
// 
// 	public SharedPreferences() {
// 		storage = Storage.getLocalStorageIfSupported();
// 	}
// 
// 	public String getString(String key, String defaultValue) {
// 		if (storage == null) {
// 			return defaultValue;
// 		}
// 		String out = storage.getItem(key);
// 		if (out == null) {
// 			return defaultValue;
// 		}
// 		return out;
// 	}
// 
// 	public int getInt(String key, int defaultValue) {
// 		if (storage == null) {
// 			return defaultValue;
// 		}
// 		String out = storage.getItem(key);
// 		if (out == null) {
// 			return defaultValue;
// 		}
// 		return Integer.valueOf(out);
// 	}
// 
// 	public long getLong(String key, long defaultValue) {
// 		if (storage == null) {
// 			return defaultValue;
// 		}
// 		String out = storage.getItem(key);
// 		if (out == null) {
// 			return defaultValue;
// 		}
// 		return Long.valueOf(out);
// 	}
// 
// 	public boolean getBoolean(String key, boolean defaultValue) {
// 		if (storage == null) {
// 			return defaultValue;
// 		}
// 		String out = storage.getItem(key);
// 		if (out == null) {
// 			return defaultValue;
// 		}
// 		return Boolean.valueOf(out);
// 	}
// 
// 	public Editor edit() {
// 		return new Editor(this);
// 	}
// 
// 	public class Editor {
// 
// 		SharedPreferences prefs;
// 
// 		public Editor(SharedPreferences prefs) {
// 			this.prefs = prefs;
// 		}
// 
// 		public void putString(String key, String value) {
// 			if (prefs.storage != null) {
// 				prefs.storage.setItem(key, value);
// 			}
// 		}
// 
// 		public void putInt(String key, int value) {
// 			if (prefs.storage != null) {
// 				prefs.storage.setItem(key, String.valueOf(value));
// 			}
// 		}
// 
// 		public void putLong(String key, long value) {
// 			if (prefs.storage != null) {
// 				prefs.storage.setItem(key, String.valueOf(value));
// 			}
// 		}
// 
// 		public void putBoolean(String key, boolean value) {
// 			if (prefs.storage != null) {
// 				prefs.storage.setItem(key, String.valueOf(value));
// 			}
// 		}
// 
// 		public void commit() {
// 
// 		}
// 	}
// 
// }


// Path: androidemu/src/main/java/android/preference/PreferencesBuilder.java
import android.MobialiaUtil;
import android.Res;
import android.content.Context;
import android.content.SharedPreferences;
import com.google.gwt.dom.client.Element;
import com.google.gwt.dom.client.InputElement;
import com.google.gwt.dom.client.SelectElement;
import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.Event;
import com.google.gwt.user.client.EventListener;


	public static void addListPreference(Element panel, final SharedPreferences sharedPrefs, final String key, int label, int summary,
										 final int values, int labels, String defaultValue) {
		addListPreference(panel, sharedPrefs, key, Context.resources.getString(label), Context.resources.getString(summary),
				Context.resources.getStringArray(values), Context.resources.getStringArray(labels), defaultValue);
	}

	public static void addListPreference(Element panel, final SharedPreferences sharedPrefs, final String key, String label, String summary,
										 final String[] values, String[] labels, String defaultValue) {
		String value = sharedPrefs.getString(key, defaultValue);

		Element inputLabel = DOM.createLabel();
		inputLabel.addClassName(Res.R.style().preferencesElement());

		final Element listBoxE = DOM.createSelect();
		listBoxE.addClassName(Res.R.style().preferencesListBox());
		listBoxE.addClassName(Res.R.style().materialSelect());
		int selectedPosition = MobialiaUtil.arrayPosition(values, value);
		int i = 0;
		for (String text : labels) {
			Element optionE = DOM.createOption();
			optionE.setInnerHTML(text);
			if (i++ == selectedPosition) {
				optionE.setPropertyString("selected", "selected");
			}
			listBoxE.appendChild(optionE);
		}
		Event.setEventListener(listBoxE, new EventListener() {
			@Override
			public void onBrowserEvent(Event event) {
				SharedPreferences.Editor editor = sharedPrefs.edit();