package com.oreilly.demo.android.pa.sensordemo;
import android.app.Activity;
import android.gesture.Gesture;
import android.gesture.GestureLibraries;
import android.gesture.GestureLibrary;
import android.gesture.GestureOverlayView;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;
import android.widget.Toast;
public class GestureAdd extends Activity implements GestureOverlayView.OnGesturePerformedListener {
private GestureLibrary library;
private Gesture gesture;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.gestureadd);
setTitle("Add Gesture");
findViewById(R.id.save).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(storeGesture()) finish();
}
});
findViewById(R.id.cancel).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
@Override
protected void onResume() {
super.onResume();
updateGestureLibrary();
GestureOverlayView gestures = (GestureOverlayView) findViewById(R.id.gestures);
gestures.setFadeEnabled(false);
gestures.addOnGesturePerformedListener(this);
}
@Override
public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) {
this.gesture = gesture;
}
private void updateGestureLibrary() {
library = GestureLibraries.fromFile("/sdcard/gestureexample");
library.load();
}
private boolean storeGesture() {
if(gesture != null) {
String name = null;
if(((EditText) findViewById(R.id.name)).getText() != null) {
name = ((EditText) findViewById(R.id.name)).getText().toString();
}
if(name == null || name.trim().length() < 1) {
Toast.makeText(this, "You must provide a name", Toast.LENGTH_SHORT).show();
return false;
}
library.addGesture(name, gesture);
library.save();
return true;
} else Toast.makeText(this, "You must make a gesture", Toast.LENGTH_SHORT).show();
return false;
}
}