diff --git a/astrid/src-legacy/com/timsu/astrid/utilities/StartupReceiver.java b/astrid/src-legacy/com/timsu/astrid/utilities/StartupReceiver.java index 17aeedbc2..53470cd86 100644 --- a/astrid/src-legacy/com/timsu/astrid/utilities/StartupReceiver.java +++ b/astrid/src-legacy/com/timsu/astrid/utilities/StartupReceiver.java @@ -76,8 +76,8 @@ public class StartupReceiver extends BroadcastReceiver { } Preferences.setCurrentVersion(context, finalVersion); + new UpgradeService().performUpgrade(latestSetVersion, version); } - new UpgradeService().performUpgrade(latestSetVersion, version); // perform startup activities in a background thread diff --git a/astrid/src/com/todoroo/astrid/service/UpgradeService.java b/astrid/src/com/todoroo/astrid/service/UpgradeService.java index 0d7d67c65..3b3251b70 100644 --- a/astrid/src/com/todoroo/astrid/service/UpgradeService.java +++ b/astrid/src/com/todoroo/astrid/service/UpgradeService.java @@ -3,14 +3,14 @@ package com.todoroo.astrid.service; import java.util.HashMap; import java.util.Map.Entry; -import android.app.Activity; +import android.app.AlertDialog; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.database.sqlite.SQLiteDatabase.CursorFactory; -import android.text.Html; import android.util.Log; +import android.webkit.WebView; import com.timsu.astrid.R; import com.timsu.astrid.data.AbstractController; @@ -22,7 +22,6 @@ import com.todoroo.andlib.data.Property.PropertyVisitor; import com.todoroo.andlib.service.Autowired; import com.todoroo.andlib.service.ContextManager; import com.todoroo.andlib.service.DependencyInjectionService; -import com.todoroo.andlib.utility.DialogUtilities; import com.todoroo.astrid.dao.Database; import com.todoroo.astrid.dao.MetadataDao; import com.todoroo.astrid.dao.TaskDao; @@ -51,9 +50,6 @@ public final class UpgradeService { @Autowired private String tagTaskTable; - @Autowired - private DialogUtilities dialogUtilities; - // --- implementation public UpgradeService() { @@ -69,8 +65,7 @@ public final class UpgradeService { * @param to */ public void performUpgrade(int from, int to) { - from = 130; - if(from == to) + if(from >= to || from < 1) return; // display changelog @@ -87,24 +82,32 @@ public final class UpgradeService { */ @SuppressWarnings("nls") public void showChangeLog(int from, int to) { - StringBuilder changeLog = new StringBuilder(); + StringBuilder changeLog = new StringBuilder("
"); switch(from) { - case 130: default: + // came from earlier version + + case 130: newVersionString(changeLog, "2.14.0", new String[] { - "Pick a calendar to 'Add to Calendar' (in Preferences)", - "Fixed crashes with backups & sync"}); + "Pick a calendar to 'Add to Calendar' (in Settings menu)", + "RTM: archived lists are ignored", + "Fixed user-reported crashes!"}); - // came from bizarre version } - if(changeLog.length() == 0) - return; + changeLog.append(""); + + WebView webView = new WebView(ContextManager.getContext()); + webView.loadData(changeLog.toString(), "text/html", "utf-8"); + webView.setBackgroundColor(0); - dialogUtilities.okDialog((Activity)ContextManager.getContext(), - R.string.UpS_changelog_title, - Html.fromHtml(changeLog.toString()), null); + new AlertDialog.Builder(ContextManager.getContext()) + .setTitle(R.string.UpS_changelog_title) + .setView(webView) + .setIcon(android.R.drawable.ic_dialog_info) + .setPositiveButton(android.R.string.ok, null) + .show(); } /** @@ -115,10 +118,10 @@ public final class UpgradeService { */ @SuppressWarnings("nls") private void newVersionString(StringBuilder changeLog, String version, String[] changes) { - changeLog.append("Version ").append(version).append(":