36 import android.widget.AdapterView; |
36 import android.widget.AdapterView; |
37 import android.widget.AdapterView.AdapterContextMenuInfo; |
37 import android.widget.AdapterView.AdapterContextMenuInfo; |
38 import android.widget.AdapterView.OnItemClickListener; |
38 import android.widget.AdapterView.OnItemClickListener; |
39 |
39 |
40 public class RoomPlayerlistFragment extends ListFragment implements OnItemClickListener { |
40 public class RoomPlayerlistFragment extends ListFragment implements OnItemClickListener { |
41 private Netplay netplay; |
41 private Netplay netplay; |
42 private RoomPlayerlistAdapter adapter; |
42 private RoomPlayerlistAdapter adapter; |
43 |
|
44 @Override |
|
45 public void onCreate(Bundle savedInstanceState) { |
|
46 super.onCreate(savedInstanceState); |
|
47 netplay = Netplay.getAppInstance(getActivity().getApplicationContext()); |
|
48 adapter = new RoomPlayerlistAdapter(); |
|
49 adapter.setSource(netplay.roomPlayerlist); |
|
50 setListAdapter(adapter); |
|
51 } |
|
52 |
43 |
53 @Override |
44 @Override |
54 public void onDestroy() { |
45 public void onCreate(Bundle savedInstanceState) { |
55 super.onDestroy(); |
46 super.onCreate(savedInstanceState); |
56 adapter.invalidate(); |
47 netplay = Netplay.getAppInstance(getActivity().getApplicationContext()); |
57 } |
48 adapter = new RoomPlayerlistAdapter(); |
58 |
49 adapter.setSource(netplay.roomPlayerlist); |
59 @Override |
50 setListAdapter(adapter); |
60 public void onActivityCreated(Bundle savedInstanceState) { |
51 } |
61 super.onActivityCreated(savedInstanceState); |
|
62 registerForContextMenu(getListView()); |
|
63 getListView().setOnItemClickListener(this); |
|
64 } |
|
65 |
52 |
66 @Override |
53 @Override |
67 public void onCreateContextMenu(ContextMenu menu, View v, |
54 public void onDestroy() { |
68 ContextMenuInfo menuInfo) { |
55 super.onDestroy(); |
69 super.onCreateContextMenu(menu, v, menuInfo); |
56 adapter.invalidate(); |
70 AdapterContextMenuInfo info = (AdapterContextMenuInfo)menuInfo; |
57 } |
71 String playerName = adapter.getItem(info.position).player.name; |
58 |
72 |
59 @Override |
73 MenuInflater inflater = getActivity().getMenuInflater(); |
60 public void onActivityCreated(Bundle savedInstanceState) { |
74 inflater.inflate(R.menu.room_playerlist_context, menu); |
61 super.onActivityCreated(savedInstanceState); |
75 if(netplay.isChief() && !playerName.equals(netplay.getPlayerName())) { |
62 registerForContextMenu(getListView()); |
76 inflater.inflate(R.menu.room_playerlist_chief_context, menu); |
63 getListView().setOnItemClickListener(this); |
77 } |
64 } |
78 menu.setHeaderIcon(R.drawable.human); |
65 |
79 menu.setHeaderTitle(playerName); |
66 @Override |
80 } |
67 public void onCreateContextMenu(ContextMenu menu, View v, |
81 |
68 ContextMenuInfo menuInfo) { |
82 @Override |
69 super.onCreateContextMenu(menu, v, menuInfo); |
83 public boolean onContextItemSelected(MenuItem item) { |
70 AdapterContextMenuInfo info = (AdapterContextMenuInfo)menuInfo; |
84 AdapterContextMenuInfo info = (AdapterContextMenuInfo)item.getMenuInfo(); |
71 String playerName = adapter.getItem(info.position).player.name; |
85 PlayerInRoom player = adapter.getItem(info.position); |
72 |
86 switch(item.getItemId()) { |
73 MenuInflater inflater = getActivity().getMenuInflater(); |
87 case R.id.player_info: |
74 inflater.inflate(R.menu.room_playerlist_context, menu); |
88 netplay.sendPlayerInfoQuery(player.player.name); |
75 if(netplay.isChief() && !playerName.equals(netplay.getPlayerName())) { |
89 return true; |
76 inflater.inflate(R.menu.room_playerlist_chief_context, menu); |
90 case R.id.player_kick: |
77 } |
91 netplay.sendKick(player.player.name); |
78 menu.setHeaderIcon(R.drawable.human); |
92 return true; |
79 menu.setHeaderTitle(playerName); |
93 default: |
80 } |
94 return super.onContextItemSelected(item); |
81 |
95 } |
82 @Override |
96 } |
83 public boolean onContextItemSelected(MenuItem item) { |
97 |
84 AdapterContextMenuInfo info = (AdapterContextMenuInfo)item.getMenuInfo(); |
98 @Override |
85 PlayerInRoom player = adapter.getItem(info.position); |
99 public View onCreateView(LayoutInflater inflater, ViewGroup container, |
86 switch(item.getItemId()) { |
100 Bundle savedInstanceState) { |
87 case R.id.player_info: |
101 return inflater.inflate(R.layout.fragment_playerlist, container, false); |
88 netplay.sendPlayerInfoQuery(player.player.name); |
102 } |
89 return true; |
103 |
90 case R.id.player_kick: |
104 public void onItemClick(AdapterView<?> parent, View view, int position, long id) { |
91 netplay.sendKick(player.player.name); |
105 Player player = adapter.getItem(position).player; |
92 return true; |
106 if(player.name.equals(netplay.getPlayerName())) { |
93 default: |
107 netplay.sendToggleReady(); |
94 return super.onContextItemSelected(item); |
108 } |
95 } |
109 } |
96 } |
|
97 |
|
98 @Override |
|
99 public View onCreateView(LayoutInflater inflater, ViewGroup container, |
|
100 Bundle savedInstanceState) { |
|
101 return inflater.inflate(R.layout.fragment_playerlist, container, false); |
|
102 } |
|
103 |
|
104 public void onItemClick(AdapterView<?> parent, View view, int position, long id) { |
|
105 Player player = adapter.getItem(position).player; |
|
106 if(player.name.equals(netplay.getPlayerName())) { |
|
107 netplay.sendToggleReady(); |
|
108 } |
|
109 } |
110 } |
110 } |