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 } |