Gesture detector, fixed crash with Locale edit alerts

pull/14/head
Tim Su 14 years ago
parent 98273affd6
commit 77bf55d6ad

@ -110,7 +110,9 @@ public class DateUtilities {
}
/**
* @return string used for time formatting
* @param context android context
* @param date time to format
* @return time, with hours and minutes
*/
@SuppressWarnings("nls")
public static String getTimeString(Context context, Date date) {
@ -125,7 +127,8 @@ public class DateUtilities {
/**
* @param context android context
* @return string used for date formatting
* @param date date to format
* @return date, with month, day, and year
*/
@SuppressWarnings("nls")
public static String getDateString(Context context, Date date) {

@ -16,6 +16,7 @@ import android.widget.Spinner;
import com.flurry.android.FlurryAgent;
import com.timsu.astrid.R;
import com.todoroo.andlib.service.ContextManager;
import com.todoroo.astrid.activity.AddOnActivity;
import com.todoroo.astrid.adapter.FilterAdapter;
import com.todoroo.astrid.api.Filter;
@ -96,6 +97,8 @@ public final class LocaleEditAlerts extends ExpandableListActivity {
super.onCreate(savedInstanceState);
setContentView(R.layout.locale_edit_alerts);
ContextManager.setContext(this);
/*
* Locale guarantees that the breadcrumb string will be present, but checking for null anyway makes your Activity more
* robust and re-usable

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

@ -36,11 +36,15 @@
</LinearLayout>
<!-- Body -->
<FrameLayout
<android.gesture.GestureOverlayView android:id="@+id/gestures"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="100">
android:layout_weight="100"
android:gestureStrokeType="multiple"
android:eventsInterceptionEnabled="true"
android:orientation="vertical">
<!-- No Tasks label -->
<TextView android:id="@android:id/empty"
@ -57,7 +61,7 @@
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
</FrameLayout>
</android.gesture.GestureOverlayView>
<!-- Footer -->
<LinearLayout
@ -95,6 +99,5 @@
android:scaleType="fitCenter"/>
</LinearLayout>
</LinearLayout>

Binary file not shown.

@ -1,5 +1,6 @@
package com.todoroo.astrid.activity;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map.Entry;
@ -15,31 +16,37 @@ import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
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.os.Bundle;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.Window;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.View.OnClickListener;
import android.view.View.OnKeyListener;
import android.view.Window;
import android.view.inputmethod.EditorInfo;
import android.widget.AbsListView;
import android.widget.AbsListView.OnScrollListener;
import android.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.ListView;
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.Toast;
import com.flurry.android.FlurryAgent;
import com.timsu.astrid.R;
@ -81,7 +88,7 @@ import com.todoroo.astrid.utility.Flags;
* @author Tim Su <tim@todoroo.com>
*
*/
public class TaskListActivity extends ListActivity implements OnScrollListener {
public class TaskListActivity extends ListActivity implements OnScrollListener, OnGesturePerformedListener {
// --- activities
@ -136,6 +143,7 @@ public class TaskListActivity extends ListActivity implements OnScrollListener {
ImageButton quickAddButton;
EditText quickAddBox;
Filter filter;
private GestureLibrary mLibrary;
/* ======================================================================
* ======================================================= 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;
}
@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();
}
}
}
}
}

@ -82,6 +82,7 @@ public class Preferences {
/** Get preferences object from the context */
public static SharedPreferences getPrefs(Context context) {
context = context.getApplicationContext();
return PreferenceManager.getDefaultSharedPreferences(context);
}

Loading…
Cancel
Save