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 static final String TOKEN_NEW_FILTER = "newFilter";
private static final int MENU_SAVE_ID = R.string.TEA_menu_save;
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);
tagDataService.save(tagData);
final String name = newName;
final Runnable loadTag = new Runnable() {
@Override
public void run() {
Intent intent = new Intent(TagSettingsActivity.this, TagViewActivity.class);
intent.putExtra(TagViewActivity.EXTRA_TAG_NAME, name);
intent.putExtra(TagViewActivity.TOKEN_FILTER,
TagFilterExposer.filterFromTagData(TagSettingsActivity.this, tagData));
setResult(RESULT_OK, new Intent().putExtra(TOKEN_NEW_FILTER, TagFilterExposer.filterFromTagData(TagSettingsActivity.this, tagData)));
finish();
startActivity(intent);
}
};

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

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

@ -1,5 +1,7 @@
package com.todoroo.astrid.activity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.ActionBar;
import android.view.View;
@ -10,6 +12,7 @@ import android.widget.TextView;
import com.timsu.astrid.R;
import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.astrid.actfm.TagSettingsActivity;
import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.api.FilterListItem;
import com.todoroo.astrid.service.ThemeService;
@ -60,11 +63,6 @@ public class TaskListWrapperActivity extends AstridWrapperActivity {
createPopover();
}
Filter savedFilter = getIntent().getParcelableExtra(TaskListActivity.TOKEN_FILTER);
setupTasklistFragmentWithFilter(savedFilter);
if (savedFilter != null)
lists.setText(savedFilter.title);
setupFilterlistFragment();
}
private void createPopover() {
@ -109,6 +107,16 @@ public class TaskListWrapperActivity extends AstridWrapperActivity {
@Override
protected void 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
@ -132,4 +140,16 @@ public class TaskListWrapperActivity extends AstridWrapperActivity {
super.finish();
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
* ====================================================================== */
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
*

Loading…
Cancel
Save