diff --git a/astrid/plugin-src/com/todoroo/astrid/actfm/EditPeopleControlSet.java b/astrid/plugin-src/com/todoroo/astrid/actfm/EditPeopleControlSet.java index 587acedae..98518bc14 100644 --- a/astrid/plugin-src/com/todoroo/astrid/actfm/EditPeopleControlSet.java +++ b/astrid/plugin-src/com/todoroo/astrid/actfm/EditPeopleControlSet.java @@ -697,6 +697,10 @@ public class EditPeopleControlSet extends PopupControlSet { return assignedToMe; } + public String getAssignedToString() { + return assignedDisplay.getText().toString(); + } + /** Resume save * @param data */ public void onActivityResult(int requestCode, int resultCode, Intent data) { diff --git a/astrid/plugin-src/com/todoroo/astrid/core/CustomFilterExposer.java b/astrid/plugin-src/com/todoroo/astrid/core/CustomFilterExposer.java index 09466f85e..f9067f4b7 100644 --- a/astrid/plugin-src/com/todoroo/astrid/core/CustomFilterExposer.java +++ b/astrid/plugin-src/com/todoroo/astrid/core/CustomFilterExposer.java @@ -29,6 +29,7 @@ import com.todoroo.astrid.activity.FilterListActivity; import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.api.AstridFilterExposer; import com.todoroo.astrid.api.Filter; +import com.todoroo.astrid.api.FilterCategory; import com.todoroo.astrid.api.FilterListItem; import com.todoroo.astrid.api.PermaSql; import com.todoroo.astrid.dao.StoreObjectDao; @@ -67,19 +68,12 @@ public final class CustomFilterExposer extends BroadcastReceiver implements Astr DependencyInjectionService.getInstance().inject(this); Resources r = context.getResources(); - //PendingIntent customFilterIntent = PendingIntent.getActivity(context, 0, - // new Intent(context, CustomFilterActivity.class), 0); - Filter[] savedFilters = buildSavedFilters(context, r); + FilterCategory heading = new FilterCategory(r.getString(R.string.BFE_Saved), savedFilters); - //FilterCategoryWithNewButton heading = new FilterCategoryWithNewButton(r.getString(R.string.BFE_Saved), savedFilters); - //heading.label = r.getString(R.string.tag_FEx_add_new); - //heading.intent = customFilterIntent; - - - //FilterListItem[] list = new FilterListItem[1]; - //list[0] = heading; - return savedFilters; + FilterListItem[] list = new FilterListItem[1]; + list[0] = heading; + return list; } private Filter[] buildSavedFilters(Context context, Resources r) { diff --git a/astrid/res/values/strings-actfm.xml b/astrid/res/values/strings-actfm.xml index c1af3f278..8e49d317b 100644 --- a/astrid/res/values/strings-actfm.xml +++ b/astrid/res/values/strings-actfm.xml @@ -33,6 +33,18 @@ Refresh Lists + + + View Task? + + + Task was sent to %s. Would you like to view it? + + + View + + + Don\'t View diff --git a/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java b/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java index cef135406..9275bead6 100755 --- a/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java @@ -154,7 +154,9 @@ public final class TaskEditActivity extends Activity { public static final String OVERRIDE_FINISH_ANIM = "finishAnim"; //$NON-NLS-1$ - public static final String TASK_WAS_ASSIGNED = "task_assigned"; //$NON-NLS-1$ + public static final String TOKEN_TASK_WAS_ASSIGNED = "task_assigned"; //$NON-NLS-1$ + + public static final String TOKEN_ASSIGNED_TO = "task_assigned_to"; //$NON-NLS-1$ // --- services @@ -666,7 +668,8 @@ public final class TaskEditActivity extends Activity { if (!onPause && !cancelFinish) { if (!peopleControlSet.isAssignedToMe()) { Intent data = new Intent(); - data.putExtra(TASK_WAS_ASSIGNED, true); + data.putExtra(TOKEN_TASK_WAS_ASSIGNED, true); + data.putExtra(TOKEN_ASSIGNED_TO, peopleControlSet.getAssignedToString()); setResult(RESULT_OK, data); } diff --git a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java index f9a7a249a..1fba67cc2 100644 --- a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java @@ -69,6 +69,7 @@ import com.todoroo.andlib.sql.Functions; import com.todoroo.andlib.sql.QueryTemplate; import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.DateUtilities; +import com.todoroo.andlib.utility.DialogUtilities; import com.todoroo.andlib.utility.Preferences; import com.todoroo.andlib.widget.GestureService; import com.todoroo.andlib.widget.GestureService.GestureInterface; @@ -745,8 +746,9 @@ public class TaskListActivity extends ListActivity implements OnScrollListener, } if(resultCode != RESULT_CANCELED) { - if (data.hasExtra(TaskEditActivity.TASK_WAS_ASSIGNED) && data.getBooleanExtra(TaskEditActivity.TASK_WAS_ASSIGNED, false) && !isFilter) { - switchToAssignedFilter(); + if (data.hasExtra(TaskEditActivity.TOKEN_TASK_WAS_ASSIGNED) && data.getBooleanExtra(TaskEditActivity.TOKEN_TASK_WAS_ASSIGNED, false) && !isFilter) { + String assignedTo = data.getStringExtra(TaskEditActivity.TOKEN_ASSIGNED_TO); + switchToAssignedFilter(assignedTo); } else { taskAdapter.flushCaches(); loadTaskListContent(true); @@ -755,23 +757,21 @@ public class TaskListActivity extends ListActivity implements OnScrollListener, } } - private void switchToAssignedFilter() { - new Thread(new Runnable() { + private void switchToAssignedFilter(final String assignedEmail) { + DialogInterface.OnClickListener okListener = new DialogInterface.OnClickListener() { @Override - public void run() { - AndroidUtilities.sleepDeep(250); - runOnUiThread(new Runnable() { - @Override - public void run() { - Intent intent = new Intent(TaskListActivity.this, TaskListActivity.class); - intent.putExtra(TaskListActivity.TOKEN_FILTER, CustomFilterExposer.getAssignedByMeFilter(getResources())); - intent.putExtra(TaskListActivity.TOKEN_OVERRIDE_ANIM, true); - startActivityForResult(intent, 0); - transitionForTaskEdit(); - } - }); + public void onClick(DialogInterface dialog, int which) { + Intent intent = new Intent(TaskListActivity.this, TaskListActivity.class); + intent.putExtra(TaskListActivity.TOKEN_FILTER, CustomFilterExposer.getAssignedByMeFilter(getResources())); + intent.putExtra(TaskListActivity.TOKEN_OVERRIDE_ANIM, true); + startActivityForResult(intent, 0); + transitionForTaskEdit(); } - }).start(); + }; + DialogUtilities.okCancelCustomDialog(this, + getString(R.string.actfm_view_task_title), getString(R.string.actfm_view_task_text, assignedEmail), + R.string.actfm_view_task_ok, R.string.actfm_view_task_cancel, 0, + okListener, null); } public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount,