# HG changeset patch # User Xeli # Date 1312932172 -7200 # Node ID 3d7ac2b3b703e29a21c3f9d6a1ea8bf68910d108 # Parent 25d4118056e12f7cfb933eb16f9554f039f82144 Fixed team colors in the UI, delete and a nullpointer bug when no teams are created diff -r 25d4118056e1 -r 3d7ac2b3b703 project_files/Android-build/SDL-android-project/src/org/hedgewars/mobile/EngineProtocol/FrontendDataUtils.java --- a/project_files/Android-build/SDL-android-project/src/org/hedgewars/mobile/EngineProtocol/FrontendDataUtils.java Tue Aug 09 21:41:52 2011 +0200 +++ b/project_files/Android-build/SDL-android-project/src/org/hedgewars/mobile/EngineProtocol/FrontendDataUtils.java Wed Aug 10 01:22:52 2011 +0200 @@ -118,23 +118,23 @@ ArrayList> data = new ArrayList>(6); String[] levels = {c.getString(R.string.human), c.getString(R.string.bot5), c.getString(R.string.bot4), c.getString(R.string.bot3), c.getString(R.string.bot2), c.getString(R.string.bot1)}; int[] images = {R.drawable.human, R.drawable.bot5, R.drawable.bot4, R.drawable.bot3, R.drawable.bot2, R.drawable.bot1}; - + for(int i = 0; i < levels.length; i++){ HashMap map = new HashMap(); map.put("txt", levels[i]); map.put("img", images[i]); data.add(map); } - + return data; } - + public static ArrayList> getHats(Context c){ ArrayList files = Utils.getFilesFromDirWithSuffix(c, "Graphics/Hats", ".png", true); String pathPrefix = Utils.getDownloadPath(c) + "Graphics/Hats/"; int size = files.size(); ArrayList> data = new ArrayList>(size); - + HashMap hashmap; for(String s : files){ hashmap = new HashMap(); @@ -144,25 +144,26 @@ hashmap.put("img", b); data.add(hashmap); } - + return data; } - + public static ArrayList> getTeams(Context c){ ArrayList> ret = new ArrayList>(); - + File teamsDir = new File(c.getFilesDir().getAbsolutePath() + '/' + Team.DIRECTORY_TEAMS); File[] teamFileNames = teamsDir.listFiles(); - - for(File s : teamFileNames){ - Team t = Team.getTeamFromXml(s.getAbsolutePath()); - if(t != null){ - ret.add(teamToHashMap(t)); + if(teamsDir != null){ + for(File s : teamFileNames){ + Team t = Team.getTeamFromXml(s.getAbsolutePath()); + if(t != null){ + ret.add(teamToHashMap(t)); + } } } return ret; } - + public static HashMap teamToHashMap(Team t){ HashMap hashmap = new HashMap(); hashmap.put("team", t); diff -r 25d4118056e1 -r 3d7ac2b3b703 project_files/Android-build/SDL-android-project/src/org/hedgewars/mobile/EngineProtocol/Team.java --- a/project_files/Android-build/SDL-android-project/src/org/hedgewars/mobile/EngineProtocol/Team.java Tue Aug 09 21:41:52 2011 +0200 +++ b/project_files/Android-build/SDL-android-project/src/org/hedgewars/mobile/EngineProtocol/Team.java Wed Aug 10 01:22:52 2011 +0200 @@ -19,25 +19,25 @@ public class Team implements Parcelable{ public static final String DIRECTORY_TEAMS = "teams"; + private static final Integer[] TEAM_COLORS = { + 0xd12b42, /* red */ + 0x4980c1, /* blue */ + 0x6ab530, /* green */ + 0xbc64c4, /* purple */ + 0xe76d14, /* orange */ + 0x3fb6e6, /* cyan */ + 0xe3e90c, /* yellow */ + 0x61d4ac, /* mint */ + 0xf1c3e1, /* pink */ + /* add new colors here */ + }; + // private static final Integer[] TEAM_COLORS = { -// 0xffd12b42, /* red */ -// 0xff4980c1, /* blue */ -// 0xff6ab530, /* green */ -// 0xffbc64c4, /* purple */ -// 0xffe76d14, /* orange */ -// 0xff3fb6e6, /* cyan */ -// 0xffe3e90c, /* yellow */ -// 0xff61d4ac, /* mint */ -// 0xfff1c3e1, /* pink */ -// /* add new colors here */ +// 0xff0000, /* red */ +// 0x00ff00, /* blue */ +// 0x0000ff, /* green */ // }; - private static final Integer[] TEAM_COLORS = { - 0xff0000, /* red */ - 0x00ff00, /* blue */ - 0x0000ff, /* green */ - }; - private static final int STATE_START = 0; private static final int STATE_ROOT = 1; private static final int STATE_HOG_ROOT = 2; diff -r 25d4118056e1 -r 3d7ac2b3b703 project_files/Android-build/SDL-android-project/src/org/hedgewars/mobile/TeamSelectionActivity.java --- a/project_files/Android-build/SDL-android-project/src/org/hedgewars/mobile/TeamSelectionActivity.java Tue Aug 09 21:41:52 2011 +0200 +++ b/project_files/Android-build/SDL-android-project/src/org/hedgewars/mobile/TeamSelectionActivity.java Wed Aug 10 01:22:52 2011 +0200 @@ -91,7 +91,7 @@ setTeamColor(iv, color); } private void setTeamColor(View iv, int color){ - iv.setBackgroundColor(color); + iv.setBackgroundColor(0xFF000000 + color); } private void setTeamHogCount(int position, int count){ @@ -183,10 +183,10 @@ selectAvailableTeamsItem(position); return true; case 1://delete + File f = new File(String.format("%s/%s/%s.xml", TeamSelectionActivity.this.getFilesDir(), Team.DIRECTORY_TEAMS, availableTeamsList.get(position).get("txt"))); + f.delete(); availableTeamsList.remove(position); ((SimpleAdapter)availableTeams.getAdapter()).notifyDataSetChanged(); - File f = new File(String.format("%s/%s/%s.xml", TeamSelectionActivity.this.getFilesDir(), Team.DIRECTORY_TEAMS, availableTeamsList.get(position).get("txt"))); - f.delete(); return true; case 2://edit Intent i = new Intent(TeamSelectionActivity.this, TeamCreatorActivity.class);