From 398bea94a19b68607497caca97c839583c6945d5 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Tue, 23 Dec 2014 15:28:35 -0600 Subject: [PATCH] FAB does not use quick add bar --- .../astrid/activity/AstridActivity.java | 13 +++-- .../astrid/activity/TaskEditFragment.java | 2 +- .../astrid/activity/TaskListFragment.java | 4 +- .../provider/Astrid3ContentProvider.java | 2 - .../java/org/tasks/intents/NewTaskIntent.java | 48 +++++++++++++++++++ .../java/org/tasks/widget/WidgetHelper.java | 29 +---------- 6 files changed, 62 insertions(+), 36 deletions(-) create mode 100644 src/main/java/org/tasks/intents/NewTaskIntent.java diff --git a/src/main/java/com/todoroo/astrid/activity/AstridActivity.java b/src/main/java/com/todoroo/astrid/activity/AstridActivity.java index 284950e90..2765d98e0 100644 --- a/src/main/java/com/todoroo/astrid/activity/AstridActivity.java +++ b/src/main/java/com/todoroo/astrid/activity/AstridActivity.java @@ -200,7 +200,14 @@ public class AstridActivity extends InjectingActionBarActivity intent.putExtra(TaskListFragment.TOKEN_FILTER, getIntent().getParcelableExtra(TaskListFragment.TOKEN_FILTER)); } - if (fragmentLayout != LAYOUT_SINGLE) { + startEditActivity(intent); + } + + protected void startEditActivity(Intent intent) { + if (fragmentLayout == LAYOUT_SINGLE) { + startActivityForResult(intent, TaskListFragment.ACTIVITY_EDIT_TASK); + AndroidUtilities.callOverridePendingTransition(this, R.anim.slide_left_in, R.anim.slide_left_out); + } else { TaskEditFragment editActivity = getTaskEditFragment(); findViewById(R.id.taskedit_fragment_container).setVisibility(View.VISIBLE); @@ -226,10 +233,6 @@ public class AstridActivity extends InjectingActionBarActivity if (tlf != null) { tlf.loadTaskListContent(); } - - } else { - startActivityForResult(intent, TaskListFragment.ACTIVITY_EDIT_TASK); - AndroidUtilities.callOverridePendingTransition(this, R.anim.slide_left_in, R.anim.slide_left_out); } } diff --git a/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java b/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java index 30a76af3c..7826d6869 100755 --- a/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java +++ b/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java @@ -522,7 +522,7 @@ ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener { /** * Loads action item from the given intent */ - protected void loadItem(Intent intent) { + private void loadItem(Intent intent) { if (model != null) { // came from bundle setIsNewTask(model.getTitle().length() == 0); diff --git a/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java b/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java index ab25c8dae..1802696fc 100644 --- a/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java +++ b/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java @@ -89,6 +89,8 @@ import java.util.concurrent.atomic.AtomicReference; import javax.inject.Inject; +import static org.tasks.intents.NewTaskIntent.getNewTaskIntent; + /** * Primary activity for the Bente application. Shows a list of upcoming tasks * and a user's coaches. @@ -276,7 +278,7 @@ public class TaskListFragment extends InjectingListFragment implements OnSortSel fab.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { - quickAddBar.quickAddTask(); + ((AstridActivity) getActivity()).startEditActivity(getNewTaskIntent(getActivity(), filter)); } }); View body = getListBody(parent); diff --git a/src/main/java/com/todoroo/astrid/provider/Astrid3ContentProvider.java b/src/main/java/com/todoroo/astrid/provider/Astrid3ContentProvider.java index fb28b5325..eda37954b 100644 --- a/src/main/java/com/todoroo/astrid/provider/Astrid3ContentProvider.java +++ b/src/main/java/com/todoroo/astrid/provider/Astrid3ContentProvider.java @@ -21,7 +21,6 @@ import com.todoroo.andlib.data.DatabaseDao; import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.dao.Database; import com.todoroo.astrid.dao.RemoteModelDao; -import com.todoroo.astrid.dao.TaskDao; import com.todoroo.astrid.data.Metadata; import com.todoroo.astrid.data.StoreObject; import com.todoroo.astrid.data.Task; @@ -83,7 +82,6 @@ public class Astrid3ContentProvider extends InjectingContentProvider { private boolean open; @Inject Lazy database; - @Inject Lazy taskDao; static { uriMatcher = new UriMatcher(UriMatcher.NO_MATCH); diff --git a/src/main/java/org/tasks/intents/NewTaskIntent.java b/src/main/java/org/tasks/intents/NewTaskIntent.java new file mode 100644 index 000000000..25eb54e29 --- /dev/null +++ b/src/main/java/org/tasks/intents/NewTaskIntent.java @@ -0,0 +1,48 @@ +package org.tasks.intents; + +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; + +import com.todoroo.andlib.utility.AndroidUtilities; +import com.todoroo.astrid.activity.TaskEditActivity; +import com.todoroo.astrid.activity.TaskEditFragment; +import com.todoroo.astrid.activity.TaskListActivity; +import com.todoroo.astrid.activity.TaskListFragment; +import com.todoroo.astrid.api.Filter; +import com.todoroo.astrid.api.FilterWithCustomIntent; + +import org.tasks.preferences.ActivityPreferences; + +public class NewTaskIntent { + + public static Intent getNewTaskIntent(Context context, Filter filter) { + Intent intent; + boolean tablet = ActivityPreferences.isTabletSized(context); + if (tablet) { + intent = new Intent(context, TaskListActivity.class); + intent.putExtra(TaskListActivity.OPEN_TASK, 0L); + } else { + intent = new Intent(context, TaskEditActivity.class); + } + + intent.putExtra(TaskEditFragment.OVERRIDE_FINISH_ANIM, false); + if (filter != null) { + intent.putExtra(TaskListFragment.TOKEN_FILTER, filter); + if (filter.valuesForNewTasks != null) { + String values = AndroidUtilities.contentValuesToSerializedString(filter.valuesForNewTasks); + intent.putExtra(TaskEditFragment.TOKEN_VALUES, values); + intent.setAction("E" + values); + } + if (tablet) { + if (filter instanceof FilterWithCustomIntent) { + Bundle customExtras = ((FilterWithCustomIntent) filter).customExtras; + intent.putExtras(customExtras); + } + } + } else { + intent.setAction("E"); + } + return intent; + } +} diff --git a/src/main/java/org/tasks/widget/WidgetHelper.java b/src/main/java/org/tasks/widget/WidgetHelper.java index 7066b9c65..58e4c4abc 100644 --- a/src/main/java/org/tasks/widget/WidgetHelper.java +++ b/src/main/java/org/tasks/widget/WidgetHelper.java @@ -30,6 +30,7 @@ import com.todoroo.astrid.widget.TasksWidget; import com.todoroo.astrid.widget.WidgetConfigActivity; import org.tasks.R; +import org.tasks.intents.NewTaskIntent; import org.tasks.preferences.ActivityPreferences; import org.tasks.preferences.Preferences; @@ -139,34 +140,8 @@ public class WidgetHelper { } public PendingIntent getNewTaskIntent(Context context, Filter filter, int id) { - Intent intent; - boolean tablet = ActivityPreferences.isTabletSized(context); - if (tablet) { - intent = new Intent(context, TaskListActivity.class); - intent.putExtra(TaskListActivity.OPEN_TASK, 0L); - } else { - intent = new Intent(context, TaskEditActivity.class); - } - + Intent intent = NewTaskIntent.getNewTaskIntent(context, filter); intent.setFlags(flags); - intent.putExtra(TaskEditFragment.OVERRIDE_FINISH_ANIM, false); - if (filter != null) { - intent.putExtra(TaskListFragment.TOKEN_FILTER, filter); - if (filter.valuesForNewTasks != null) { - String values = AndroidUtilities.contentValuesToSerializedString(filter.valuesForNewTasks); - intent.putExtra(TaskEditFragment.TOKEN_VALUES, values); - intent.setAction("E" + id + values); - } - if (tablet) { - if (filter instanceof FilterWithCustomIntent) { - Bundle customExtras = ((FilterWithCustomIntent) filter).customExtras; - intent.putExtras(customExtras); - } - } - } else { - intent.setAction("E" + id); - } - return PendingIntent.getActivity(context, -id, intent, 0); }