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 // --- data loading
@Override @Override
protected void onNewIntent(Intent intent) { protected void initializeData() {
synchronized(this) { synchronized(this) {
if(dataLoaded) if(dataLoaded)
return; return;
@ -204,7 +204,7 @@ public class TagViewFragment extends TaskListFragment {
postLoadTagData(); postLoadTagData();
setUpMembersGallery(); setUpMembersGallery();
super.onNewIntent(intent); super.initializeData();
if (extras.getBoolean(TOKEN_START_ACTIVITY, false)) { if (extras.getBoolean(TOKEN_START_ACTIVITY, false)) {
extras.remove(TOKEN_START_ACTIVITY); extras.remove(TOKEN_START_ACTIVITY);

@ -27,7 +27,6 @@ import android.app.TimePickerDialog;
import android.app.TimePickerDialog.OnTimeSetListener; import android.app.TimePickerDialog.OnTimeSetListener;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
@ -90,9 +89,9 @@ public class NotificationFragment extends TaskListFragment implements OnTimeSetL
} }
@Override @Override
protected void onNewIntent(Intent intent) { protected void initializeData() {
displayNotificationPopup(); displayNotificationPopup();
super.onNewIntent(intent); super.initializeData();
} }
/** /**

@ -99,15 +99,6 @@ public class AstridActivity extends FragmentActivity
new StartupService().onStartupApplication(this); new StartupService().onStartupApplication(this);
} }
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
FilterListFragment frag = getFilterListFragment();
if (frag != null) {
frag.onNewIntent(intent);
}
}
@Override @Override
protected void onResume() { protected void onResume() {
super.onResume(); super.onResume();

@ -6,7 +6,6 @@ package com.todoroo.astrid.activity;
import android.app.Activity; import android.app.Activity;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.app.Dialog; import android.app.Dialog;
import android.app.SearchManager;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
@ -46,14 +45,11 @@ import com.timsu.astrid.R;
import com.todoroo.andlib.service.Autowired; import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.service.ExceptionService; 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.AndroidUtilities;
import com.todoroo.astrid.adapter.FilterAdapter; import com.todoroo.astrid.adapter.FilterAdapter;
import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.api.FilterListItem; import com.todoroo.astrid.api.FilterListItem;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.service.StatisticsService; import com.todoroo.astrid.service.StatisticsService;
import com.todoroo.astrid.tags.TagService; import com.todoroo.astrid.tags.TagService;
import com.todoroo.astrid.tags.TagsPlugin; import com.todoroo.astrid.tags.TagsPlugin;
@ -171,7 +167,8 @@ public class FilterListFragment extends ListFragment {
mDualFragments = true; mDualFragments = true;
mSelectedIndex = activity.getIntent().getIntExtra(TOKEN_LAST_SELECTED, 0); mSelectedIndex = activity.getIntent().getIntExtra(TOKEN_LAST_SELECTED, 0);
} }
onNewIntent(activity.getIntent());
setUpList();
if (mDualFragments) { if (mDualFragments) {
// In dual-pane mode, the list view highlights the selected item. // 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 * ============================================================ lifecycle
* ====================================================================== */ * ====================================================================== */

@ -1,6 +1,7 @@
package com.todoroo.astrid.activity; package com.todoroo.astrid.activity;
import android.app.Activity; import android.app.Activity;
import android.app.SearchManager;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
@ -25,6 +26,8 @@ import android.widget.PopupWindow.OnDismissListener;
import android.widget.TextView; import android.widget.TextView;
import com.timsu.astrid.R; 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.AndroidUtilities;
import com.todoroo.andlib.utility.DialogUtilities; import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.astrid.actfm.TagSettingsActivity; import com.todoroo.astrid.actfm.TagSettingsActivity;
@ -153,6 +156,15 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener
commentsButton.setOnClickListener(commentsButtonClickListener); commentsButton.setOnClickListener(commentsButtonClickListener);
Filter savedFilter = getIntent().getParcelableExtra(TaskListFragment.TOKEN_FILTER); 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) if (savedFilter == null)
savedFilter = CoreFilterExposer.buildInboxFilter(getResources()); savedFilter = CoreFilterExposer.buildInboxFilter(getResources());

@ -7,7 +7,6 @@ import java.util.concurrent.atomic.AtomicReference;
import android.app.Activity; import android.app.Activity;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.app.SearchManager;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; 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.ContextManager;
import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.service.ExceptionService; 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.AndroidUtilities;
import com.todoroo.andlib.utility.Preferences; import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.actfm.ActFmLoginActivity; import com.todoroo.astrid.actfm.ActFmLoginActivity;
@ -320,7 +317,7 @@ public class TaskListFragment extends ListFragment implements OnScrollListener,
syncActionHelper = new SyncActionHelper(getActivity(), this); syncActionHelper = new SyncActionHelper(getActivity(), this);
setUpUiComponents(); setUpUiComponents();
onNewIntent(getActivity().getIntent()); initializeData();
setupQuickAddBar(); setupQuickAddBar();
Fragment filterlistFrame = getFragmentManager().findFragmentByTag( Fragment filterlistFrame = getFragmentManager().findFragmentByTag(
@ -367,22 +364,8 @@ public class TaskListFragment extends ListFragment implements OnScrollListener,
return null; return null;
} }
protected void onNewIntent(Intent intent) { protected void initializeData() {
String intentAction = intent.getAction(); if (extras != null && extras.containsKey(TOKEN_FILTER)) {
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)) {
filter = extras.getParcelable(TOKEN_FILTER); filter = extras.getParcelable(TOKEN_FILTER);
extras.remove(TOKEN_FILTER); // Otherwise writing this filter to parcel gives infinite recursion extras.remove(TOKEN_FILTER); // Otherwise writing this filter to parcel gives infinite recursion
} else { } else {

Loading…
Cancel
Save