Fix task creation in landscape tablet mode

pull/253/head
Alex Baker 10 years ago
parent 813eff299e
commit 0e0f21f141

@ -278,7 +278,12 @@ public class TaskListFragment extends InjectingListFragment implements OnSortSel
fab.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
((AstridActivity) getActivity()).startEditActivity(getNewTaskIntent(getActivity(), filter));
if (ActivityPreferences.isTabletSized(context)) {
Task task = quickAddBar.quickAddTask();
onTaskListItemClicked(task.getId());
} else {
((AstridActivity) getActivity()).startEditActivity(getNewTaskIntent(getActivity(), filter));
}
}
});
View body = getListBody(parent);
@ -590,7 +595,9 @@ public class TaskListFragment extends InjectingListFragment implements OnSortSel
if (taskAdapter != null) {
taskAdapter.flushCaches();
}
taskDeleter.deleteTasksWithEmptyTitles();
TaskEditFragment taskEditFragment = ((AstridActivity) getActivity()).getTaskEditFragment();
Task model = taskEditFragment == null ? null : taskEditFragment.model;
taskDeleter.deleteTasksWithEmptyTitles(model == null ? null : model.getId());
loadTaskListContent();
setSyncOngoing(false);
}

@ -165,7 +165,7 @@ public class StartupService {
new Thread(new Runnable() {
@Override
public void run() {
taskDeleter.deleteTasksWithEmptyTitles();
taskDeleter.deleteTasksWithEmptyTitles(null);
// if sync ongoing flag was set, clear it
gtasksPreferenceService.stopOngoing();

@ -25,7 +25,7 @@ public class TaskDeleter {
/**
* Clean up tasks. Typically called on startup
*/
public void deleteTasksWithEmptyTitles() {
public void deleteTasksWithEmptyTitles(Long suppress) {
TodorooCursor<Task> cursor = taskDao.query(
Query.select(Task.ID).where(TaskDao.TaskCriteria.hasNoTitle()));
try {
@ -35,7 +35,9 @@ public class TaskDeleter {
for(cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
long id = cursor.getLong(0);
taskDao.delete(id);
if (suppress == null || suppress != id) {
taskDao.delete(id);
}
}
} finally {
cursor.close();

@ -48,19 +48,19 @@ public class QuickAddBar {
// --- quick add task logic
public void quickAddTask() {
quickAddTask("");
public Task quickAddTask() {
return quickAddTask("");
}
/**
* Quick-add a new task
*/
public void quickAddTask(String title) {
public Task quickAddTask(String title) {
TagData tagData = fragment.getActiveTagData();
if(tagData != null && (!tagData.containsNonNullValue(TagData.NAME) ||
tagData.getName().length() == 0)) {
DialogUtilities.okDialog(activity, activity.getString(R.string.tag_no_title_error), null);
return;
return null;
}
try {
@ -87,9 +87,11 @@ public class QuickAddBar {
activity.onTaskListItemClicked(task.getId());
fragment.onTaskCreated(task);
return task;
} catch (Exception e) {
log.error(e.getMessage(), e);
}
return null;
}
private void showAlertForMarkupTask(AstridActivity activity, Task task, String originalText) {

Loading…
Cancel
Save