package com.example.sensors;

import com.example.sensors.R;

import android.hardware.SensorManager;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.view.Menu;
import android.view.SurfaceView;
import android.widget.FrameLayout;
import android.widget.TextView;


public class StatusScreen extends Activity {
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_status_screen);
		
		/*camera*/
		SurfaceView surf = new SurfaceView(this);
		((FrameLayout) findViewById(R.id.frameView)).addView(surf);
		Cumera.make(surf.getHolder());

		/*sensor*/
		SensorManager sensorMan = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
		
		Sensual.initAccel(new Sensual.Axis() {
			public void eval(float x, float y, float z) {
				String accelTxt = "accel { " + x + ", " + y + ", " + z + "}";
				((TextView)findViewById(R.id.accel)).setText(accelTxt);
			}},
			sensorMan);

		
		Sensual.initRotation(new Sensual.Axis() {
			public void eval(float x, float y, float z) {
				String accelTxt = "rotation { " + x + ", " + y + ", " + z + "}";
				((TextView)findViewById(R.id.gyro)).setText(accelTxt);
			}
		}, sensorMan);
		
		Sensual.initCompass(new Sensual.Axis() {
			public void eval(float x, float y, float z) {
				String accelTxt = "compass { " + x + ", " + y + ", " + z + "}";
				((TextView)findViewById(R.id.compass)).setText(accelTxt);
			}
		}, sensorMan);
		
		
		Sensual.initThermometer(new Sensual.Value() {
			public void eval(float val) {
				String accelTxt = "temp { " + val + " celsius }";
				((TextView)findViewById(R.id.temp)).setText(accelTxt);
			}
		}, sensorMan);
		
		Sensual.initBarometer(new Sensual.Value() {
			public void eval(float val) {
				String accelTxt = "pressure { " + val + " kpa }";
				((TextView)findViewById(R.id.pressure)).setText(accelTxt);
			}
		}, sensorMan);
		
		Sensual.initHygrometer(new Sensual.Value() {
			public void eval(float val) {
				String accelTxt = "humidity { " + val + " % }";
				((TextView)findViewById(R.id.humidity)).setText(accelTxt);
			}
		}, sensorMan);
		
		Sensual.initLumens(new Sensual.Value() {
			public void eval(float val) {
				String accelTxt = "light { " + val + " lx }";
				((TextView)findViewById(R.id.light)).setText(accelTxt);
			}
		}, sensorMan);
		
		Sensual.initProximity(new Sensual.Value() {
			public void eval(float val) {
				String accelTxt = "distance from your head { " + val + " cm }";
				((TextView)findViewById(R.id.proxim)).setText(accelTxt);
			}
		}, sensorMan);

	}

	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.status_screen, menu);
		return true;
	}

}
