|
|
@ -1,5 +1,6 @@
|
|
|
|
package com.todoroo.astrid.activity;
|
|
|
|
package com.todoroo.astrid.activity;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.Date;
|
|
|
|
import java.util.Date;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.Map.Entry;
|
|
|
|
import java.util.Map.Entry;
|
|
|
@ -15,31 +16,37 @@ import android.content.IntentFilter;
|
|
|
|
import android.content.pm.PackageManager;
|
|
|
|
import android.content.pm.PackageManager;
|
|
|
|
import android.content.pm.ResolveInfo;
|
|
|
|
import android.content.pm.ResolveInfo;
|
|
|
|
import android.database.Cursor;
|
|
|
|
import android.database.Cursor;
|
|
|
|
|
|
|
|
import android.gesture.Gesture;
|
|
|
|
|
|
|
|
import android.gesture.GestureLibraries;
|
|
|
|
|
|
|
|
import android.gesture.GestureLibrary;
|
|
|
|
|
|
|
|
import android.gesture.GestureOverlayView;
|
|
|
|
|
|
|
|
import android.gesture.GestureOverlayView.OnGesturePerformedListener;
|
|
|
|
|
|
|
|
import android.gesture.Prediction;
|
|
|
|
import android.net.Uri;
|
|
|
|
import android.net.Uri;
|
|
|
|
import android.os.Bundle;
|
|
|
|
import android.os.Bundle;
|
|
|
|
import android.text.Editable;
|
|
|
|
import android.text.Editable;
|
|
|
|
import android.text.TextUtils;
|
|
|
|
import android.text.TextUtils;
|
|
|
|
import android.text.TextWatcher;
|
|
|
|
import android.text.TextWatcher;
|
|
|
|
import android.view.ContextMenu;
|
|
|
|
import android.view.ContextMenu;
|
|
|
|
|
|
|
|
import android.view.ContextMenu.ContextMenuInfo;
|
|
|
|
import android.view.KeyEvent;
|
|
|
|
import android.view.KeyEvent;
|
|
|
|
import android.view.Menu;
|
|
|
|
import android.view.Menu;
|
|
|
|
import android.view.MenuItem;
|
|
|
|
import android.view.MenuItem;
|
|
|
|
import android.view.View;
|
|
|
|
import android.view.View;
|
|
|
|
import android.view.Window;
|
|
|
|
|
|
|
|
import android.view.ContextMenu.ContextMenuInfo;
|
|
|
|
|
|
|
|
import android.view.View.OnClickListener;
|
|
|
|
import android.view.View.OnClickListener;
|
|
|
|
import android.view.View.OnKeyListener;
|
|
|
|
import android.view.View.OnKeyListener;
|
|
|
|
|
|
|
|
import android.view.Window;
|
|
|
|
import android.view.inputmethod.EditorInfo;
|
|
|
|
import android.view.inputmethod.EditorInfo;
|
|
|
|
import android.widget.AbsListView;
|
|
|
|
import android.widget.AbsListView;
|
|
|
|
|
|
|
|
import android.widget.AbsListView.OnScrollListener;
|
|
|
|
|
|
|
|
import android.widget.AdapterView.AdapterContextMenuInfo;
|
|
|
|
import android.widget.EditText;
|
|
|
|
import android.widget.EditText;
|
|
|
|
import android.widget.ImageButton;
|
|
|
|
import android.widget.ImageButton;
|
|
|
|
import android.widget.ImageView;
|
|
|
|
import android.widget.ImageView;
|
|
|
|
import android.widget.ListView;
|
|
|
|
import android.widget.ListView;
|
|
|
|
import android.widget.TextView;
|
|
|
|
import android.widget.TextView;
|
|
|
|
import android.widget.Toast;
|
|
|
|
|
|
|
|
import android.widget.AbsListView.OnScrollListener;
|
|
|
|
|
|
|
|
import android.widget.AdapterView.AdapterContextMenuInfo;
|
|
|
|
|
|
|
|
import android.widget.TextView.OnEditorActionListener;
|
|
|
|
import android.widget.TextView.OnEditorActionListener;
|
|
|
|
|
|
|
|
import android.widget.Toast;
|
|
|
|
|
|
|
|
|
|
|
|
import com.flurry.android.FlurryAgent;
|
|
|
|
import com.flurry.android.FlurryAgent;
|
|
|
|
import com.timsu.astrid.R;
|
|
|
|
import com.timsu.astrid.R;
|
|
|
@ -81,7 +88,7 @@ import com.todoroo.astrid.utility.Flags;
|
|
|
|
* @author Tim Su <tim@todoroo.com>
|
|
|
|
* @author Tim Su <tim@todoroo.com>
|
|
|
|
*
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
public class TaskListActivity extends ListActivity implements OnScrollListener {
|
|
|
|
public class TaskListActivity extends ListActivity implements OnScrollListener, OnGesturePerformedListener {
|
|
|
|
|
|
|
|
|
|
|
|
// --- activities
|
|
|
|
// --- activities
|
|
|
|
|
|
|
|
|
|
|
@ -136,6 +143,7 @@ public class TaskListActivity extends ListActivity implements OnScrollListener {
|
|
|
|
ImageButton quickAddButton;
|
|
|
|
ImageButton quickAddButton;
|
|
|
|
EditText quickAddBox;
|
|
|
|
EditText quickAddBox;
|
|
|
|
Filter filter;
|
|
|
|
Filter filter;
|
|
|
|
|
|
|
|
private GestureLibrary mLibrary;
|
|
|
|
|
|
|
|
|
|
|
|
/* ======================================================================
|
|
|
|
/* ======================================================================
|
|
|
|
* ======================================================= initialization
|
|
|
|
* ======================================================= initialization
|
|
|
@ -329,6 +337,12 @@ public class TaskListActivity extends ListActivity implements OnScrollListener {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// gestures
|
|
|
|
|
|
|
|
mLibrary = GestureLibraries.fromRawResource(this, R.raw.gestures);
|
|
|
|
|
|
|
|
if(mLibrary.load()) {
|
|
|
|
|
|
|
|
GestureOverlayView gestures = (GestureOverlayView) findViewById(R.id.gestures);
|
|
|
|
|
|
|
|
gestures.addOnGesturePerformedListener(this);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
@ -757,4 +771,24 @@ public class TaskListActivity extends ListActivity implements OnScrollListener {
|
|
|
|
return false;
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@SuppressWarnings("nls")
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) {
|
|
|
|
|
|
|
|
ArrayList<Prediction> predictions = mLibrary.recognize(gesture);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// We want at least one prediction
|
|
|
|
|
|
|
|
if (predictions.size() > 0) {
|
|
|
|
|
|
|
|
Prediction prediction = predictions.get(0);
|
|
|
|
|
|
|
|
// We want at least some confidence in the result
|
|
|
|
|
|
|
|
if (prediction.score > 1.0) {
|
|
|
|
|
|
|
|
if("nav_filters".equals(prediction.name)) {
|
|
|
|
|
|
|
|
Intent intent = new Intent(TaskListActivity.this,
|
|
|
|
|
|
|
|
FilterListActivity.class);
|
|
|
|
|
|
|
|
startActivity(intent);
|
|
|
|
|
|
|
|
finish();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|