project_files/Android-build/SDL-android-project/src/org/hedgewars/mobile/TeamSelectionActivity.java
branchhedgeroid
changeset 5542 141c12a23787
parent 5532 3d7ac2b3b703
child 5603 4e4a579a60af
equal deleted inserted replaced
5540:76392a62da2f 5542:141c12a23787
    25 import android.widget.SimpleAdapter;
    25 import android.widget.SimpleAdapter;
    26 import android.widget.SimpleAdapter.ViewBinder;
    26 import android.widget.SimpleAdapter.ViewBinder;
    27 
    27 
    28 public class TeamSelectionActivity extends Activity{
    28 public class TeamSelectionActivity extends Activity{
    29 
    29 
       
    30 	private static final int ACTIVITY_TEAMCREATION = 0;
       
    31 	
    30 	private ImageButton addTeam, back;
    32 	private ImageButton addTeam, back;
    31 	private ListView availableTeams, selectedTeams;
    33 	private ListView availableTeams, selectedTeams;
    32 	private ArrayList<HashMap<String, ?>> availableTeamsList, selectedTeamsList;
    34 	private ArrayList<HashMap<String, ?>> availableTeamsList, selectedTeamsList;
    33 	private int minTeams = 2;
    35 	private int minTeams = 2;
    34 
    36 
    84 				return false;
    86 				return false;
    85 			}
    87 			}
    86 		}
    88 		}
    87 	};
    89 	};
    88 
    90 
       
    91 	public void onActivityResult(int requestCode, int resultCode, Intent data){
       
    92 		if(requestCode == ACTIVITY_TEAMCREATION){
       
    93 			if(resultCode == Activity.RESULT_OK){
       
    94 				updateListViews();
       
    95 			}
       
    96 		}else{
       
    97 			super.onActivityResult(requestCode, resultCode, data);
       
    98 		}
       
    99 	}
       
   100 	
       
   101 	private void updateListViews(){
       
   102 		unregisterForContextMenu(availableTeams);
       
   103 		availableTeamsList = FrontendDataUtils.getTeams(this);
       
   104 		for(HashMap<String, ?> hashmap : selectedTeamsList){
       
   105 			String name = (String)hashmap.get("txt");
       
   106 			for(HashMap<String, ?> hash : availableTeamsList){
       
   107 				if(name.equals((String)hash.get("txt"))){
       
   108 					availableTeamsList.remove(hash);
       
   109 				}
       
   110 			}
       
   111 		}
       
   112 		SimpleAdapter adapter = new SimpleAdapter(this, availableTeamsList, R.layout.team_selection_entry, new String[]{"txt", "img"}, new int[]{R.id.txtName, R.id.imgDifficulty});
       
   113 		availableTeams.setAdapter(adapter);
       
   114 		registerForContextMenu(availableTeams);
       
   115 		availableTeams.setOnItemClickListener(availableClicker);
       
   116 		
       
   117 		
       
   118 	}
       
   119 	
    89 	private void setTeamColor(int position, int color){
   120 	private void setTeamColor(int position, int color){
    90 		View iv = ((RelativeLayout)selectedTeams.getChildAt(position)).findViewById(R.id.teamCount);
   121 		View iv = ((RelativeLayout)selectedTeams.getChildAt(position)).findViewById(R.id.teamCount);
    91 		setTeamColor(iv, color);
   122 		setTeamColor(iv, color);
    92 	}
   123 	}
    93 	private void setTeamColor(View iv, int color){
   124 	private void setTeamColor(View iv, int color){
   140 		super.onBackPressed();
   171 		super.onBackPressed();
   141 	}
   172 	}
   142 
   173 
   143 	private OnClickListener addTeamClicker = new OnClickListener(){
   174 	private OnClickListener addTeamClicker = new OnClickListener(){
   144 		public void onClick(View v) {
   175 		public void onClick(View v) {
   145 			startActivity(new Intent(TeamSelectionActivity.this, TeamCreatorActivity.class));
   176 			startActivityForResult(new Intent(TeamSelectionActivity.this, TeamCreatorActivity.class), ACTIVITY_TEAMCREATION);
   146 
       
   147 		}
   177 		}
   148 	};
   178 	};
   149 
   179 
   150 	private OnClickListener backClicker = new OnClickListener(){
   180 	private OnClickListener backClicker = new OnClickListener(){
   151 		public void onClick(View v){
   181 		public void onClick(View v){
   190 			return true;
   220 			return true;
   191 		case 2://edit
   221 		case 2://edit
   192 			Intent i = new Intent(TeamSelectionActivity.this, TeamCreatorActivity.class);
   222 			Intent i = new Intent(TeamSelectionActivity.this, TeamCreatorActivity.class);
   193 			Team t = (Team)availableTeamsList.get(position).get("team");
   223 			Team t = (Team)availableTeamsList.get(position).get("team");
   194 			i.putExtra("team", t);
   224 			i.putExtra("team", t);
   195 			startActivity(i);
   225 			startActivityForResult(i, ACTIVITY_TEAMCREATION);
   196 			return true;
   226 			return true;
   197 		}
   227 		}
   198 		return false;
   228 		return false;
   199 	}
   229 	}
   200 
   230