DomStart.java :  » App » android-dom-app » eos » dom » Android Open Source

Android Open Source » App » android dom app 
android dom app » eos » dom » DomStart.java
package eos.dom;

import java.util.Vector;

import eos.dom.client.DomClient;
import eos.dom.client.DomInterface;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;

public class DomStart extends Activity implements DomInterface {

  public final static int CHOOSE_CARD_POPUP = 5;
  public final static int CARDS_CHOSEN_NOT_ENOUGH = 9;
  public final static int CARDS_CHOSEN_ENOUGH = 10;
  public static final int CHOOSE_GAME_TO_JOIN = 0;
  public static final int CANCELLED = -1;
  public static final int CHOICE_MADE = 0;
  public static final int PLAY_OWN_GAME = 15;
  public static final int PLAY_OTHER_GAME = 16;
  
  public static int[] cardsChosen;

  public static DomClient client;
  public TextView console;
  public static String gameToJoin;

  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    console = (TextView)findViewById(R.id.CONSOLE);
    try {
      client = new DomClient("", this);
    } catch (Exception e1) {
      console.setText("Could not connect to the server");
    }

    //Buttons
    Button create = (Button)findViewById(R.id.CreateGameButton);
    create.setOnClickListener(new OnClickListener() {

      @Override
      public void onClick(View v) {
          EditText n = (EditText)findViewById(R.id.NameInput);
          client.setName(n.getText().toString());
          Intent i = new Intent(DomStart.this,DomChooseCardsPopup.class);
          startActivityForResult(i, CHOOSE_CARD_POPUP);
      }
    });

    //join
    Button join = (Button)findViewById(R.id.JoinGameButton);
    join.setOnClickListener(new OnClickListener() {

      @Override
      public void onClick(View v) {
        EditText n = (EditText)findViewById(R.id.NameInput);
          client.setName(n.getText().toString());
          Intent i = new Intent(DomStart.this,DomChooseGamePopup.class);
          startActivityForResult(i, CHOOSE_GAME_TO_JOIN);
      }
    });


    //GET LIST
    Button getList = (Button)findViewById(R.id.GetGameListButton);
    getList.setOnClickListener(new OnClickListener() {

      @Override
      public void onClick(View v) {
        try {
          Vector<String> list = client.receiveGameList();
          console.setText(list.toString());
          ListView gameList = (ListView)findViewById(R.id.GameList);
          ArrayAdapter<Object> a = new ArrayAdapter<Object>(DomStart.this, android.R.layout.simple_list_item_1, list.toArray());
          gameList.setAdapter(a);
          console.setText("List size = "+list.size());

        } catch (Exception e) {
          console.setText("Couldn't get games list"+e.getMessage());
        }
      }
    });

    //END
    Button end = (Button)findViewById(R.id.EndGameButton);
        end.setOnClickListener(new OnClickListener() {

                        @Override
                        public void onClick(View v) {
                                EditText n = (EditText)findViewById(R.id.NameInput);
                                try {
                                        client.setName(n.getText().toString());
                                        client.endGame();
                                } catch (Exception e) {
                                        console.setText("Couldn't join game"+e.getMessage());
                                }
                        }
                });
     
  }

  private void prepareGame()  {
    try {
      if(client.createGame()){
        console.setText("GAME CREATED!");
        client.prepareGame(cardsChosen);
        client.setGame(client.getName());
        //Start intent game
        Intent i = new Intent(DomStart.this,DomGame.class);
        startActivityForResult(i, PLAY_OWN_GAME);
        
      }else{
        console.setText("GAME NOT CREATED! :(");
      }
      
    } catch (Exception e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }

  }

  @Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    console.setText("FINISHED");
    switch(requestCode){

    //CREATING A NEW GAME
    case CHOOSE_CARD_POPUP:
      switch(resultCode){

      case CARDS_CHOSEN_ENOUGH:
        prepareGame();
        break;

      case CARDS_CHOSEN_NOT_ENOUGH:
        prepareGame();
        break;
      }
      break;
      
    //JOINING A CREATED GAME
    case CHOOSE_GAME_TO_JOIN:
      if(resultCode!=CANCELLED){
        joinGame();
      }
    default:

    }

  }

  private void joinGame() {
    try {
      if(client.joinGame(gameToJoin)){
        console.setText("Join successful");
        client.setGame(gameToJoin);
        //Start intent game
        Intent i = new Intent(DomStart.this,DomGame.class);
        startActivityForResult(i, PLAY_OTHER_GAME);
      }else{
        console.setText("Join unsuccessful");
      }
    } catch (Exception e) {
      console.setText("COULDn'T JOIN GAME!\n"+e.getMessage());
    }
  }
  
  @Override
  protected void onResume() {
    // TODO Auto-generated method stub
    super.onResume();
    console = (TextView)findViewById(R.id.CONSOLE);
  }

}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.