project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/TeamCreatorActivity.java
changeset 7586 33924ff4af50
parent 7584 7831c84cc644
child 10017 de822cd3df3a
--- a/project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/TeamCreatorActivity.java	Mon Aug 20 21:05:57 2012 +0200
+++ b/project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/TeamCreatorActivity.java	Wed Aug 22 01:30:56 2012 +0200
@@ -24,7 +24,6 @@
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.NoSuchElementException;
@@ -39,6 +38,7 @@
 import android.graphics.drawable.Drawable;
 import android.media.MediaPlayer;
 import android.os.Bundle;
+import android.util.Log;
 import android.view.View;
 import android.view.View.OnClickListener;
 import android.widget.AdapterView;
@@ -62,6 +62,7 @@
  */
 public class TeamCreatorActivity extends Activity implements Runnable {
 	public static final String PARAMETER_EXISTING_TEAMNAME = "existingTeamName";
+	private static final String TAG = TeamCreatorActivity.class.getSimpleName();
 	
 	private TextView name;
 	private Spinner difficulty, grave, flag, voice, fort;
@@ -76,10 +77,10 @@
 	
 	private String existingTeamName = null;
 
-	private final List<HashMap<String, ?>> flagsData = new ArrayList<HashMap<String, ?>>();
-	private final List<HashMap<String, ?>> typesData = new ArrayList<HashMap<String, ?>>();
-	private final List<HashMap<String, ?>> gravesData = new ArrayList<HashMap<String, ?>>();
-	private final List<HashMap<String, ?>> hatsData = new ArrayList<HashMap<String, ?>>();
+	private final List<Map<String, ?>> flagsData = new ArrayList<Map<String, ?>>();
+	private final List<Map<String, ?>> typesData = new ArrayList<Map<String, ?>>();
+	private final List<Map<String, ?>> gravesData = new ArrayList<Map<String, ?>>();
+	private final List<Map<String, ?>> hatsData = new ArrayList<Map<String, ?>>();
 	private final List<String> voicesData = new ArrayList<String>();
 	private final List<String> fortsData = new ArrayList<String>();
 
@@ -158,7 +159,7 @@
 	
 	public void run(){
 		try {
-			final ArrayList<HashMap<String, ?>> gravesDataNew = FrontendDataUtils.getGraves(this);
+			final List<Map<String, ?>> gravesDataNew = FrontendDataUtils.getGraves(this);
 			runOnUiThread(new Runnable(){
 				public void run() {
 					gravesData.addAll(gravesDataNew);
@@ -166,7 +167,7 @@
 				}
 			});
 			
-			final ArrayList<HashMap<String, ?>> flagsDataNew = FrontendDataUtils.getFlags(this);
+			final List<Map<String, ?>> flagsDataNew = FrontendDataUtils.getFlags(this);
 			runOnUiThread(new Runnable(){
 				public void run() {
 					flagsData.addAll(flagsDataNew);
@@ -174,7 +175,7 @@
 				}
 			});
 			
-			final ArrayList<HashMap<String, ?>> typesDataNew = FrontendDataUtils.getTypes(this);
+			final List<Map<String, ?>> typesDataNew = FrontendDataUtils.getTypes(this);
 			runOnUiThread(new Runnable(){
 				public void run() {
 					typesData.addAll(typesDataNew);
@@ -182,7 +183,7 @@
 				}
 			});
 			
-			final ArrayList<HashMap<String, ?>> hatsDataNew = FrontendDataUtils.getHats(this);
+			final List<Map<String, ?>> hatsDataNew = FrontendDataUtils.getHats(this);
 			runOnUiThread(new Runnable(){
 				public void run() {
 					hatsData.addAll(hatsDataNew);
@@ -190,7 +191,7 @@
 				}
 			});
 			
-			final ArrayList<String> voicesDataNew = FrontendDataUtils.getVoices(this);
+			final List<String> voicesDataNew = FrontendDataUtils.getVoices(this);
 			runOnUiThread(new Runnable(){
 				public void run() {
 					voicesData.addAll(voicesDataNew);
@@ -198,7 +199,7 @@
 				}
 			});
 			
-			final ArrayList<String> fortsDataNew = FrontendDataUtils.getForts(this);
+			final List<String> fortsDataNew = FrontendDataUtils.getForts(this);
 			runOnUiThread(new Runnable(){
 				public void run() {
 					fortsData.addAll(fortsDataNew);
@@ -295,11 +296,13 @@
 		public void onItemSelected(AdapterView<?> arg0, View arg1,
 				int position, long arg3) {
 			String fortName = (String) arg0.getAdapter().getItem(position);
-			Drawable fortIconDrawable = Drawable.createFromPath(FileUtils
-					.getDataPath(TeamCreatorActivity.this)
-					+ "Forts/"
-					+ fortName + "L.png");
-			imgFort.setImageDrawable(fortIconDrawable);
+			try {
+				File fortImage = FileUtils.getDataPathFile(TeamCreatorActivity.this, "Forts", fortName, "L.png");
+				Drawable fortIconDrawable = Drawable.createFromPath(fortImage.getAbsolutePath());
+				imgFort.setImageDrawable(fortIconDrawable);
+			} catch(IOException e) {
+				Log.e(TAG, "Unable to show fort image", e);
+			}
 			scroller.fullScroll(ScrollView.FOCUS_DOWN);// Scroll the scrollview
 			// to the bottom, work
 			// around for scrollview
@@ -315,9 +318,7 @@
 	private OnClickListener voiceClicker = new OnClickListener() {
 		public void onClick(View v) {
 			try {
-				File dir = new File(String.format("%sSounds/voices/%s",
-						FileUtils.getDataPath(TeamCreatorActivity.this),
-						voice.getSelectedItem()));
+				File dir = FileUtils.getDataPathFile(TeamCreatorActivity.this, "Sounds", "voices", (String)voice.getSelectedItem());
 				String file = "";
 				File[] dirs = dir.listFiles();
 				File f = dirs[(int) Math.round(Math.random() * dirs.length)];
@@ -332,11 +333,11 @@
 				mp.prepare();
 				mp.start();
 			} catch (IllegalArgumentException e) {
-				e.printStackTrace();
+				Log.e(TAG, "Unable to play voice sample", e);
 			} catch (IllegalStateException e) {
-				e.printStackTrace();
+				Log.e(TAG, "Unable to play voice sample", e);
 			} catch (IOException e) {
-				e.printStackTrace();
+				Log.e(TAG, "Unable to play voice sample", e);
 			}
 		}
 	};