project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/WeaponsetListActivity.java
changeset 10017 de822cd3df3a
parent 7584 7831c84cc644
equal deleted inserted replaced
10015:4feced261c68 10017:de822cd3df3a
    42 import android.widget.ListAdapter;
    42 import android.widget.ListAdapter;
    43 import android.widget.SimpleAdapter;
    43 import android.widget.SimpleAdapter;
    44 import android.widget.Toast;
    44 import android.widget.Toast;
    45 
    45 
    46 public class WeaponsetListActivity extends ListActivity implements OnItemClickListener {
    46 public class WeaponsetListActivity extends ListActivity implements OnItemClickListener {
    47 	private List<Weaponset> userWeaponsets;
    47     private List<Weaponset> userWeaponsets;
    48 	private Button addButton;
    48     private Button addButton;
    49 	
    49 
    50 	@Override
    50     @Override
    51 	protected void onCreate(Bundle savedInstanceState) {
    51     protected void onCreate(Bundle savedInstanceState) {
    52 		super.onCreate(savedInstanceState);
    52         super.onCreate(savedInstanceState);
    53 		setContentView(R.layout.activity_weaponsetlist);
    53         setContentView(R.layout.activity_weaponsetlist);
    54 		addButton = (Button)findViewById(R.id.addButton);
    54         addButton = (Button)findViewById(R.id.addButton);
    55 		addButton.setOnClickListener(new OnClickListener() {
    55         addButton.setOnClickListener(new OnClickListener() {
    56 			public void onClick(View v) {
    56             public void onClick(View v) {
    57 				editWeaponset(null);
    57                 editWeaponset(null);
    58 			}
    58             }
    59 		});
    59         });
    60 	}
    60     }
    61 	
    61 
    62 	@Override
    62     @Override
    63 	public void onResume() {
    63     public void onResume() {
    64 		super.onResume();
    64         super.onResume();
    65 		updateList();
    65         updateList();
    66 		getListView().setOnItemClickListener(this);
    66         getListView().setOnItemClickListener(this);
    67 		registerForContextMenu(getListView());
    67         registerForContextMenu(getListView());
    68 	}
    68     }
    69 	
    69 
    70 	private List<Map<String, ?>> weaponsetsToMap(List<Weaponset> weaponsets) {
    70     private List<Map<String, ?>> weaponsetsToMap(List<Weaponset> weaponsets) {
    71 		List<Map<String, ?>> result = new ArrayList<Map<String, ?>>();
    71         List<Map<String, ?>> result = new ArrayList<Map<String, ?>>();
    72 		for(Weaponset weaponset : weaponsets) {
    72         for(Weaponset weaponset : weaponsets) {
    73 			result.add(Collections.singletonMap("txt", weaponset.name));
    73             result.add(Collections.singletonMap("txt", weaponset.name));
    74 		}
    74         }
    75 		return result;
    75         return result;
    76 	}
    76     }
    77 	
    77 
    78 	public void onItemClick(AdapterView<?> adapterView, View v, int position, long arg3) {
    78     public void onItemClick(AdapterView<?> adapterView, View v, int position, long arg3) {
    79 		editWeaponset(userWeaponsets.get(position).name);
    79         editWeaponset(userWeaponsets.get(position).name);
    80 	}
    80     }
    81 	
    81 
    82 	@Override
    82     @Override
    83 	public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuinfo){
    83     public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuinfo){
    84 		menu.add(ContextMenu.NONE, 0, ContextMenu.NONE, R.string.edit);
    84         menu.add(ContextMenu.NONE, 0, ContextMenu.NONE, R.string.edit);
    85 		menu.add(ContextMenu.NONE, 1, ContextMenu.NONE, R.string.delete);
    85         menu.add(ContextMenu.NONE, 1, ContextMenu.NONE, R.string.delete);
    86 	}
    86     }
    87 	
    87 
    88 	@Override
    88     @Override
    89 	public boolean onContextItemSelected(MenuItem item){
    89     public boolean onContextItemSelected(MenuItem item){
    90 		AdapterView.AdapterContextMenuInfo menuInfo = (AdapterContextMenuInfo) item.getMenuInfo();
    90         AdapterView.AdapterContextMenuInfo menuInfo = (AdapterContextMenuInfo) item.getMenuInfo();
    91 		int position = menuInfo.position;
    91         int position = menuInfo.position;
    92 		Weaponset weaponset = userWeaponsets.get(position);
    92         Weaponset weaponset = userWeaponsets.get(position);
    93 		switch(item.getItemId()){
    93         switch(item.getItemId()){
    94 		case 0:
    94         case 0:
    95 			editWeaponset(weaponset.name);
    95             editWeaponset(weaponset.name);
    96 			return true;
    96             return true;
    97 		case 1:
    97         case 1:
    98 			try {
    98             try {
    99 				Weaponsets.deleteUserWeaponset(this, weaponset.name);
    99                 Weaponsets.deleteUserWeaponset(this, weaponset.name);
   100 			} catch (IOException e) {
   100             } catch (IOException e) {
   101 				Toast.makeText(this.getApplicationContext(), R.string.error_missing_sdcard_or_files, Toast.LENGTH_SHORT).show();
   101                 Toast.makeText(this.getApplicationContext(), R.string.error_missing_sdcard_or_files, Toast.LENGTH_SHORT).show();
   102 			}
   102             }
   103 			updateList();
   103             updateList();
   104 			return true;
   104             return true;
   105 		}
   105         }
   106 		return false;
   106         return false;
   107 	}
   107     }
   108 	
   108 
   109 	private void updateList() {
   109     private void updateList() {
   110 		try {
   110         try {
   111 			userWeaponsets = Weaponsets.loadUserWeaponsets(this);
   111             userWeaponsets = Weaponsets.loadUserWeaponsets(this);
   112 		} catch (IOException e) {
   112         } catch (IOException e) {
   113 			Toast.makeText(this, R.string.error_missing_sdcard_or_files, Toast.LENGTH_LONG).show();
   113             Toast.makeText(this, R.string.error_missing_sdcard_or_files, Toast.LENGTH_LONG).show();
   114 			finish();
   114             finish();
   115 		}
   115         }
   116 		Collections.sort(userWeaponsets, Weaponset.NAME_ORDER);
   116         Collections.sort(userWeaponsets, Weaponset.NAME_ORDER);
   117 		ListAdapter adapter = new SimpleAdapter(this, weaponsetsToMap(userWeaponsets), android.R.layout.simple_list_item_1, new String[]{"txt"}, new int[]{android.R.id.text1});
   117         ListAdapter adapter = new SimpleAdapter(this, weaponsetsToMap(userWeaponsets), android.R.layout.simple_list_item_1, new String[]{"txt"}, new int[]{android.R.id.text1});
   118 		setListAdapter(adapter);
   118         setListAdapter(adapter);
   119 	}
   119     }
   120 	
   120 
   121 	private void editWeaponset(String weaponsetName) {
   121     private void editWeaponset(String weaponsetName) {
   122 		Intent i = new Intent(this, WeaponsetCreatorActivity.class);
   122         Intent i = new Intent(this, WeaponsetCreatorActivity.class);
   123 		i.putExtra(WeaponsetCreatorActivity.PARAMETER_EXISTING_WEAPONSETNAME, weaponsetName);
   123         i.putExtra(WeaponsetCreatorActivity.PARAMETER_EXISTING_WEAPONSETNAME, weaponsetName);
   124 		startActivity(i);
   124         startActivity(i);
   125 	}
   125     }
   126 }
   126 }