Styled and updated finishing behavior of custom filter activity

pull/14/head
Sam Bosley 13 years ago
parent d5b704badf
commit 809bbebcc1

@ -275,7 +275,7 @@
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
<activity android:name="com.todoroo.astrid.core.CustomFilterActivity" />
<activity android:name="com.todoroo.astrid.core.CustomFilterActivity" android:theme="@style/Theme_Dialog" />
<activity android:name="com.todoroo.astrid.core.CustomFilterExposer$DeleteActivity" android:theme="@style/Theme.FullTransparent" />
<activity android:name="com.todoroo.astrid.tags.TagFilterExposer$DeleteTagActivity" android:theme="@style/Theme.FullTransparent" />
<activity android:name="com.todoroo.astrid.tags.TagFilterExposer$RenameTagActivity" android:theme="@style/Theme.FullTransparent" />

@ -38,8 +38,8 @@ import com.todoroo.andlib.sql.Criterion;
import com.todoroo.andlib.sql.Field;
import com.todoroo.andlib.sql.Query;
import com.todoroo.andlib.sql.UnaryCriterion;
import com.todoroo.astrid.activity.TaskListActivity;
import com.todoroo.astrid.activity.TaskListWrapperActivity;
import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.astrid.actfm.TagSettingsActivity;
import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.api.CustomFilterCriterion;
import com.todoroo.astrid.api.Filter;
@ -50,6 +50,7 @@ import com.todoroo.astrid.dao.Database;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.data.TaskApiDao.TaskCriteria;
import com.todoroo.astrid.service.StatisticsService;
import com.todoroo.astrid.service.ThemeService;
/**
* Activity that allows users to build custom filters
@ -125,6 +126,8 @@ public class CustomFilterActivity extends ListActivity {
}
private TextView filterName;
private boolean isDialog;
private CustomFilterAdapter adapter;
private final Map<String,CustomFilterCriterion> criteria = Collections.synchronizedMap(new LinkedHashMap<String,CustomFilterCriterion>());
@ -137,6 +140,7 @@ public class CustomFilterActivity extends ListActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
setupForDialogOrFullscreen();
super.onCreate(savedInstanceState);
ContextManager.setContext(this);
@ -157,6 +161,14 @@ public class CustomFilterActivity extends ListActivity {
setUpListeners();
}
private void setupForDialogOrFullscreen() {
isDialog = AndroidUtilities.isTabletSized(this);
if (isDialog)
setTheme(ThemeService.getDialogTheme());
else
ThemeService.applyTheme(this);
}
/**
* Populate criteria list with built in and plugin criteria. The request is sent to every application
* registered to listen for this broadcast. Each plugin can then add criteria to this activity.
@ -413,9 +425,8 @@ public class CustomFilterActivity extends ListActivity {
// view
Filter filter = new Filter(title, title, sql.toString(), values);
Intent taskListActivity = new Intent(this, TaskListWrapperActivity.class);
taskListActivity.putExtra(TaskListActivity.TOKEN_FILTER, filter);
startActivity(taskListActivity);
setResult(RESULT_OK, new Intent().putExtra(TagSettingsActivity.TOKEN_NEW_FILTER, filter));
finish();
}
/**

@ -19,7 +19,7 @@ public class FilterView extends View {
private int start = 0, end = 0, max = 1;
private static final int FILTER_COLOR = Color.rgb(85, 155, 255);
private static final int BG_COLOR = Color.WHITE;
private static final int BG_COLOR = Color.CYAN;
private static final int TEXT_COLOR = Color.BLACK;
// --- boilerplate

@ -3,13 +3,14 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background_gradient"
android:orientation="vertical">
android:orientation="vertical"
style="@style/Content">
<!-- Filter Name -->
<EditText android:id="@+id/filterName"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dip"
android:layout_weight="1"
android:hint="@string/CFA_filterName_hint"
android:capitalize="sentences" />
@ -28,8 +29,9 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="@string/CFA_help"/>
android:text="@string/CFA_help"
style="@style/TextAppearance"/>
<!-- buttons -->
<LinearLayout
android:orientation="horizontal"
@ -37,7 +39,6 @@
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
android:padding="5dip"
android:background="@drawable/header_background"
android:baselineAligned="false">
<Button android:id="@+id/add"

@ -33,7 +33,8 @@
android:layout_weight="100"
android:paddingLeft="5dip"
android:textSize="18sp"
android:gravity="center_vertical"/>
android:gravity="center_vertical"
style="@style/TextAppearance"/>
<!-- filter graphic -->
<com.todoroo.astrid.core.FilterView android:id="@+id/filter"

@ -88,6 +88,7 @@ public class FilterListActivity extends ListFragment {
static final int REQUEST_VIEW_TASKS = 2;
public static final int REQUEST_NEW_BUTTON = 3;
public static final int REQUEST_NEW_LIST = 4;
public static final int REQUEST_NEW_FILTER = 5;
// --- instance variables
@ -99,6 +100,8 @@ public class FilterListActivity extends ListFragment {
private OnFilterItemClickedListener mListener;
private View newListButton;
private boolean mDualFragments;
private int mSelectedIndex;
@ -161,7 +164,7 @@ public class FilterListActivity extends ListFragment {
getActivity().setDefaultKeyMode(Activity.DEFAULT_KEYS_SEARCH_LOCAL);
//ImageView backButton = (ImageView) getView().findViewById(R.id.back);
View newListButton = getView().findViewById(R.id.new_list_button);
newListButton = getView().findViewById(R.id.new_list_button);
// backButton.setOnClickListener(new OnClickListener() {
// @Override
@ -408,13 +411,11 @@ public class FilterListActivity extends ListFragment {
}
case MENU_NEW_FILTER_ID : {
Intent intent = new Intent(getActivity(), CustomFilterActivity.class);
startActivity(intent);
getActivity().startActivityForResult(intent, REQUEST_NEW_FILTER);
return true;
}
case MENU_NEW_LIST_ID : {
Intent intent = TagsPlugin.newTagDialog(getActivity());
startActivity(intent);
AndroidUtilities.callOverridePendingTransition(getActivity(), R.anim.slide_left_in, R.anim.slide_left_out);
newListButton.performClick();
return true;
}
case CONTEXT_MENU_SHORTCUT: {

@ -164,10 +164,13 @@ public class TaskListWrapperActivity extends AstridWrapperActivity {
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == FilterListActivity.REQUEST_NEW_LIST && resultCode == Activity.RESULT_OK) {
if ((requestCode == FilterListActivity.REQUEST_NEW_LIST || requestCode == FilterListActivity.REQUEST_NEW_FILTER) && resultCode == Activity.RESULT_OK) {
Filter newList = data.getParcelableExtra(TagSettingsActivity.TOKEN_NEW_FILTER);
if (newList != null) {
getIntent().putExtra(TaskListActivity.TOKEN_FILTER, newList);
FilterListActivity fla = getFilterListFragment();
if (fla != null)
fla.refresh();
}
}

Loading…
Cancel
Save