From a2153ea2378e806205ae0c631bf1a471b113f000 Mon Sep 17 00:00:00 2001 From: Sam Bosley Date: Tue, 1 May 2012 17:02:12 -0700 Subject: [PATCH] Fixed bugs in widget not using customExtras --- .../task_edit_wrapper_activity_3pane.xml | 37 ------------------- .../astrid/activity/TaskEditActivity.java | 5 +-- .../astrid/activity/TaskListActivity.java | 8 +++- .../astrid/activity/TaskListFragment.java | 3 +- .../com/todoroo/astrid/ui/QuickAddBar.java | 4 ++ .../todoroo/astrid/widget/TasksWidget.java | 24 +++++++++--- 6 files changed, 31 insertions(+), 50 deletions(-) delete mode 100644 astrid/res/layout/task_edit_wrapper_activity_3pane.xml diff --git a/astrid/res/layout/task_edit_wrapper_activity_3pane.xml b/astrid/res/layout/task_edit_wrapper_activity_3pane.xml deleted file mode 100644 index 172229c9c..000000000 --- a/astrid/res/layout/task_edit_wrapper_activity_3pane.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java b/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java index 9d41f37ef..4cc730c0d 100644 --- a/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java @@ -18,10 +18,7 @@ public class TaskEditActivity extends AstridActivity { protected void onCreate(Bundle savedInstanceState) { ThemeService.applyTheme(this); super.onCreate(savedInstanceState); - if (AndroidUtilities.isTabletSized(this)) - setContentView(R.layout.task_edit_wrapper_activity_3pane); - else - setContentView(R.layout.task_edit_wrapper_activity); + setContentView(R.layout.task_edit_wrapper_activity); ActionBar actionBar = getSupportActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); diff --git a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java index 99ab14c73..34b68d1c5 100644 --- a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java @@ -402,8 +402,12 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener onTaskListItemClicked(id); } else { TaskListFragment tlf = getTaskListFragment(); - if (tlf != null) - tlf.quickAddBar.quickAddTask("", true); //$NON-NLS-1$ + if (tlf != null) { + System.err.println("Adding task"); + Task result = tlf.quickAddBar.quickAddTask("", true); //$NON-NLS-1$ + if (result != null) + onTaskListItemClicked(result.getId()); + } } getIntent().removeExtra(OPEN_TASK); } diff --git a/astrid/src/com/todoroo/astrid/activity/TaskListFragment.java b/astrid/src/com/todoroo/astrid/activity/TaskListFragment.java index ab862e227..834b4c8f5 100644 --- a/astrid/src/com/todoroo/astrid/activity/TaskListFragment.java +++ b/astrid/src/com/todoroo/astrid/activity/TaskListFragment.java @@ -315,7 +315,7 @@ public class TaskListFragment extends ListFragment implements OnScrollListener, super.onActivityCreated(savedInstanceState); // We have a menu item to show in action bar. setHasOptionsMenu(true); - + System.err.println("Initializing fragment"); syncActionHelper = new SyncActionHelper(getActivity(), this); setUpUiComponents(); initializeData(); @@ -368,6 +368,7 @@ public class TaskListFragment extends ListFragment implements OnScrollListener, protected void initializeData() { if (extras != null && extras.containsKey(TOKEN_FILTER)) { filter = extras.getParcelable(TOKEN_FILTER); + System.err.println("Filter on init: " + filter); extras.remove(TOKEN_FILTER); // Otherwise writing this filter to parcel gives infinite recursion } else { filter = CoreFilterExposer.buildInboxFilter(getResources()); diff --git a/astrid/src/com/todoroo/astrid/ui/QuickAddBar.java b/astrid/src/com/todoroo/astrid/ui/QuickAddBar.java index 4a23a367e..53f75d30e 100644 --- a/astrid/src/com/todoroo/astrid/ui/QuickAddBar.java +++ b/astrid/src/com/todoroo/astrid/ui/QuickAddBar.java @@ -285,6 +285,10 @@ public class QuickAddBar extends LinearLayout { peopleControl.saveSharingSettings(null); } + System.err.println("Fragment: " + fragment); + if (fragment != null) + System.err.println("Filter: " + fragment.getFilter()); + TaskService.createWithValues(task, fragment.getFilter().valuesForNewTasks, title, taskService, metadataService); diff --git a/astrid/src/com/todoroo/astrid/widget/TasksWidget.java b/astrid/src/com/todoroo/astrid/widget/TasksWidget.java index 0ff8bd888..4410fdf6a 100644 --- a/astrid/src/com/todoroo/astrid/widget/TasksWidget.java +++ b/astrid/src/com/todoroo/astrid/widget/TasksWidget.java @@ -227,6 +227,10 @@ public class TasksWidget extends AppWidgetProvider { } else { listIntent.setAction("L" + widgetId); } + if (filter instanceof FilterWithCustomIntent) { + listIntent.putExtras(((FilterWithCustomIntent) filter).customExtras); + } + PendingIntent pListIntent = PendingIntent.getActivity(context, widgetId, listIntent, PendingIntent.FLAG_CANCEL_CURRENT); if (pListIntent != null) @@ -235,8 +239,10 @@ public class TasksWidget extends AppWidgetProvider { Intent editIntent; boolean tablet = AndroidUtilities.isTabletSized(context); - if (tablet) + if (tablet) { editIntent = new Intent(context, TaskListActivity.class); + editIntent.putExtra(TaskListActivity.OPEN_TASK, 0L); + } else editIntent = new Intent(context, TaskEditActivity.class); @@ -244,11 +250,17 @@ public class TasksWidget extends AppWidgetProvider { editIntent.putExtra(TaskEditFragment.OVERRIDE_FINISH_ANIM, false); if(filter != null) { editIntent.putExtra(TaskListFragment.TOKEN_FILTER, filter); - if (filter.valuesForNewTasks != null && tablet) { - String values = AndroidUtilities.contentValuesToSerializedString(filter.valuesForNewTasks); - values = PermaSql.replacePlaceholders(values); - editIntent.putExtra(TaskEditFragment.TOKEN_VALUES, values); - editIntent.setAction("E" + widgetId + values); + if (tablet) { + if (filter.valuesForNewTasks != null) { + String values = AndroidUtilities.contentValuesToSerializedString(filter.valuesForNewTasks); + values = PermaSql.replacePlaceholders(values); + editIntent.putExtra(TaskEditFragment.TOKEN_VALUES, values); + editIntent.setAction("E" + widgetId + values); + } + if (filter instanceof FilterWithCustomIntent) { + Bundle customExtras = ((FilterWithCustomIntent) filter).customExtras; + editIntent.putExtras(customExtras); + } } } else { editIntent.setAction("E" + widgetId);