project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/RoomPlayerlistFragment.java
changeset 10017 de822cd3df3a
parent 7584 7831c84cc644
equal deleted inserted replaced
10015:4feced261c68 10017:de822cd3df3a
    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 }