package com.android.example;

import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {

    private Button connectPhones;
    private String serverIpAddress = "";
    private boolean connected = false;
    private Handler handler = new Handler();

	
	
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
				
		//TextView tv = new TextView(this);
		//tv.setText("Hello, World");
        connectPhones = (Button) findViewById(R.id.btnConnect);
        connectPhones.setOnClickListener(connectListener);

	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	private OnClickListener connectListener = new OnClickListener() {

        @Override
        public void onClick(View v) {
            if (!connected) {
                    Thread cThread = new Thread(new ClientThread());
                    cThread.start();
            }
        }
	};
	
	   public class ClientThread implements Runnable {

	        public void run() {
	            try {
	                Log.d("ClientActivity", "C: Connecting...");
	                Socket socket = new Socket("127.0.0.1", 8111);
	                connected = true;
	                while (connected) {
	                    try {
	                        Log.d("ClientActivity", "C: Sending command.");
	                        PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket
	                                    .getOutputStream())), true);
	                            out.println("Hey Server!");
	                            Log.d("ClientActivity", "C: Sent.");
	                    } catch (Exception e) {
	                        Log.e("ClientActivity", "S: Error", e);
	                    }
	                }
	                socket.close();
	                Log.d("ClientActivity", "C: Closed.");
	            } catch (Exception e) {
	                Log.e("ClientActivity", "C: Error", e);
	                connected = false;
	            }
	        }
	    }
	
	
	
}
