Fixed a bunch of bugs with behavior when creating new lists

pull/14/head
Sam Bosley 14 years ago
parent 6e15d95a6e
commit 2cdf3f9f62

@ -49,6 +49,8 @@ import com.todoroo.astrid.welcome.HelpInfoPopover;
public class TagSettingsActivity extends FragmentActivity { public class TagSettingsActivity extends FragmentActivity {
public static final String TOKEN_NEW_FILTER = "newFilter";
private static final int MENU_SAVE_ID = R.string.TEA_menu_save; private static final int MENU_SAVE_ID = R.string.TEA_menu_save;
private static final int MENU_DISCARD_ID = R.string.TEA_menu_discard; private static final int MENU_DISCARD_ID = R.string.TEA_menu_discard;
@ -210,16 +212,11 @@ public class TagSettingsActivity extends FragmentActivity {
Flags.set(Flags.ACTFM_SUPPRESS_SYNC); Flags.set(Flags.ACTFM_SUPPRESS_SYNC);
tagDataService.save(tagData); tagDataService.save(tagData);
final String name = newName;
final Runnable loadTag = new Runnable() { final Runnable loadTag = new Runnable() {
@Override @Override
public void run() { public void run() {
Intent intent = new Intent(TagSettingsActivity.this, TagViewActivity.class); setResult(RESULT_OK, new Intent().putExtra(TOKEN_NEW_FILTER, TagFilterExposer.filterFromTagData(TagSettingsActivity.this, tagData)));
intent.putExtra(TagViewActivity.EXTRA_TAG_NAME, name);
intent.putExtra(TagViewActivity.TOKEN_FILTER,
TagFilterExposer.filterFromTagData(TagSettingsActivity.this, tagData));
finish(); finish();
startActivity(intent);
} }
}; };

@ -241,9 +241,11 @@ public class TagViewActivity extends TaskListActivity {
@Override @Override
protected void initiateAutomaticSync() { protected void initiateAutomaticSync() {
long lastAutoSync = Preferences.getLong(LAST_FETCH_KEY + tagData.getId(), 0); if (tagData != null) {
if(DateUtilities.now() - lastAutoSync > DateUtilities.ONE_HOUR) long lastAutoSync = Preferences.getLong(LAST_FETCH_KEY + tagData.getId(), 0);
refreshData(false); if(DateUtilities.now() - lastAutoSync > DateUtilities.ONE_HOUR)
refreshData(false);
}
} }
/** refresh the list with latest data from the web */ /** refresh the list with latest data from the web */

@ -87,6 +87,7 @@ public class FilterListActivity extends ListFragment {
private static final int REQUEST_CUSTOM_INTENT = 1; private static final int REQUEST_CUSTOM_INTENT = 1;
static final int REQUEST_VIEW_TASKS = 2; static final int REQUEST_VIEW_TASKS = 2;
public static final int REQUEST_NEW_BUTTON = 3; public static final int REQUEST_NEW_BUTTON = 3;
public static final int REQUEST_NEW_LIST = 4;
// --- instance variables // --- instance variables
@ -174,7 +175,7 @@ public class FilterListActivity extends ListFragment {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
Intent intent = TagsPlugin.newTagDialog(getActivity()); Intent intent = TagsPlugin.newTagDialog(getActivity());
startActivity(intent); getActivity().startActivityForResult(intent, REQUEST_NEW_LIST);
AndroidUtilities.callOverridePendingTransition(getActivity(), R.anim.slide_left_in, R.anim.slide_left_out); AndroidUtilities.callOverridePendingTransition(getActivity(), R.anim.slide_left_in, R.anim.slide_left_out);
} }
}); });
@ -487,13 +488,9 @@ public class FilterListActivity extends ListFragment {
.show().setOwnerActivity(getActivity()); .show().setOwnerActivity(getActivity());
} }
@Override public void refresh() {
public void onActivityResult(int requestCode, int resultCode, Intent data) { adapter.clear();
if(resultCode != Activity.RESULT_CANCELED) adapter.getLists();
// will get lists automatically
adapter.clear();
super.onActivityResult(requestCode, resultCode, data);
} }
/** /**
@ -511,8 +508,7 @@ public class FilterListActivity extends ListFragment {
getActivity().runOnUiThread(new Runnable() { getActivity().runOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
adapter.clear(); refresh();
adapter.getLists();
} }
}); });
} }

@ -1,5 +1,7 @@
package com.todoroo.astrid.activity; package com.todoroo.astrid.activity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.support.v4.app.ActionBar; import android.support.v4.app.ActionBar;
import android.view.View; import android.view.View;
@ -10,6 +12,7 @@ import android.widget.TextView;
import com.timsu.astrid.R; import com.timsu.astrid.R;
import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.astrid.actfm.TagSettingsActivity;
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.service.ThemeService; import com.todoroo.astrid.service.ThemeService;
@ -44,7 +47,7 @@ public class TaskListWrapperActivity extends AstridWrapperActivity {
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
actionBar.setCustomView(R.layout.header_nav_views); actionBar.setCustomView(R.layout.header_nav_views);
listsNav = actionBar.getCustomView().findViewById(R.id.lists_nav); listsNav = actionBar.getCustomView().findViewById(R.id.lists_nav);
lists = (TextView) actionBar.getCustomView().findViewById(R.id.list_title); lists = (TextView) actionBar.getCustomView().findViewById(R.id.list_title);
View container = findViewById(R.id.filterlist_fragment_container); View container = findViewById(R.id.filterlist_fragment_container);
@ -60,11 +63,6 @@ public class TaskListWrapperActivity extends AstridWrapperActivity {
createPopover(); createPopover();
} }
Filter savedFilter = getIntent().getParcelableExtra(TaskListActivity.TOKEN_FILTER);
setupTasklistFragmentWithFilter(savedFilter);
if (savedFilter != null)
lists.setText(savedFilter.title);
setupFilterlistFragment();
} }
private void createPopover() { private void createPopover() {
@ -109,6 +107,16 @@ public class TaskListWrapperActivity extends AstridWrapperActivity {
@Override @Override
protected void onResume() { protected void onResume() {
super.onResume(); super.onResume();
Filter savedFilter = getIntent().getParcelableExtra(TaskListActivity.TOKEN_FILTER);
setupTasklistFragmentWithFilter(savedFilter);
if (savedFilter != null)
lists.setText(savedFilter.title);
setupFilterlistFragment();
FilterListActivity fla = getFilterListFragment();
if (fla != null) {
fla.adapter.clear();
}
} }
@Override @Override
@ -132,4 +140,16 @@ public class TaskListWrapperActivity extends AstridWrapperActivity {
super.finish(); super.finish();
AndroidUtilities.callOverridePendingTransition(this, R.anim.slide_right_in, R.anim.slide_right_out); AndroidUtilities.callOverridePendingTransition(this, R.anim.slide_right_in, R.anim.slide_right_out);
} }
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == FilterListActivity.REQUEST_NEW_LIST && resultCode == Activity.RESULT_OK) {
Filter newList = data.getParcelableExtra(TagSettingsActivity.TOKEN_NEW_FILTER);
if (newList != null) {
getIntent().putExtra(TaskListActivity.TOKEN_FILTER, newList);
}
}
super.onActivityResult(requestCode, resultCode, data);
}
} }

@ -251,10 +251,6 @@ public class FilterAdapter extends ArrayAdapter<Filter> {
* ============================================================= receiver * ============================================================= receiver
* ====================================================================== */ * ====================================================================== */
private static final String createExpansionPreference(FilterCategory category) {
return "Expansion:" + category.listingTitle; //$NON-NLS-1$
}
/** /**
* Receiver which receives intents to add items to the filter list * Receiver which receives intents to add items to the filter list
* *

Loading…
Cancel
Save