added a second-teir upgrade step, also now we start all services at app start

pull/14/head
Tim Su 16 years ago
parent c74f251a91
commit 8ad2ed3b6c

@ -20,8 +20,11 @@ import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.service.ExceptionService;
import com.todoroo.andlib.service.ExceptionService.TodorooUncaughtExceptionHandler;
import com.todoroo.astrid.backup.BackupService;
import com.todoroo.astrid.dao.Database;
import com.todoroo.astrid.producteev.ProducteevBackgroundService;
import com.todoroo.astrid.producteev.ProducteevUtilities;
import com.todoroo.astrid.rmilk.MilkBackgroundService;
import com.todoroo.astrid.rmilk.MilkUtilities;
import com.todoroo.astrid.utility.Constants;
import com.todoroo.astrid.utility.Preferences;
@ -95,6 +98,8 @@ public class StartupService {
Preferences.setCurrentVersion(version);
}
upgradeService.performSecondaryUpgrade(context);
// perform startup activities in a background thread
new Thread(new Runnable() {
public void run() {
@ -117,6 +122,10 @@ public class StartupService {
MilkUtilities.stopOngoing();
ProducteevUtilities.INSTANCE.stopOngoing();
ProducteevBackgroundService.scheduleService();
BackupService.scheduleService(context);
MilkBackgroundService.scheduleService();
// check for task killers
if(!Constants.OEM)
showTaskKillerHelp(context);

@ -11,6 +11,7 @@ import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.astrid.activity.TaskListActivity;
import com.todoroo.astrid.dao.Database;
public final class UpgradeService {
@ -21,9 +22,13 @@ public final class UpgradeService {
private static final int V3_0_5 = 144;
private static final int V3_0_0 = 136;
private static final int V2_14_4 = 135;
@Autowired
private DialogUtilities dialogUtilities;
@Autowired
private Database database;
public UpgradeService() {
DependencyInjectionService.getInstance().inject(this);
}
@ -169,6 +174,18 @@ public final class UpgradeService {
changeLog.append("</ul>");
}
// --- database upgrade logic
// --- secondary upgrade
/**
* If primary upgrade doesn't work for some reason (corrupt SharedPreferences,
* for example), this will catch some cases
*/
public void performSecondaryUpgrade(Context context) {
if(!context.getDatabasePath(database.getName()).exists() &&
context.getDatabasePath("tasks").exists()) { //$NON-NLS-1$
new Astrid2To3UpgradeHelper().upgrade2To3(context, 1);
}
}
}

Loading…
Cancel
Save