package eu.liveandgov.mobilesensing.datacollection;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.ToggleButton;
/**
*
* Simple GUI for the Live+Gov Sensor API
*
* Sends Intents to SensorService
*
* @author hartmann
*
*/
public class MainActivity extends Activity {
/*
* GUI Components
*/
private static ToggleButton serviceButton;
private static ToggleButton recordingButton;
private static Button transferButton;
private static Spinner configDropdown;
public void initGuiCpmponents() {
serviceButton = (ToggleButton) findViewById(R.id.serviceButton);
recordingButton = (ToggleButton) findViewById(R.id.recordingButton);
transferButton = (Button) findViewById(R.id.transferButton);
configDropdown = (Spinner) findViewById(R.id.configDropdown);
}
/*
* LIFECYCLE MANAGEMENT
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initGuiCpmponents();
setupConfigDropdown();
}
private void setupConfigDropdown() {
configDropdown.setOnItemSelectedListener(new
OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
Log("Selected Sensor Preset " + arg2);
}
public void onNothingSelected(android.widget.AdapterView<?> arg0) {};
}
);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
/**
* LOG Messages
*/
private void Log(String msg){
android.util.Log.i("MAIN", msg);
}
/*
* BUTTON HANDLING
*/
public void serviceButtonClick(View v){
boolean newState = serviceButton.isChecked();
Log("Service Button Clicked. New state: " + newState);
if (newState == true) {
sendAction(SensorService.ACTION_START_SERVICE);
} else {
sendAction(SensorService.ACTION_STOP_SERVICE);
}
}
public void recordingButtonClick(View v){
Log("Recording Button Clicked. New state: " + ((ToggleButton) v).isChecked());
}
public void transferButtonClick(View v){
Log("Transfer Button Clicked");
}
/**
* Send message to SensorService
* @param action
*/
private void sendAction(String action) {
Intent intent = new Intent(getBaseContext(), SensorService.class);
intent.setAction(action);
getBaseContext().startService(intent);
}
}