project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/netplay/PlayerlistFragment.java
changeset 7332 3f2e130f9715
parent 7330 867e4fda496e
child 7342 0e29eec2df5c
equal deleted inserted replaced
7330:867e4fda496e 7332:3f2e130f9715
     3 import java.util.ArrayList;
     3 import java.util.ArrayList;
     4 import java.util.List;
     4 import java.util.List;
     5 import java.util.Random;
     5 import java.util.Random;
     6 
     6 
     7 import org.hedgewars.hedgeroid.R;
     7 import org.hedgewars.hedgeroid.R;
       
     8 import org.hedgewars.hedgeroid.netplay.NetplayService.NetplayBinder;
     8 
     9 
       
    10 import android.content.ComponentName;
       
    11 import android.content.Context;
       
    12 import android.content.Intent;
       
    13 import android.content.ServiceConnection;
     9 import android.os.Bundle;
    14 import android.os.Bundle;
       
    15 import android.os.IBinder;
    10 import android.support.v4.app.ListFragment;
    16 import android.support.v4.app.ListFragment;
       
    17 import android.util.Log;
    11 import android.view.LayoutInflater;
    18 import android.view.LayoutInflater;
    12 import android.view.View;
    19 import android.view.View;
    13 import android.view.ViewGroup;
    20 import android.view.ViewGroup;
    14 
    21 
    15 public class PlayerlistFragment extends ListFragment {
    22 public class PlayerlistFragment extends ListFragment {
    16 	List<Player> playerList;
    23 	private Netconn netconn;
    17 	Random random = new Random();
    24 	private PlayerListAdapter playerListAdapter;
    18 
    25 	
    19 	@Override
    26 	@Override
    20 	public void onCreate(Bundle savedInstanceState) {
    27 	public void onCreate(Bundle savedInstanceState) {
    21 		super.onCreate(savedInstanceState);
    28 		super.onCreate(savedInstanceState);
    22 		playerList = new ArrayList<Player>();
    29 		getActivity().bindService(new Intent(getActivity(), NetplayService.class), serviceConnection,
    23 		PlayerListAdapter playerListAdapter = new PlayerListAdapter(getActivity());
    30 	            Context.BIND_AUTO_CREATE);
    24 		playerListAdapter.setPlayerList(playerList);
    31 		playerListAdapter = new PlayerListAdapter(getActivity());
    25 		setListAdapter(playerListAdapter);
    32 		setListAdapter(playerListAdapter);
    26 	}
    33 	}
    27 
    34 
    28 	@Override
    35 	@Override
    29 	public View onCreateView(LayoutInflater inflater, ViewGroup container,
    36 	public View onCreateView(LayoutInflater inflater, ViewGroup container,
    30 			Bundle savedInstanceState) {
    37 			Bundle savedInstanceState) {
    31 		return inflater.inflate(R.layout.lobby_players_fragment, container, false);
    38 		return inflater.inflate(R.layout.lobby_players_fragment, container, false);
    32 	}
    39 	}
       
    40 	
       
    41     private ServiceConnection serviceConnection = new ServiceConnection() {
       
    42         public void onServiceConnected(ComponentName className, IBinder binder) {
       
    43         	netconn = ((NetplayBinder) binder).getNetconn();
       
    44         	playerListAdapter.setPlayerList(netconn.playerList.getList());
       
    45         	netconn.playerList.observePlayerList(playerListAdapter);
       
    46         }
       
    47 
       
    48         public void onServiceDisconnected(ComponentName className) {
       
    49         	// TODO navigate away
       
    50         	netconn.playerList.unobservePlayerList(playerListAdapter);
       
    51         	netconn = null;
       
    52         }
       
    53     };
    33 }
    54 }