Cleaned up upgrade service and changelog

Tim Su 16 years ago
parent 850e26793c
commit 57c6f66838

@ -76,8 +76,8 @@ public class StartupReceiver extends BroadcastReceiver {
} }
Preferences.setCurrentVersion(context, finalVersion); Preferences.setCurrentVersion(context, finalVersion);
new UpgradeService().performUpgrade(latestSetVersion, version);
} }
new UpgradeService().performUpgrade(latestSetVersion, version);
// perform startup activities in a background thread // perform startup activities in a background thread

@ -3,14 +3,14 @@ package com.todoroo.astrid.service;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map.Entry; import java.util.Map.Entry;
import android.app.Activity; import android.app.AlertDialog;
import android.content.Context; import android.content.Context;
import android.database.Cursor; import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper; import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.text.Html;
import android.util.Log; import android.util.Log;
import android.webkit.WebView;
import com.timsu.astrid.R; import com.timsu.astrid.R;
import com.timsu.astrid.data.AbstractController; 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.Autowired;
import com.todoroo.andlib.service.ContextManager; import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.astrid.dao.Database; import com.todoroo.astrid.dao.Database;
import com.todoroo.astrid.dao.MetadataDao; import com.todoroo.astrid.dao.MetadataDao;
import com.todoroo.astrid.dao.TaskDao; import com.todoroo.astrid.dao.TaskDao;
@ -51,9 +50,6 @@ public final class UpgradeService {
@Autowired @Autowired
private String tagTaskTable; private String tagTaskTable;
@Autowired
private DialogUtilities dialogUtilities;
// --- implementation // --- implementation
public UpgradeService() { public UpgradeService() {
@ -69,8 +65,7 @@ public final class UpgradeService {
* @param to * @param to
*/ */
public void performUpgrade(int from, int to) { public void performUpgrade(int from, int to) {
from = 130; if(from >= to || from < 1)
if(from == to)
return; return;
// display changelog // display changelog
@ -87,24 +82,32 @@ public final class UpgradeService {
*/ */
@SuppressWarnings("nls") @SuppressWarnings("nls")
public void showChangeLog(int from, int to) { public void showChangeLog(int from, int to) {
StringBuilder changeLog = new StringBuilder(); StringBuilder changeLog = new StringBuilder("<html><body style='color: white'>");
switch(from) { switch(from) {
case 130:
default: default:
// came from earlier version
case 130:
newVersionString(changeLog, "2.14.0", new String[] { newVersionString(changeLog, "2.14.0", new String[] {
"Pick a calendar to 'Add to Calendar' (in Preferences)", "Pick a calendar to 'Add to Calendar' (in Settings menu)",
"Fixed crashes with backups & sync"}); "RTM: archived lists are ignored",
"Fixed user-reported crashes!"});
// came from bizarre version
} }
if(changeLog.length() == 0) changeLog.append("</body></html>");
return;
WebView webView = new WebView(ContextManager.getContext());
webView.loadData(changeLog.toString(), "text/html", "utf-8");
webView.setBackgroundColor(0);
dialogUtilities.okDialog((Activity)ContextManager.getContext(), new AlertDialog.Builder(ContextManager.getContext())
R.string.UpS_changelog_title, .setTitle(R.string.UpS_changelog_title)
Html.fromHtml(changeLog.toString()), null); .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") @SuppressWarnings("nls")
private void newVersionString(StringBuilder changeLog, String version, String[] changes) { private void newVersionString(StringBuilder changeLog, String version, String[] changes) {
changeLog.append("<font style='text-align: center' color='#ffaa00'><b>Version ").append(version).append(":</b></font><br>"); changeLog.append("<font style='text-align: center; color=#ffaa00'><b>Version ").append(version).append(":</b></font><br><ul>");
for(String change : changes) for(String change : changes)
changeLog.append("&bull; ").append(change).append("<br>"); changeLog.append("<li>").append(change).append("</li>\n");
changeLog.append("<br>"); changeLog.append("</ul>");
} }
// --- database upgrade logic // --- database upgrade logic

Loading…
Cancel
Save