From ee303ab1f4b0dd48bea7eba1df5c37dd160d1a1c Mon Sep 17 00:00:00 2001 From: Tim Su Date: Tue, 14 Sep 2010 17:47:35 +0800 Subject: [PATCH] Fixing widget not starting, fixing bug with custom filter activity and decorations not loading correctly --- astrid/AndroidManifest.xml | 29 +------------------ .../astrid/core/CustomFilterActivity.java | 5 ++-- .../astrid/core/CustomFilterAdapter.java | 6 ++-- .../astrid/activity/TaskListActivity.java | 6 ---- .../todoroo/astrid/adapter/TaskAdapter.java | 18 +++++++----- 5 files changed, 18 insertions(+), 46 deletions(-) diff --git a/astrid/AndroidManifest.xml b/astrid/AndroidManifest.xml index 746ed50fe..0232d7766 100644 --- a/astrid/AndroidManifest.xml +++ b/astrid/AndroidManifest.xml @@ -120,18 +120,10 @@ - - - - - - - - - + @@ -144,25 +136,6 @@ - diff --git a/astrid/plugin-src/com/todoroo/astrid/core/CustomFilterActivity.java b/astrid/plugin-src/com/todoroo/astrid/core/CustomFilterActivity.java index c66968c8e..c02be32e5 100644 --- a/astrid/plugin-src/com/todoroo/astrid/core/CustomFilterActivity.java +++ b/astrid/plugin-src/com/todoroo/astrid/core/CustomFilterActivity.java @@ -344,7 +344,7 @@ public class CustomFilterActivity extends ListActivity { CriterionInstance instance = adapter.getItem(i); String value = instance.getValueFromCriterion(); if(value == null && instance.criterion.sql != null && instance.criterion.sql.contains("?")) - continue; + value = ""; String title = instance.getTitleFromCriterion(); @@ -415,7 +415,7 @@ public class CustomFilterActivity extends ListActivity { CriterionInstance instance = adapter.getItem(i); String value = instance.getValueFromCriterion(); if(value == null && instance.criterion.sql != null && instance.criterion.sql.contains("?")) - continue; + value = ""; switch(instance.type) { case CriterionInstance.TYPE_ADD: @@ -447,6 +447,7 @@ public class CustomFilterActivity extends ListActivity { instance.end = cursor.getInt(0); last = instance.end; max = Math.max(max, last); + System.err.println("updated instance to " + last); } finally { cursor.close(); } diff --git a/astrid/plugin-src/com/todoroo/astrid/core/CustomFilterAdapter.java b/astrid/plugin-src/com/todoroo/astrid/core/CustomFilterAdapter.java index 5e2d980f6..14148baf4 100644 --- a/astrid/plugin-src/com/todoroo/astrid/core/CustomFilterAdapter.java +++ b/astrid/plugin-src/com/todoroo/astrid/core/CustomFilterAdapter.java @@ -5,7 +5,6 @@ package com.todoroo.astrid.core; import java.util.List; -import android.app.Activity; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; @@ -35,10 +34,10 @@ import com.todoroo.astrid.data.AddOn; */ public class CustomFilterAdapter extends ArrayAdapter { - private final Activity activity; + private final CustomFilterActivity activity; private final LayoutInflater inflater; - public CustomFilterAdapter(Activity activity, List objects) { + public CustomFilterAdapter(CustomFilterActivity activity, List objects) { super(activity, R.id.name, objects); this.activity = activity; inflater = (LayoutInflater) activity.getSystemService( @@ -59,6 +58,7 @@ public class CustomFilterAdapter extends ArrayAdapter { showOptionsFor(viewHolder.item, new Runnable() { @Override public void run() { + activity.updateList(); notifyDataSetInvalidated(); } }); diff --git a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java index 3962193d4..f87af25fa 100644 --- a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java @@ -87,8 +87,6 @@ import com.todoroo.astrid.service.TaskService; import com.todoroo.astrid.utility.Constants; import com.todoroo.astrid.utility.Flags; import com.todoroo.astrid.utility.Preferences; -import com.todoroo.astrid.widget.PowerWidget; -import com.todoroo.astrid.widget.PowerWidget42; import com.todoroo.astrid.widget.TasksWidget; /** @@ -997,10 +995,6 @@ public class TaskListActivity extends ListActivity implements OnScrollListener, Preferences.setInt(SortSelectionActivity.PREF_SORT_SORT, sort); ContextManager.getContext().startService(new Intent(ContextManager.getContext(), TasksWidget.UpdateService.class)); - ContextManager.getContext().startService(new Intent(ContextManager.getContext(), - PowerWidget.UpdateService.class)); - ContextManager.getContext().startService(new Intent(ContextManager.getContext(), - PowerWidget42.UpdateService.class)); } setUpTaskList(); diff --git a/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java b/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java index 53eff41dd..06576a366 100644 --- a/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java +++ b/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java @@ -116,7 +116,7 @@ public class TaskAdapter extends CursorAdapter implements Filterable { // --- task detail and decoration soft caches - public final DetailManager extendedDetailManager = new DetailManager(); + public final ExtendedDetailManager extendedDetailManager = new ExtendedDetailManager(); public final DecorationManager decorationManager = new DecorationManager(); public final TaskActionManager taskActionManager = new TaskActionManager(); @@ -530,14 +530,13 @@ public class TaskAdapter extends CursorAdapter implements Filterable { * @author Tim Su * */ - public class DetailManager extends AddOnManager { + public class ExtendedDetailManager extends AddOnManager { + private final Intent broadcastIntent = new Intent(AstridApiConstants.BROADCAST_REQUEST_DETAILS); - public DetailManager() { + public ExtendedDetailManager() { // } - private final Intent broadcastIntent = new Intent(AstridApiConstants.BROADCAST_REQUEST_DETAILS); - @Override Intent createBroadcastIntent(Task task) { broadcastIntent.putExtra(AstridApiConstants.EXTRAS_TASK_ID, task.getId()); @@ -598,6 +597,10 @@ public class TaskAdapter extends CursorAdapter implements Filterable { @Override Intent createBroadcastIntent(Task task) { + // TODO performance hack hack + if(task.getValue(Task.TIMER_START) == 0 && + task.getValue(Task.ELAPSED_SECONDS) == 0) + return null; intent.putExtra(AstridApiConstants.EXTRAS_TASK_ID, task.getId()); intent.putExtra(BROADCAST_EXTRA_TASK, task); return intent; @@ -620,7 +623,7 @@ public class TaskAdapter extends CursorAdapter implements Filterable { int i = 0; boolean colorSet = false; - if(viewHolder.decorations.length != decorations.size()) + if(viewHolder.decorations == null || viewHolder.decorations.length != decorations.size()) viewHolder.decorations = new View[decorations.size()]; for(TaskDecoration decoration : decorations) { if(decoration.color != 0 && !colorSet) { @@ -886,7 +889,8 @@ public class TaskAdapter extends CursorAdapter implements Filterable { // request details draw(viewHolder, taskId, get(taskId)); Intent broadcastIntent = createBroadcastIntent(viewHolder.task); - activity.sendOrderedBroadcast(broadcastIntent, AstridApiConstants.PERMISSION_READ); + if(broadcastIntent != null) + activity.sendOrderedBroadcast(broadcastIntent, AstridApiConstants.PERMISSION_READ); return true; }