project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/RoomActivity.java
changeset 7582 714310efad8f
parent 7580 c92596feac0d
child 7584 7831c84cc644
equal deleted inserted replaced
7580:c92596feac0d 7582:714310efad8f
     1 package org.hedgewars.hedgeroid;
       
     2 
       
     3 import org.hedgewars.hedgeroid.R;
       
     4 import org.hedgewars.hedgeroid.Datastructures.Team;
       
     5 import org.hedgewars.hedgeroid.Datastructures.TeamInGame;
       
     6 import org.hedgewars.hedgeroid.NetplayStateFragment.NetplayStateListener;
       
     7 import org.hedgewars.hedgeroid.netplay.Netplay;
       
     8 import org.hedgewars.hedgeroid.netplay.Netplay.State;
       
     9 
       
    10 import android.os.Bundle;
       
    11 import android.support.v4.app.FragmentActivity;
       
    12 import android.support.v4.app.FragmentTransaction;
       
    13 import android.widget.TabHost;
       
    14 import android.widget.Toast;
       
    15 
       
    16 public class RoomActivity extends FragmentActivity implements NetplayStateListener, TeamAddDialog.Listener, RoomStateManager.Provider {
       
    17 	private TabHost tabHost;
       
    18 	private Netplay netplay;
       
    19 	
       
    20     @Override
       
    21     protected void onCreate(Bundle icicle) {
       
    22         super.onCreate(icicle);
       
    23         netplay = Netplay.getAppInstance(getApplicationContext());
       
    24         
       
    25         setContentView(R.layout.activity_netroom);
       
    26         ChatFragment chatFragment = (ChatFragment)getSupportFragmentManager().findFragmentById(R.id.chatFragment);
       
    27         chatFragment.setInRoom(true);
       
    28         
       
    29         FragmentTransaction trans = getSupportFragmentManager().beginTransaction();
       
    30         trans.add(new NetplayStateFragment(), "netplayFragment");
       
    31         trans.commit();
       
    32         
       
    33         /*tabHost = (TabHost)findViewById(android.R.id.tabhost);
       
    34         if(tabHost != null) {
       
    35 	        tabHost.setup();
       
    36 	        tabHost.getTabWidget().setOrientation(LinearLayout.VERTICAL);
       
    37 
       
    38 	        //tabHost.addTab(tabHost.newTabSpec("chat").setIndicator(createIndicatorView(tabHost, R.string.lobby_tab_chat, getResources().getDrawable(R.drawable.edit))).setContent(R.id.chatFragment));
       
    39 	        //tabHost.addTab(tabHost.newTabSpec("players").setIndicator(createIndicatorView(tabHost, R.string.lobby_tab_players, getResources().getDrawable(R.drawable.human))).setContent(R.id.playerListFragment));
       
    40 	
       
    41 	        if (icicle != null) {
       
    42 	            tabHost.setCurrentTabByTag(icicle.getString("currentTab"));
       
    43 	        }
       
    44         }*/
       
    45     }
       
    46 
       
    47 	@Override
       
    48 	public void onBackPressed() {
       
    49 		netplay.sendLeaveRoom(null);
       
    50 	}
       
    51     
       
    52     @Override
       
    53     protected void onSaveInstanceState(Bundle icicle) {
       
    54         super.onSaveInstanceState(icicle);
       
    55         if(tabHost != null) {
       
    56         	icicle.putString("currentTab", tabHost.getCurrentTabTag());
       
    57         }
       
    58     }
       
    59     
       
    60     public void onNetplayStateChanged(State newState) {
       
    61     	switch(newState) {
       
    62     	case NOT_CONNECTED:
       
    63     	case CONNECTING:
       
    64     	case LOBBY:
       
    65     		finish();
       
    66     		break;
       
    67     	case ROOM:
       
    68     		// Do nothing
       
    69     		break;
       
    70     	case INGAME:
       
    71     		//startActivity(new Intent(getApplicationContext(), RoomActivity.class));
       
    72     		Toast.makeText(getApplicationContext(), R.string.not_implemented_yet, Toast.LENGTH_SHORT).show();
       
    73     		break;
       
    74 		default:
       
    75 			throw new IllegalStateException("Unknown connection state: "+newState);
       
    76     	}
       
    77     }
       
    78     
       
    79 	public void onTeamAddDialogSubmitted(Team newTeam) {
       
    80 		netplay.sendAddTeam(newTeam, TeamInGame.getUnusedOrRandomColorIndex(netplay.roomTeamlist.getMap().values()));
       
    81 	}
       
    82 	
       
    83 	public RoomStateManager getRoomStateManager() {
       
    84 		return netplay.getRoomStateManager();
       
    85 	}
       
    86 }