diff --git a/astrid/AndroidManifest.xml b/astrid/AndroidManifest.xml index 63bfaf289..5fe47f5ef 100644 --- a/astrid/AndroidManifest.xml +++ b/astrid/AndroidManifest.xml @@ -1,7 +1,7 @@ diff --git a/astrid/plugin-src/com/todoroo/astrid/backup/BackupService.java b/astrid/plugin-src/com/todoroo/astrid/backup/BackupService.java index 309dd3988..ca863e271 100644 --- a/astrid/plugin-src/com/todoroo/astrid/backup/BackupService.java +++ b/astrid/plugin-src/com/todoroo/astrid/backup/BackupService.java @@ -14,6 +14,7 @@ import android.os.IBinder; import android.util.Log; import com.timsu.astrid.R; +import com.todoroo.andlib.service.ContextManager; import com.todoroo.astrid.utility.Preferences; /** @@ -44,6 +45,7 @@ public class BackupService extends Service { @Override public void onStart(Intent intent, int startId) { if (intent.getAction().equals(BACKUP_ACTION)) { + ContextManager.setContext(this); startBackup(this); } } diff --git a/astrid/plugin-src/com/todoroo/astrid/backup/TasksXmlExporter.java b/astrid/plugin-src/com/todoroo/astrid/backup/TasksXmlExporter.java index 15f4a6247..a779358be 100644 --- a/astrid/plugin-src/com/todoroo/astrid/backup/TasksXmlExporter.java +++ b/astrid/plugin-src/com/todoroo/astrid/backup/TasksXmlExporter.java @@ -16,8 +16,8 @@ import android.widget.Toast; import com.timsu.astrid.R; import com.todoroo.andlib.data.AbstractModel; import com.todoroo.andlib.data.Property; -import com.todoroo.andlib.data.Property.PropertyVisitor; import com.todoroo.andlib.data.TodorooCursor; +import com.todoroo.andlib.data.Property.PropertyVisitor; import com.todoroo.andlib.service.ExceptionService; import com.todoroo.andlib.sql.Order; import com.todoroo.andlib.sql.Query; @@ -271,7 +271,8 @@ public class TasksXmlExporter { context.getResources().getQuantityString(R.plurals.Ntasks, exportCount, exportCount), outputFile); Toast.makeText(context, text, Toast.LENGTH_LONG).show(); - progressDialog.dismiss(); + if(progressDialog.isShowing()) + progressDialog.dismiss(); } }); } diff --git a/astrid/plugin-src/com/todoroo/astrid/backup/TasksXmlImporter.java b/astrid/plugin-src/com/todoroo/astrid/backup/TasksXmlImporter.java index c9122164d..8a557692e 100644 --- a/astrid/plugin-src/com/todoroo/astrid/backup/TasksXmlImporter.java +++ b/astrid/plugin-src/com/todoroo/astrid/backup/TasksXmlImporter.java @@ -23,8 +23,8 @@ import com.google.ical.values.RRule; import com.timsu.astrid.R; import com.todoroo.andlib.data.AbstractModel; import com.todoroo.andlib.data.Property; -import com.todoroo.andlib.data.Property.PropertyVisitor; import com.todoroo.andlib.data.TodorooCursor; +import com.todoroo.andlib.data.Property.PropertyVisitor; import com.todoroo.andlib.service.ContextManager; import com.todoroo.andlib.service.ExceptionService; import com.todoroo.andlib.sql.Criterion; @@ -33,8 +33,8 @@ import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.astrid.core.PluginServices; import com.todoroo.astrid.legacy.LegacyImportance; import com.todoroo.astrid.legacy.LegacyRepeatInfo; -import com.todoroo.astrid.legacy.LegacyRepeatInfo.LegacyRepeatInterval; import com.todoroo.astrid.legacy.LegacyTaskModel; +import com.todoroo.astrid.legacy.LegacyRepeatInfo.LegacyRepeatInterval; import com.todoroo.astrid.model.Metadata; import com.todoroo.astrid.model.Task; import com.todoroo.astrid.rmilk.data.MilkTask; @@ -146,7 +146,8 @@ public class TasksXmlImporter { handler.post(new Runnable() { @Override public void run() { - progressDialog.dismiss(); + if(progressDialog.isShowing()) + progressDialog.dismiss(); showSummary(); } }); diff --git a/astrid/plugin-src/com/todoroo/astrid/reminders/ReminderStartupReceiver.java b/astrid/plugin-src/com/todoroo/astrid/reminders/ReminderStartupReceiver.java index e6b38874c..f76aa32d2 100644 --- a/astrid/plugin-src/com/todoroo/astrid/reminders/ReminderStartupReceiver.java +++ b/astrid/plugin-src/com/todoroo/astrid/reminders/ReminderStartupReceiver.java @@ -4,7 +4,10 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; +import com.todoroo.andlib.service.Autowired; import com.todoroo.andlib.service.ContextManager; +import com.todoroo.andlib.service.DependencyInjectionService; +import com.todoroo.andlib.service.ExceptionService; import com.todoroo.astrid.service.AstridDependencyInjector; /** @@ -21,10 +24,18 @@ public class ReminderStartupReceiver extends BroadcastReceiver { // --- system startup + @Autowired + ExceptionService exceptionService; + @Override /** Called when the system is started up */ public void onReceive(Context context, Intent intent) { ContextManager.setContext(context); - ReminderService.getInstance().scheduleAllAlarms(); + try { + ReminderService.getInstance().scheduleAllAlarms(); + } catch (Exception e) { + DependencyInjectionService.getInstance().inject(this); + exceptionService.reportError("reminder-startup", e); //$NON-NLS-1$ + } } } diff --git a/astrid/res/values/strings-reminders.xml b/astrid/res/values/strings-reminders.xml index 0b9f110ed..6b42f43cc 100644 --- a/astrid/res/values/strings-reminders.xml +++ b/astrid/res/values/strings-reminders.xml @@ -10,7 +10,7 @@ Remind me... - ... when it\'s time to start the task + ... when task is due ... when task is overdue diff --git a/astrid/src/com/todoroo/astrid/adapter/FilterAdapter.java b/astrid/src/com/todoroo/astrid/adapter/FilterAdapter.java index 7d8702299..520aa11d5 100644 --- a/astrid/src/com/todoroo/astrid/adapter/FilterAdapter.java +++ b/astrid/src/com/todoroo/astrid/adapter/FilterAdapter.java @@ -158,7 +158,11 @@ public class FilterAdapter extends BaseExpandableListAdapter { ViewGroup parent) { convertView = newView(convertView, parent); ViewHolder viewHolder = (ViewHolder) convertView.getTag(); - viewHolder.item = (FilterListItem) getGroup(groupPosition); + Object groupItem = getGroup(groupPosition); + if(!(groupItem instanceof FilterListItem)) + return convertView; + + viewHolder.item = (FilterListItem) groupItem; populateView(viewHolder, false, isExpanded); return convertView; } diff --git a/astrid/src/com/todoroo/astrid/service/UpgradeService.java b/astrid/src/com/todoroo/astrid/service/UpgradeService.java index ed61c3aaa..7a6e76312 100644 --- a/astrid/src/com/todoroo/astrid/service/UpgradeService.java +++ b/astrid/src/com/todoroo/astrid/service/UpgradeService.java @@ -74,11 +74,12 @@ public final class UpgradeService { "and easier to use. Hope you like it!", }); if(from > 135 && from <= 140) - newVersionString(changeLog, "3.0.1 (8/4/10)", new String[] { + newVersionString(changeLog, "3.0.2 (8/4/10)", new String[] { "Upgrade note: if you are missing old repeating tasks, " + "search for them, there was a bug where they were marked " + - "as completed. This update also fixes widget issues with" + - "Android 1.5. Thanks for your patience!", + "as completed.", + "This update also fixes widget issues with Android 1.5. ", + "Thanks for your patience!", }); if(changeLog.length() == 0) diff --git a/astrid/src/com/todoroo/astrid/widget/TasksWidget.java b/astrid/src/com/todoroo/astrid/widget/TasksWidget.java index 4591ab305..c0d274f9a 100644 --- a/astrid/src/com/todoroo/astrid/widget/TasksWidget.java +++ b/astrid/src/com/todoroo/astrid/widget/TasksWidget.java @@ -43,10 +43,14 @@ public class TasksWidget extends AppWidgetProvider { public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { - super.onUpdate(context, appWidgetManager, appWidgetIds); + try { + super.onUpdate(context, appWidgetManager, appWidgetIds); - // Start in service to prevent Application Not Responding timeout - context.startService(new Intent(context, UpdateService.class)); + // Start in service to prevent Application Not Responding timeout + context.startService(new Intent(context, UpdateService.class)); + } catch (SecurityException e) { + // :( + } } public static class UpdateService extends Service {