Buggy code:
public class ClientDeviceService extends AsyncTask < Void , Void , String > { public Socket client ; public Handler handler ; public Play PlayAct ; private int PORT ; public User user ; private InetAddress server ; private boolean socket_done ; public WifiP2pInfo info ; public OutputStream os ; public ObjectOutputStream oos ; public ObjectInputStream ois ; public InputStream is ; final int INITIAL_PACKET_NUMBER = 255 ; final int START_CONDITIONS = 254 ; final int USER_CLASS = 253 ; final int POWER_UP = 252 ; final int UNLEASH_C = 251 ; final int UNLEASH_D = 250 ; private User tmp_user ; private PowerUp tmp_power ; private startCondition tmp_stc ; private UnleashAttack tmp_unleash_c ; public ClientDeviceService ( Handler handler , Play a , int port , InetAddress s ) { } private void createSocketThread ( ) { } private void createSocket ( ) { } private void ReceiveThread ( ) { while ( true ) { Log . v ( "PORT" , "in<seq2seq4repair_space>receiveThread" ) ; UnleashPackage p = receive ( ) ; Log . v ( "PORT" , "received<seq2seq4repair_space>package<seq2seq4repair_space>from<seq2seq4repair_space>host" ) ; int header = p . getHeader ( ) ; switch ( header ) { case INITIAL_PACKET_NUMBER : User u = ( ( User ) ( p . getData ( ) ) ) ; Log . v ( "PORT" , ( "Initial:<seq2seq4repair_space>" + ( p . getData ( ) ) ) ) ; this . user . setNumber ( u . getNumber ( ) ) ; this . user . setName ( u . getName ( ) ) ; this . user . setLat ( u . getLat ( ) ) ; this . user . setLon ( u . getLon ( ) ) ; this . user . setAlive ( true ) ; UserLocations . setMyUser ( user . getNumber ( ) ) ; UserLocations . setUser ( u ) ; Log . v ( "PORT" , ( "Set<seq2seq4repair_space>my<seq2seq4repair_space>user<seq2seq4repair_space>to:<seq2seq4repair_space>" + u ) ) ; break ; case START_CONDITIONS : tmp_stc = ( ( startCondition ) ( p . getData ( ) ) ) ; Log . v ( "PORT" , ( ( ( "STCON<seq2seq4repair_space>" + ( tmp_stc . getReady ( ) ) ) + ",<seq2seq4repair_space>mapSet():<seq2seq4repair_space>" ) + ( tmp_stc . mapSet ( ) ) ) ) ; handler . post ( new Runnable ( ) { @ Override public void run ( ) { PlayAct . startingMapCoor ( tmp_stc . mapSet ( ) ) ; if ( tmp_stc . getReady ( ) ) { Log . v ( "PORT" , "Client<seq2seq4repair_space>Start<seq2seq4repair_space>Game" ) ; <START_BUG> PlayAct . startGame ( PlayAct . findViewById ( readyFrag ) ) ; <END_BUG> } } } ) ; break ; case USER_CLASS : tmp_user = ( ( User ) ( p . getData ( ) ) ) ; Log . v ( "PORT" , ( ( ( "Client<seq2seq4repair_space>Receiving<seq2seq4repair_space>setUserLocation<seq2seq4repair_space>for:<seq2seq4repair_space>" + ( tmp_user . getNumber ( ) ) ) + ",<seq2seq4repair_space>Lat:<seq2seq4repair_space>" ) + ( tmp_user . getLat ( ) ) ) ) ; if ( ( tmp_user . getNumber ( ) ) != ( this . user . getNumber ( ) ) ) UserLocations . setUser ( tmp_user ) ; break ; case POWER_UP : tmp_power = ( ( PowerUp ) ( p . getData ( ) ) ) ; if ( tmp_power . status ) { PlayAct . u_PowerUp . removePowerUp ( tmp_power . getPowerNum ( ) ) ; if ( ( tmp_power . getPlayer ( ) ) == ( UserLocations . getMyUser ( ) ) ) { PlayAct . u_PowerUp . increasePowerLevel ( ) ; } } else { PlayAct . u_PowerUp . makePowerUp ( tmp_power . getPowerNum ( ) , tmp_power . getLatLng ( ) ) ; } break ; case UNLEASH_D : break ; case UNLEASH_C : tmp_unleash_c = ( ( UnleashAttack ) ( p . getData ( ) ) ) ; new AnimateUnleash ( PlayAct , tmp_unleash_c . getLocation ( ) , PlayAct , tmp_unleash_c . getPowerLvl ( ) , true ) . execute ( ) ; break ; default : break ; } try { Thread . sleep ( 100 ) ; } catch ( InterruptedException e ) { e . printStackTrace ( ) ; } } } private void SendThread ( ) { } @ Override protected String doInBackground ( Void ... arg0 ) { } public UnleashPackage receive ( ) { } public void send ( int header , Object o ) { } }

Fix:
PlayAct . startGame ( ) ;