Update widget extras

pull/384/head
Alex Baker 10 years ago
parent cfa8fc9e2f
commit 96adc70fd1

@ -11,8 +11,6 @@ import android.content.Context;
import android.content.Intent;
import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.astrid.activity.TaskEditFragment;
import com.todoroo.astrid.activity.TaskListFragment;
import com.todoroo.astrid.api.Filter;
import org.tasks.Broadcaster;
@ -34,7 +32,9 @@ public class TasksWidget extends InjectingAppWidgetProvider {
public static final String COMPLETE_TASK = "COMPLETE_TASK";
public static final String EDIT_TASK = "EDIT_TASK";
public static final String TOKEN_ID = "id"; //$NON-NLS-1$
public static final String EXTRA_FILTER = "extra_filter";
public static final String EXTRA_ID = "id"; //$NON-NLS-1$
public static long suppressUpdateFlag = 0; // Timestamp--don't update widgets if this flag is non-zero and now() is within 5 minutes
private static final long SUPPRESS_TIME = DateUtilities.ONE_MINUTE * 5;
@ -45,13 +45,13 @@ public class TasksWidget extends InjectingAppWidgetProvider {
switch(intent.getAction()) {
case COMPLETE_TASK:
broadcaster.toggleCompletedState(intent.getLongExtra(TOKEN_ID, 0));
broadcaster.toggleCompletedState(intent.getLongExtra(EXTRA_ID, 0));
break;
case EDIT_TASK:
getEditTaskStack(
context,
(Filter) intent.getParcelableExtra(TaskListFragment.TOKEN_FILTER),
intent.getLongExtra(TOKEN_ID, 0))
(Filter) intent.getParcelableExtra(EXTRA_FILTER),
intent.getLongExtra(EXTRA_ID, 0))
.startActivities();
break;
case BROADCAST_EVENT_REFRESH:

@ -14,9 +14,7 @@ import android.widget.RemoteViewsService;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.utility.DateUtilities;
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.core.SortHelper;
import com.todoroo.astrid.dao.Database;
@ -135,7 +133,6 @@ public class ScrollableViewsFactory implements RemoteViewsService.RemoteViewsFac
if (task == null) {
return null;
}
String textContent;
Resources r = context.getResources();
int textColor = r.getColor(dark ? R.color.widget_text_color_dark : R.color.widget_text_color_light);
@ -157,24 +154,23 @@ public class ScrollableViewsFactory implements RemoteViewsService.RemoteViewsFac
textColor = r.getColor(R.color.overdue);
}
final long taskId = task.getId();
row.setTextViewText(R.id.text, textContent);
row.setTextColor(R.id.text, textColor);
row.setImageViewBitmap(R.id.completeBox, getCheckbox(task));
Intent editIntent = new Intent();
editIntent.setAction(TasksWidget.EDIT_TASK);
editIntent.putExtra(TaskListFragment.TOKEN_FILTER, filter);
editIntent.putExtra(TasksWidget.TOKEN_ID, task.getId());
editIntent.putExtra(TaskListActivity.OPEN_TASK, task.getId());
row.setOnClickFillInIntent(R.id.text, editIntent);
row.setOnClickFillInIntent(R.id.text, new Intent() {{
setAction(TasksWidget.EDIT_TASK);
putExtra(TasksWidget.EXTRA_FILTER, filter);
putExtra(TasksWidget.EXTRA_ID, taskId);
}});
if (hideCheckboxes) {
row.setViewVisibility(R.id.completeBox, View.GONE);
} else {
Intent completeIntent = new Intent();
completeIntent.setAction(TasksWidget.COMPLETE_TASK);
completeIntent.putExtra(TasksWidget.TOKEN_ID, task.getId());
row.setOnClickFillInIntent(R.id.completeBox, completeIntent);
row.setOnClickFillInIntent(R.id.completeBox, new Intent() {{
setAction(TasksWidget.COMPLETE_TASK);
putExtra(TasksWidget.EXTRA_ID, taskId);
}});
}
return row;

@ -80,7 +80,7 @@ public class WidgetHelper {
remoteViews.setTextViewText(R.id.widget_title, filter.listingTitle);
remoteViews.setRemoteAdapter(R.id.list_view, rvIntent);
remoteViews.setEmptyView(R.id.list_view, R.id.empty_view);
PendingIntent listIntent = getListIntent(context, filter, id);
PendingIntent listIntent = getOpenListIntent(context, filter, id);
if (listIntent != null) {
remoteViews.setOnClickPendingIntent(R.id.widget_title, listIntent);
}
@ -95,7 +95,7 @@ public class WidgetHelper {
return remoteViews;
}
public PendingIntent getListIntent(Context context, Filter filter, int widgetId) {
public PendingIntent getOpenListIntent(Context context, Filter filter, int widgetId) {
Intent listIntent = new Intent(context, TaskListActivity.class);
String customIntent = preferences.getStringValue(WidgetConfigActivity.PREF_CUSTOM_INTENT
+ widgetId);

Loading…
Cancel
Save