diff --git a/astrid/src/main/AndroidManifest.xml b/astrid/src/main/AndroidManifest.xml
index 08e6c8c79..dfcc6751a 100644
--- a/astrid/src/main/AndroidManifest.xml
+++ b/astrid/src/main/AndroidManifest.xml
@@ -199,6 +199,8 @@
android:label="@string/widget_mini">
+
+
= TaskAdapter.IMPORTANCE_RESOURCES.length) {
+ value = TaskAdapter.IMPORTANCE_RESOURCES.length - 1;
+ }
+ int[] boxes;
+ if (!TextUtils.isEmpty(task.getValue(Task.RECURRENCE))) {
+ boxes = completed ? TaskAdapter.IMPORTANCE_REPEAT_RESOURCES_CHECKED : TaskAdapter.IMPORTANCE_REPEAT_RESOURCES;
+ } else {
+ boxes = completed ? TaskAdapter.IMPORTANCE_RESOURCES_CHECKED : TaskAdapter.IMPORTANCE_RESOURCES;
+ }
+ return boxes[value];
+ }
+
public RemoteViews buildUpdate(int position) {
try {
Task task = getTask(position);
@@ -111,11 +128,17 @@ public class ScrollableViewsFactory implements RemoteViewsService.RemoteViewsFac
row.setTextViewText(R.id.text, textContent);
row.setTextColor(R.id.text, textColor);
+ row.setImageViewResource(R.id.completeBox, getCheckbox(task));
+
+ Intent editIntent = new Intent();
+ editIntent.setAction(TasksWidget.EDIT_TASK);
+ editIntent.putExtra(TaskEditFragment.TOKEN_ID, task.getId());
+ row.setOnClickFillInIntent(R.id.text, editIntent);
- Intent intent = new Intent(context, TaskEditActivity.class);
- intent.putExtra(TaskEditFragment.TOKEN_ID, task.getId());
- intent.putExtra(TaskListActivity.OPEN_TASK, task.getId());
- row.setOnClickFillInIntent(R.id.text, intent);
+ Intent completeIntent = new Intent();
+ completeIntent.setAction(TasksWidget.COMPLETE_TASK);
+ completeIntent.putExtra(TaskEditFragment.TOKEN_ID, task.getId());
+ row.setOnClickFillInIntent(R.id.completeBox, completeIntent);
return row;
} catch (Exception e) {
@@ -127,7 +150,7 @@ public class ScrollableViewsFactory implements RemoteViewsService.RemoteViewsFac
}
private TodorooCursor getCursor() {
- return taskService.fetchFiltered(query, null, Task.ID, Task.TITLE, Task.DUE_DATE, Task.COMPLETION_DATE);
+ return taskService.fetchFiltered(query, null, Task.ID, Task.TITLE, Task.DUE_DATE, Task.COMPLETION_DATE, Task.IMPORTANCE, Task.RECURRENCE);
}
private Task getTask(int position) {
diff --git a/astrid/src/main/java/org/tasks/widget/WidgetHelper.java b/astrid/src/main/java/org/tasks/widget/WidgetHelper.java
index 0419d436a..c28f26830 100644
--- a/astrid/src/main/java/org/tasks/widget/WidgetHelper.java
+++ b/astrid/src/main/java/org/tasks/widget/WidgetHelper.java
@@ -50,13 +50,12 @@ public class WidgetHelper {
AstridDependencyInjector.initialize();
}
- private static int flags = FLAG_ACTIVITY_NEW_TASK
+ public static int flags = FLAG_ACTIVITY_NEW_TASK
| FLAG_ACTIVITY_MULTIPLE_TASK
| FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET
| FLAG_ACTIVITY_NO_HISTORY
| FLAG_ACTIVITY_PREVIOUS_IS_TOP;
-
public static void startWidgetService(Context context) {
Class widgetServiceClass = android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH
? WidgetUpdateService.class
@@ -142,19 +141,14 @@ public class WidgetHelper {
}
private PendingIntent getEditTaskIntent(Context context, Filter filter, int widgetId) {
- Intent intent;
+ Intent intent = new Intent(context, TasksWidget.class);
if (AstridPreferences.useTabletLayout(context)) {
- intent = new Intent(context, TaskListActivity.class);
if (filter != null && filter instanceof FilterWithCustomIntent) {
Bundle customExtras = ((FilterWithCustomIntent) filter).customExtras;
intent.putExtras(customExtras);
}
- } else {
- intent = new Intent(context, TaskEditActivity.class);
}
- intent.setFlags(flags);
- intent.putExtra(TaskEditFragment.OVERRIDE_FINISH_ANIM, false);
- return PendingIntent.getActivity(context, widgetId, intent, PendingIntent.FLAG_CANCEL_CURRENT);
+ return PendingIntent.getBroadcast(context, -widgetId, intent, 0);
}
public PendingIntent getNewTaskIntent(Context context, Filter filter, int id) {
diff --git a/astrid/src/main/res/layout/widget_row.xml b/astrid/src/main/res/layout/widget_row.xml
index 3bfb050b7..2be683cbb 100644
--- a/astrid/src/main/res/layout/widget_row.xml
+++ b/astrid/src/main/res/layout/widget_row.xml
@@ -1,19 +1,27 @@
-
-
-
+
-
+
+
+
+
+
\ No newline at end of file