project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/netplay/PlayerlistFragment.java
changeset 7476 2fb781bbdd51
parent 7473 45b9f25ff611
child 7479 c8c552ee3acb
equal deleted inserted replaced
7473:45b9f25ff611 7476:2fb781bbdd51
     1 package org.hedgewars.hedgeroid.netplay;
       
     2 
       
     3 import org.hedgewars.hedgeroid.R;
       
     4 
       
     5 import android.os.Bundle;
       
     6 import android.support.v4.app.ListFragment;
       
     7 import android.view.ContextMenu;
       
     8 import android.view.ContextMenu.ContextMenuInfo;
       
     9 import android.view.LayoutInflater;
       
    10 import android.view.MenuInflater;
       
    11 import android.view.MenuItem;
       
    12 import android.view.View;
       
    13 import android.view.ViewGroup;
       
    14 import android.widget.AdapterView.AdapterContextMenuInfo;
       
    15 
       
    16 public class PlayerlistFragment extends ListFragment {
       
    17 	private Netplay netconn;
       
    18 	private PlayerlistAdapter playerListAdapter;
       
    19 	
       
    20 	@Override
       
    21 	public void onCreate(Bundle savedInstanceState) {
       
    22 		super.onCreate(savedInstanceState);
       
    23 		netconn = Netplay.getAppInstance(getActivity().getApplicationContext());
       
    24 		playerListAdapter = new PlayerlistAdapter(getActivity());
       
    25 		playerListAdapter.setList(Netplay.getAppInstance(getActivity().getApplicationContext()).playerList);
       
    26 		setListAdapter(playerListAdapter);
       
    27 	}
       
    28 
       
    29 	@Override
       
    30 	public void onDestroy() {
       
    31 		super.onDestroy();
       
    32 		playerListAdapter.invalidate();
       
    33 	}
       
    34 	
       
    35 	@Override
       
    36 	public void onActivityCreated(Bundle savedInstanceState) {
       
    37 		super.onActivityCreated(savedInstanceState);
       
    38 		registerForContextMenu(getListView());
       
    39 	}
       
    40 
       
    41 	@Override
       
    42 	public void onCreateContextMenu(ContextMenu menu, View v,
       
    43 			ContextMenuInfo menuInfo) {
       
    44 		super.onCreateContextMenu(menu, v, menuInfo);
       
    45 		AdapterContextMenuInfo info = (AdapterContextMenuInfo)menuInfo;
       
    46 		MenuInflater inflater = getActivity().getMenuInflater();
       
    47 		inflater.inflate(R.menu.lobby_playerlist_context, menu);
       
    48 		menu.setHeaderIcon(R.drawable.human);
       
    49 		menu.setHeaderTitle(playerListAdapter.getItem(info.position).name);
       
    50 	}
       
    51 	
       
    52 	@Override
       
    53 	public boolean onContextItemSelected(MenuItem item) {
       
    54 		AdapterContextMenuInfo info = (AdapterContextMenuInfo)item.getMenuInfo();
       
    55 		Player player = playerListAdapter.getItem(info.position);
       
    56 		switch(item.getItemId()) {
       
    57 		case R.id.player_info:
       
    58 			netconn.sendPlayerInfoQuery(player.name);
       
    59 			return true;
       
    60 		case R.id.player_follow:
       
    61 			netconn.sendFollowPlayer(player.name);
       
    62 			return true;
       
    63 		default:
       
    64 			return super.onContextItemSelected(item);
       
    65 		}
       
    66 	}
       
    67 	
       
    68 	@Override
       
    69 	public View onCreateView(LayoutInflater inflater, ViewGroup container,
       
    70 			Bundle savedInstanceState) {
       
    71 		return inflater.inflate(R.layout.lobby_players_fragment, container, false);
       
    72 	}
       
    73 }