From ee10cb7dd618a89b68f18a53fa4551deb98a3641 Mon Sep 17 00:00:00 2001 From: Tim Su Date: Fri, 6 Feb 2009 06:32:34 +0000 Subject: [PATCH] Made expand->select only happen in certain circumstances. Fixed the notification icon to be clickable multiple times. Added survey option --- AndroidManifest.xml | 4 ++-- res/values/strings.xml | 3 ++- src/com/timsu/astrid/activities/TaskListAdapter.java | 8 +++++++- src/com/timsu/astrid/activities/TaskListNotify.java | 11 +++++++++++ .../timsu/astrid/activities/TaskListSubActivity.java | 10 ++++++++++ src/com/timsu/astrid/utilities/Constants.java | 4 ++++ src/com/timsu/astrid/utilities/Notifications.java | 2 +- 7 files changed, 37 insertions(+), 5 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 2a7c301ef..900e6cffb 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1,8 +1,8 @@ + android:versionCode="80" + android:versionName="2.2.9"> diff --git a/res/values/strings.xml b/res/values/strings.xml index df0a0ae3b..d8f78f121 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -102,7 +102,7 @@ Finished Estimated: Spent: - Reminder Every + Poke Every Repeats Every Next Alarm: Tags: @@ -117,6 +117,7 @@ Synchronization Settings Help + Take Astrid\'s Survey! Edit Task Delete Task diff --git a/src/com/timsu/astrid/activities/TaskListAdapter.java b/src/com/timsu/astrid/activities/TaskListAdapter.java index 411100ed4..745a5c451 100644 --- a/src/com/timsu/astrid/activities/TaskListAdapter.java +++ b/src/com/timsu/astrid/activities/TaskListAdapter.java @@ -163,7 +163,13 @@ public class TaskListAdapter extends ArrayAdapter { if(view != null) { setFieldContentsAndVisibility(view, task); - ((ListView)view.getParent()).setSelection(objects.indexOf(task)); + + // if the item is near the bottom of the list, we need to give + // it focus so that the list knows there's new stuff down there + int position = objects.indexOf(task); + if(objects.size() - position < 2) + ((ListView)view.getParent()).setSelection(position); + view.requestFocus(); } } catch (Exception e) { Log.e("astrid", "Error in setExpanded", e); diff --git a/src/com/timsu/astrid/activities/TaskListNotify.java b/src/com/timsu/astrid/activities/TaskListNotify.java index 615c3bcb2..5aa99cb8c 100644 --- a/src/com/timsu/astrid/activities/TaskListNotify.java +++ b/src/com/timsu/astrid/activities/TaskListNotify.java @@ -16,4 +16,15 @@ public class TaskListNotify extends Activity { finish(); } + + @Override + protected void onNewIntent(Intent intent) { + super.onNewIntent(intent); + + Intent taskListIntent = new Intent(this, TaskList.class); + taskListIntent.putExtra(TaskList.VARIABLES_TAG, intent.getExtras()); + startActivity(taskListIntent); + + finish(); + } } diff --git a/src/com/timsu/astrid/activities/TaskListSubActivity.java b/src/com/timsu/astrid/activities/TaskListSubActivity.java index b2bc63c03..1532b85c1 100644 --- a/src/com/timsu/astrid/activities/TaskListSubActivity.java +++ b/src/com/timsu/astrid/activities/TaskListSubActivity.java @@ -98,6 +98,7 @@ public class TaskListSubActivity extends SubActivity { private static final int OPTIONS_SYNC_ID = Menu.FIRST + 10; private static final int OPTIONS_SETTINGS_ID = Menu.FIRST + 11; private static final int OPTIONS_HELP_ID = Menu.FIRST + 12; + private static final int OPTIONS_SURVEY_ID = Menu.FIRST + 13; private static final int CONTEXT_FILTER_HIDDEN = Menu.FIRST + 20; private static final int CONTEXT_FILTER_DONE = Menu.FIRST + 21; @@ -250,6 +251,10 @@ public class TaskListSubActivity extends SubActivity { R.string.taskList_menu_help); item.setAlphabeticShortcut('h'); + item = menu.add(Menu.NONE, OPTIONS_SURVEY_ID, Menu.NONE, + R.string.taskList_menu_survey); + item.setAlphabeticShortcut('h'); + return true; } @@ -755,6 +760,11 @@ public class TaskListSubActivity extends SubActivity { Uri.parse(Constants.HELP_URL)); launchActivity(browserIntent, 0); return true; + case OPTIONS_SURVEY_ID: + browserIntent = new Intent(Intent.ACTION_VIEW, + Uri.parse(Constants.SURVEY_URL)); + launchActivity(browserIntent, 0); + return true; // --- list context menu items case TaskListAdapter.CONTEXT_EDIT_ID: diff --git a/src/com/timsu/astrid/utilities/Constants.java b/src/com/timsu/astrid/utilities/Constants.java index 0c5d2283f..ae6363d0d 100644 --- a/src/com/timsu/astrid/utilities/Constants.java +++ b/src/com/timsu/astrid/utilities/Constants.java @@ -7,8 +7,12 @@ public class Constants { // application constants + /** URL of Astrid Help Page */ public static final String HELP_URL = "http://code.google.com/p/android-astrid/wiki/UserGuide"; + /** URL of Astrid Feature Survey */ + public static final String SURVEY_URL = "http://www.haveasec.com/survey/m/detail/welcome/bf25e0/"; + // result codes /** Return to the task list view */ diff --git a/src/com/timsu/astrid/utilities/Notifications.java b/src/com/timsu/astrid/utilities/Notifications.java index 5f47ceee1..3c5fd6cdd 100644 --- a/src/com/timsu/astrid/utilities/Notifications.java +++ b/src/com/timsu/astrid/utilities/Notifications.java @@ -449,7 +449,7 @@ public class Notifications extends BroadcastReceiver { notifyIntent.putExtra(TaskListSubActivity.LOAD_INSTANCE_TOKEN, taskId.getId()); notifyIntent.putExtra(TaskListSubActivity.FROM_NOTIFICATION_TOKEN, true); PendingIntent pendingIntent = PendingIntent.getActivity(context, - (int)taskId.getId(), notifyIntent, PendingIntent.FLAG_ONE_SHOT); + (int)taskId.getId(), notifyIntent, 0); // create notification object String appName = r.getString(R.string.app_name);