project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/netplay/PlayerlistFragment.java
equal
deleted
inserted
replaced
2 |
2 |
3 import org.hedgewars.hedgeroid.R; |
3 import org.hedgewars.hedgeroid.R; |
4 import org.hedgewars.hedgeroid.netplay.NetplayService.NetplayBinder; |
4 import org.hedgewars.hedgeroid.netplay.NetplayService.NetplayBinder; |
5 |
5 |
6 import android.content.ComponentName; |
6 import android.content.ComponentName; |
7 import android.content.Context; |
|
8 import android.content.Intent; |
7 import android.content.Intent; |
9 import android.content.ServiceConnection; |
8 import android.content.ServiceConnection; |
10 import android.os.Bundle; |
9 import android.os.Bundle; |
11 import android.os.IBinder; |
10 import android.os.IBinder; |
12 import android.support.v4.app.ListFragment; |
11 import android.support.v4.app.ListFragment; |
19 import android.view.ContextMenu.ContextMenuInfo; |
18 import android.view.ContextMenu.ContextMenuInfo; |
20 import android.widget.Toast; |
19 import android.widget.Toast; |
21 import android.widget.AdapterView.AdapterContextMenuInfo; |
20 import android.widget.AdapterView.AdapterContextMenuInfo; |
22 |
21 |
23 public class PlayerlistFragment extends ListFragment { |
22 public class PlayerlistFragment extends ListFragment { |
24 private Netconn netconn; |
23 private NetplayService netplayService; |
25 private PlayerListAdapter playerListAdapter; |
24 private PlayerListAdapter playerListAdapter; |
26 |
25 |
27 @Override |
26 @Override |
28 public void onCreate(Bundle savedInstanceState) { |
27 public void onCreate(Bundle savedInstanceState) { |
29 super.onCreate(savedInstanceState); |
28 super.onCreate(savedInstanceState); |
30 getActivity().bindService(new Intent(getActivity(), NetplayService.class), serviceConnection, |
29 getActivity().bindService(new Intent(getActivity(), NetplayService.class), serviceConnection, 0); |
31 Context.BIND_AUTO_CREATE); |
|
32 playerListAdapter = new PlayerListAdapter(getActivity()); |
30 playerListAdapter = new PlayerListAdapter(getActivity()); |
33 setListAdapter(playerListAdapter); |
31 setListAdapter(playerListAdapter); |
34 } |
32 } |
35 |
33 |
36 @Override |
34 @Override |
51 public boolean onContextItemSelected(MenuItem item) { |
49 public boolean onContextItemSelected(MenuItem item) { |
52 AdapterContextMenuInfo info = (AdapterContextMenuInfo)item.getMenuInfo(); |
50 AdapterContextMenuInfo info = (AdapterContextMenuInfo)item.getMenuInfo(); |
53 switch(item.getItemId()) { |
51 switch(item.getItemId()) { |
54 case R.id.player_info: |
52 case R.id.player_info: |
55 Player p = playerListAdapter.getItem(info.position); |
53 Player p = playerListAdapter.getItem(info.position); |
56 if(netconn != null) { |
54 if(netplayService != null) { |
57 netconn.sendPlayerInfoQuery(p.name); |
55 netplayService.sendPlayerInfoQuery(p.name); |
58 } |
56 } |
59 return true; |
57 return true; |
60 case R.id.player_follow: |
58 case R.id.player_follow: |
61 Toast.makeText(getActivity(), R.string.not_implemented_yet, Toast.LENGTH_SHORT).show(); |
59 Toast.makeText(getActivity(), R.string.not_implemented_yet, Toast.LENGTH_SHORT).show(); |
62 return true; |
60 return true; |
77 return inflater.inflate(R.layout.lobby_players_fragment, container, false); |
75 return inflater.inflate(R.layout.lobby_players_fragment, container, false); |
78 } |
76 } |
79 |
77 |
80 private ServiceConnection serviceConnection = new ServiceConnection() { |
78 private ServiceConnection serviceConnection = new ServiceConnection() { |
81 public void onServiceConnected(ComponentName className, IBinder binder) { |
79 public void onServiceConnected(ComponentName className, IBinder binder) { |
82 netconn = ((NetplayBinder) binder).getNetconn(); |
80 netplayService = ((NetplayBinder) binder).getService(); |
83 playerListAdapter.setList(netconn.playerList); |
81 playerListAdapter.setList(netplayService.playerList); |
84 } |
82 } |
85 |
83 |
86 public void onServiceDisconnected(ComponentName className) { |
84 public void onServiceDisconnected(ComponentName className) { |
87 // TODO navigate away |
85 // TODO navigate away |
88 playerListAdapter.invalidate(); |
86 playerListAdapter.invalidate(); |
89 netconn = null; |
87 netplayService = null; |
90 } |
88 } |
91 }; |
89 }; |
92 } |
90 } |