package com.scribblegame;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;

import android.app.Activity;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.graphics.Bitmap.CompressFormat;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class ShareScreen extends Activity {
	
	Button shareButton, stopShareButton;
	EditText ipText;
	TextView connectionStatus;
	SharedPreferences shared;
	Editor editor;
	static Socket mainSocket;
	FileOutputStream fos;
	 @Override
	 public void onCreate(Bundle savedInstanceState) {
		 super.onCreate(savedInstanceState);
		 setContentView(R.layout.getipview);
		 shareButton = (Button)findViewById(R.id.start_share);
		 stopShareButton = (Button)findViewById(R.id.stop_share);
		 ipText = (EditText)findViewById(R.id.ipaddress);
		 connectionStatus = (TextView)findViewById(R.id.connection_status);
		 connectionStatus.setTextColor(Color.RED);
		 connectionStatus.setText("Not connected");
		 shared = PreferenceManager.getDefaultSharedPreferences(this);
		 editor = shared.edit();
		 stopShareButton.setEnabled(false);
		 
		 shareButton.setOnClickListener(new OnClickListener(){			 
			 
			public void onClick(View arg0) {
				
				try {
					System.out.print("Connecting...");
					mainSocket = new Socket(ipText.getText().toString(),4060);
					System.out.print("Connected---ip"+mainSocket.getInetAddress().toString());
					connectionStatus.setTextColor(Color.GREEN);
					connectionStatus.setText("Connected to "+mainSocket.getInetAddress().toString());
					ipText.setEnabled(false);
					shareButton.setEnabled(false);
					stopShareButton.setEnabled(true);
				} catch (UnknownHostException e) {
					// TODO Auto-generated catch block
					connectionStatus.setTextColor(Color.RED);
					connectionStatus.setText("Not connected "+e.getLocalizedMessage());
					e.printStackTrace();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			 
		 });
		 
		 stopShareButton.setOnClickListener(new OnClickListener() {
					public void onClick(View v) {
						ipText.setEnabled(true);
						shareButton.setEnabled(true);
						stopShareButton.setEnabled(false);
						connectionStatus.setTextColor(Color.RED);
						connectionStatus.setText("Not connected");
					//	DrawImage.captureThread.interrupt();
						try {
							if(mainSocket.getRemoteSocketAddress()!=null) {
							mainSocket.close(); mainSocket=null;}
							editor.putString("ConnectionRequest", "STOP");
							editor.commit();
						} catch (IOException e) {
							// TODO Auto-generated catch block
							e.printStackTrace();
						}
			}
			 
		 });
		 
	 }
}
