import java.io.IOException;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.cookie.Cookie;
import org.apache.http.impl.client.DefaultHttpClient;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;
import android.widget.SeekBar;
import android.widget.TextView;
import android.widget.ToggleButton;
public class LocalServiceController extends Activity {
private Intent i;
private ToggleButton button;
private SeekBar mSeekBar;
private TextView mProgressText;
private static EditText serverText,userText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
i=new Intent(LocalServiceController.this, LocalService.class);
// Watch for button clicks.
button = (ToggleButton)findViewById(R.id.toggle);
button.setOnClickListener(mStartListener);
button.setChecked(LocalService.getStato());
mSeekBar = (SeekBar)findViewById(R.id.seek);
mProgressText = (TextView)findViewById(R.id.progress);
mProgressText.setText(LocalService.getSleep()/1000 + " seconds");
mSeekBar.setProgress((LocalService.getSleep()/1000)-1);
serverText = (EditText)findViewById(R.id.servertext);
userText = (EditText)findViewById(R.id.usertext);
checkCookie();
}
@Override
public void onDestroy() {
super.onDestroy();
}
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromTouch) {
LocalService.setSleep((progress+1)*1000);
mProgressText.setText(LocalService.getSleep()/1000 + " seconds");
}
private OnClickListener mStartListener = new OnClickListener() {
public void onClick(View v) {
if(!LocalService.getStato()){
startService(i);
button.setChecked(true);
}
else {
stopService(i);
button.setChecked(false);
}
}
};
public static Editable getServer(){
return serverText.getText();
}
public static Editable getUser(){
return userText.getText();
}
private void checkCookie(){
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpResponse response;
try {
// Get cookies from the login page (not the address same of the form post)
HttpGet httpget = new HttpGet("http://"+LocalServiceController.getServer()+"/Search/cookie.jsp?user="+LocalServiceController.getUser());
response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
Log.d("httpPost", "Login form get: " + response.getStatusLine());
if (entity != null) {
entity.consumeContent();
}
Log.d("httpPost", "Initial set of cookies:");
List<Cookie> cookies = httpclient.getCookieStore().getCookies();
if (cookies.isEmpty()) {
Log.d("httpPost", "None");
} else {
for (int i = 0; i < cookies.size(); i++) {
Log.d("httpPost", "- " + cookies.get(i).toString());
httpclient.getCookieStore().addCookie(cookies.get(i));
}
}
} catch (ClientProtocolException e) {
Log.e("httpPost", e.getMessage());
e.printStackTrace();
} catch (IOException e) {
Log.e("httpPost", e.getMessage());
e.printStackTrace();
} catch (Exception e) {
Log.e("httpPost", e.getMessage());
e.printStackTrace();
}
}
}