Bugfixes to search and unecessary code cleanup

pull/14/head
Sam Bosley 12 years ago
parent 7451ca813e
commit 5952959d86

@ -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);

@ -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();
}
/**

@ -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();

@ -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:
* <ul>
* <li>ACTION_SEARCH - displays a search bar
* <li>ACTION_ADD_LIST - adds new lists to the merge adapter
* </ul>
*/
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
* ====================================================================== */

@ -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());

@ -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 {

Loading…
Cancel
Save