Skip to content

Commit

Permalink
Fixing widget not starting, fixing bug with custom filter activity an…
Browse files Browse the repository at this point in the history
…d decorations not loading correctly
  • Loading branch information
Tim Su committed Sep 14, 2010
1 parent 457059c commit ee303ab
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 46 deletions.
29 changes: 1 addition & 28 deletions astrid/AndroidManifest.xml
Expand Up @@ -120,18 +120,10 @@
<!-- Activity that configures widget -->
<activity android:name="com.todoroo.astrid.widget.WidgetConfigActivity"
android:theme="@style/Theme">
</activity>
<!-- Activity to configure Power Pack widget -->
<activity android:name="com.todoroo.astrid.widget.ConfigurePowerWidgetActivity">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
</intent-filter>
</activity>
<activity android:name="com.todoroo.astrid.widget.ConfigurePowerWidget42Activity">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
</intent-filter>
</activity>
</activity>

<!-- ======================================================= Receivers = -->

Expand All @@ -144,25 +136,6 @@
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/widget_provider_info" />
</receiver>
<!-- receiver android:name="com.todoroo.astrid.widget.PowerWidget"
android:label="@string/PPW_widget_44_label"
android:icon="@drawable/icon_pp" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/power_widget_44_provider_info" />
</receiver>
<receiver android:name="com.todoroo.astrid.widget.PowerWidget42"
android:label="@string/PPW_widget_42_label"
android:icon="@drawable/icon_pp" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/power_widget_42_provider_info" />
</receiver -->

<receiver android:name="com.todoroo.astrid.service.GlobalEventReceiver">
<intent-filter>
Expand Down
Expand Up @@ -344,7 +344,7 @@ void saveAndView() {
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();

Expand Down Expand Up @@ -415,7 +415,7 @@ void updateList() {
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:
Expand Down Expand Up @@ -447,6 +447,7 @@ void updateList() {
instance.end = cursor.getInt(0);
last = instance.end;
max = Math.max(max, last);
System.err.println("updated instance to " + last);
} finally {
cursor.close();
}
Expand Down
Expand Up @@ -5,7 +5,6 @@

import java.util.List;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
Expand Down Expand Up @@ -35,10 +34,10 @@
*/
public class CustomFilterAdapter extends ArrayAdapter<CriterionInstance> {

private final Activity activity;
private final CustomFilterActivity activity;
private final LayoutInflater inflater;

public CustomFilterAdapter(Activity activity, List<CriterionInstance> objects) {
public CustomFilterAdapter(CustomFilterActivity activity, List<CriterionInstance> objects) {
super(activity, R.id.name, objects);
this.activity = activity;
inflater = (LayoutInflater) activity.getSystemService(
Expand All @@ -59,6 +58,7 @@ public void onClick(View v) {
showOptionsFor(viewHolder.item, new Runnable() {
@Override
public void run() {
activity.updateList();
notifyDataSetInvalidated();
}
});
Expand Down
6 changes: 0 additions & 6 deletions astrid/src/com/todoroo/astrid/activity/TaskListActivity.java
Expand Up @@ -87,8 +87,6 @@
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;

/**
Expand Down Expand Up @@ -997,10 +995,6 @@ public void onSortSelected(boolean always, int flags, int sort) {
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();
Expand Down
18 changes: 11 additions & 7 deletions astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java
Expand Up @@ -116,7 +116,7 @@ public interface OnCompletedTaskListener {

// --- 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();
Expand Down Expand Up @@ -530,14 +530,13 @@ public void flushSpecific(long taskId) {
* @author Tim Su <tim@todoroo.com>
*
*/
public class DetailManager extends AddOnManager<String> {
public class ExtendedDetailManager extends AddOnManager<String> {
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());
Expand Down Expand Up @@ -598,6 +597,10 @@ public class DecorationManager extends AddOnManager<TaskDecoration> {

@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;
Expand All @@ -620,7 +623,7 @@ void draw(ViewHolder viewHolder, long taskId, Collection<TaskDecoration> decorat

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) {
Expand Down Expand Up @@ -886,7 +889,8 @@ public boolean request(ViewHolder viewHolder) {
// 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;
}

Expand Down

0 comments on commit ee303ab

Please sign in to comment.