From 5952959d86119e9a812ac36136d0f7df6e056651 Mon Sep 17 00:00:00 2001 From: Sam Bosley Date: Wed, 11 Apr 2012 17:33:54 -0700 Subject: [PATCH] Bugfixes to search and unecessary code cleanup --- .../todoroo/astrid/actfm/TagViewFragment.java | 4 +-- .../reminders/NotificationFragment.java | 5 ++-- .../astrid/activity/AstridActivity.java | 9 ------ .../astrid/activity/FilterListFragment.java | 30 ++----------------- .../astrid/activity/TaskListActivity.java | 12 ++++++++ .../astrid/activity/TaskListFragment.java | 23 ++------------ 6 files changed, 21 insertions(+), 62 deletions(-) diff --git a/astrid/plugin-src/com/todoroo/astrid/actfm/TagViewFragment.java b/astrid/plugin-src/com/todoroo/astrid/actfm/TagViewFragment.java index b22c79175..15d8d76ff 100644 --- a/astrid/plugin-src/com/todoroo/astrid/actfm/TagViewFragment.java +++ b/astrid/plugin-src/com/todoroo/astrid/actfm/TagViewFragment.java @@ -171,7 +171,7 @@ public class TagViewFragment extends TaskListFragment { // --- data loading @Override - protected void onNewIntent(Intent intent) { + protected void initializeData() { synchronized(this) { if(dataLoaded) return; @@ -204,7 +204,7 @@ public class TagViewFragment extends TaskListFragment { postLoadTagData(); setUpMembersGallery(); - super.onNewIntent(intent); + super.initializeData(); if (extras.getBoolean(TOKEN_START_ACTIVITY, false)) { extras.remove(TOKEN_START_ACTIVITY); diff --git a/astrid/plugin-src/com/todoroo/astrid/reminders/NotificationFragment.java b/astrid/plugin-src/com/todoroo/astrid/reminders/NotificationFragment.java index 74552f416..b8de894d6 100644 --- a/astrid/plugin-src/com/todoroo/astrid/reminders/NotificationFragment.java +++ b/astrid/plugin-src/com/todoroo/astrid/reminders/NotificationFragment.java @@ -27,7 +27,6 @@ import android.app.TimePickerDialog; import android.app.TimePickerDialog.OnTimeSetListener; import android.content.Context; import android.content.DialogInterface; -import android.content.Intent; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; @@ -90,9 +89,9 @@ public class NotificationFragment extends TaskListFragment implements OnTimeSetL } @Override - protected void onNewIntent(Intent intent) { + protected void initializeData() { displayNotificationPopup(); - super.onNewIntent(intent); + super.initializeData(); } /** diff --git a/astrid/src/com/todoroo/astrid/activity/AstridActivity.java b/astrid/src/com/todoroo/astrid/activity/AstridActivity.java index ba06de60b..7d6296da3 100644 --- a/astrid/src/com/todoroo/astrid/activity/AstridActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/AstridActivity.java @@ -99,15 +99,6 @@ public class AstridActivity extends FragmentActivity new StartupService().onStartupApplication(this); } - @Override - protected void onNewIntent(Intent intent) { - super.onNewIntent(intent); - FilterListFragment frag = getFilterListFragment(); - if (frag != null) { - frag.onNewIntent(intent); - } - } - @Override protected void onResume() { super.onResume(); diff --git a/astrid/src/com/todoroo/astrid/activity/FilterListFragment.java b/astrid/src/com/todoroo/astrid/activity/FilterListFragment.java index ce44160ae..e3b094947 100644 --- a/astrid/src/com/todoroo/astrid/activity/FilterListFragment.java +++ b/astrid/src/com/todoroo/astrid/activity/FilterListFragment.java @@ -6,7 +6,6 @@ package com.todoroo.astrid.activity; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; -import android.app.SearchManager; import android.content.BroadcastReceiver; import android.content.Context; import android.content.DialogInterface; @@ -46,14 +45,11 @@ import com.timsu.astrid.R; import com.todoroo.andlib.service.Autowired; import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.andlib.service.ExceptionService; -import com.todoroo.andlib.sql.Functions; -import com.todoroo.andlib.sql.QueryTemplate; import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.astrid.adapter.FilterAdapter; import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.FilterListItem; -import com.todoroo.astrid.data.Task; import com.todoroo.astrid.service.StatisticsService; import com.todoroo.astrid.tags.TagService; import com.todoroo.astrid.tags.TagsPlugin; @@ -171,7 +167,8 @@ public class FilterListFragment extends ListFragment { mDualFragments = true; mSelectedIndex = activity.getIntent().getIntExtra(TOKEN_LAST_SELECTED, 0); } - onNewIntent(activity.getIntent()); + + setUpList(); if (mDualFragments) { // In dual-pane mode, the list view highlights the selected item. @@ -180,29 +177,6 @@ public class FilterListFragment extends ListFragment { } } - /** - * Called when receiving a new intent. Intents this class handles: - * - */ - public void onNewIntent(Intent intent) { - final String intentAction = intent.getAction(); - if (Intent.ACTION_SEARCH.equals(intentAction)) { - String query = intent.getStringExtra(SearchManager.QUERY).trim(); - Filter filter = new Filter(null, getString(R.string.FLA_search_filter, query), - new QueryTemplate().where(Functions.upper(Task.TITLE).like("%" + //$NON-NLS-1$ - query.toUpperCase() + "%")), //$NON-NLS-1$ - null); - intent = new Intent(getActivity(), TaskListActivity.class); - intent.putExtra(TaskListFragment.TOKEN_FILTER, filter); - startActivity(intent); - } else { - setUpList(); - } - } - /* ====================================================================== * ============================================================ lifecycle * ====================================================================== */ diff --git a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java index 0d50701b0..f47192cc1 100644 --- a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java @@ -1,6 +1,7 @@ package com.todoroo.astrid.activity; import android.app.Activity; +import android.app.SearchManager; import android.content.BroadcastReceiver; import android.content.Context; import android.content.DialogInterface; @@ -25,6 +26,8 @@ import android.widget.PopupWindow.OnDismissListener; import android.widget.TextView; import com.timsu.astrid.R; +import com.todoroo.andlib.sql.Functions; +import com.todoroo.andlib.sql.QueryTemplate; import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.DialogUtilities; import com.todoroo.astrid.actfm.TagSettingsActivity; @@ -153,6 +156,15 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener commentsButton.setOnClickListener(commentsButtonClickListener); Filter savedFilter = getIntent().getParcelableExtra(TaskListFragment.TOKEN_FILTER); + if (Intent.ACTION_SEARCH.equals(getIntent().getAction())) { + String query = getIntent().getStringExtra(SearchManager.QUERY).trim(); + String title = getString(R.string.FLA_search_filter, query); + savedFilter = new Filter(title, title, + new QueryTemplate().where(Functions.upper(Task.TITLE).like( + "%" + //$NON-NLS-1$ + query.toUpperCase() + "%")), //$NON-NLS-1$ + null); + } if (savedFilter == null) savedFilter = CoreFilterExposer.buildInboxFilter(getResources()); diff --git a/astrid/src/com/todoroo/astrid/activity/TaskListFragment.java b/astrid/src/com/todoroo/astrid/activity/TaskListFragment.java index f56e560d4..402d1a34d 100644 --- a/astrid/src/com/todoroo/astrid/activity/TaskListFragment.java +++ b/astrid/src/com/todoroo/astrid/activity/TaskListFragment.java @@ -7,7 +7,6 @@ import java.util.concurrent.atomic.AtomicReference; import android.app.Activity; import android.app.AlertDialog; -import android.app.SearchManager; import android.content.BroadcastReceiver; import android.content.Context; import android.content.DialogInterface; @@ -55,8 +54,6 @@ import com.todoroo.andlib.service.Autowired; import com.todoroo.andlib.service.ContextManager; import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.andlib.service.ExceptionService; -import com.todoroo.andlib.sql.Functions; -import com.todoroo.andlib.sql.QueryTemplate; import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.Preferences; import com.todoroo.astrid.actfm.ActFmLoginActivity; @@ -320,7 +317,7 @@ public class TaskListFragment extends ListFragment implements OnScrollListener, syncActionHelper = new SyncActionHelper(getActivity(), this); setUpUiComponents(); - onNewIntent(getActivity().getIntent()); + initializeData(); setupQuickAddBar(); Fragment filterlistFrame = getFragmentManager().findFragmentByTag( @@ -367,22 +364,8 @@ public class TaskListFragment extends ListFragment implements OnScrollListener, return null; } - protected void onNewIntent(Intent intent) { - String intentAction = intent.getAction(); - if (Intent.ACTION_SEARCH.equals(intentAction)) { - String query = intent.getStringExtra(SearchManager.QUERY).trim(); - Filter searchFilter = new Filter(null, getString( - R.string.FLA_search_filter, query), - new QueryTemplate().where(Functions.upper(Task.TITLE).like( - "%" + //$NON-NLS-1$ - query.toUpperCase() + "%")), //$NON-NLS-1$ - null); - Intent searchIntent = new Intent(getActivity(), TaskListActivity.class); - searchIntent.putExtra(TaskListFragment.TOKEN_FILTER, searchFilter); - startActivity(searchIntent); - getActivity().finish(); - return; - } else if (extras != null && extras.containsKey(TOKEN_FILTER)) { + protected void initializeData() { + if (extras != null && extras.containsKey(TOKEN_FILTER)) { filter = extras.getParcelable(TOKEN_FILTER); extras.remove(TOKEN_FILTER); // Otherwise writing this filter to parcel gives infinite recursion } else {