Version bump, progress dialog

pull/14/head
Sam Bosley 14 years ago
parent 50db04ffd6
commit 87971abe9c

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.timsu.astrid"
android:versionName="4.0.5.1"
android:versionCode="261">
android:versionName="4.0.6"
android:versionCode="262">
<!-- widgets, alarms, and services will break if Astrid is installed on SD card -->
<!-- android:installLocation="internalOnly"> -->

@ -659,6 +659,9 @@ you get stuff done. It features reminders, tags, sync, Locale plug-in, a widget
<string name="DB_corrupted_title">Corrupted Database</string>
<!-- Progress dialog title for long upgrades/migrations -->
<string name="upgrade_progress">Upgrading...</string>
<string name="DB_corrupted_body">
Uh oh! It looks like you may have a corrupted database.
If you see this error regularly, we suggest you clear all

@ -2,6 +2,8 @@ package com.todoroo.astrid.helper;
import java.util.Date;
import android.content.Context;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
@ -27,27 +29,27 @@ public class DueDateTimeMigrator {
public void adjust(Date date);
}
public void migrateDueTimes() {
public void migrateDueTimes(Context c) {
if (!Preferences.getBoolean(PREF_MIGRATED_DUE_TIMES, false)) {
// Get tasks with due time (i.e. due date != 23:59:59)
TodorooCursor<Task> tasksWithSeconds = taskDao.query(Query.select(Task.ID, Task.TITLE, Task.DUE_DATE).where(
TodorooCursor<Task> tasksWithDueTime = taskDao.query(Query.select(Task.ID, Task.TITLE, Task.DUE_DATE).where(
Criterion.and(Task.DUE_DATE.gt(0),
Criterion.not(Functions.strftime(Task.DUE_DATE).eq(LEGACY_NO_TIME_STRING)))));
// Set those tassk to have time HH:MM:00
processCursor(tasksWithSeconds, new TaskDateAdjuster() {
// Get tasks with no due time (i.e. due date = 23:59:59)
TodorooCursor<Task> tasksWithoutDueTime = taskDao.query(Query.select(Task.ID, Task.TITLE, Task.DUE_DATE).where(
Criterion.and(Task.DUE_DATE.gt(0),
Functions.strftime(Task.DUE_DATE).eq(LEGACY_NO_TIME_STRING))));
// Set tasks with time to have time HH:MM:01
processCursor(tasksWithDueTime, new TaskDateAdjuster() {
@Override
public void adjust(Date date) {
date.setSeconds(1);
}
});
// Get tasks with no due time (i.e. due date = 23:59:59)
TodorooCursor<Task> tasksWithoutDueTime = taskDao.query(Query.select(Task.ID, Task.TITLE, Task.DUE_DATE).where(
Criterion.and(Task.DUE_DATE.gt(0),
Functions.strftime(Task.DUE_DATE).eq(LEGACY_NO_TIME_STRING))));
// Set those tasks to have time 12:00:00
// Set tasks without time to 12:00:00
processCursor(tasksWithoutDueTime, new TaskDateAdjuster() {
@Override
public void adjust(Date date) {
@ -65,7 +67,6 @@ public class DueDateTimeMigrator {
try {
for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
curr.readFromCursor(cursor);
System.err.println("Processing task: " + curr.getValue(Task.TITLE) + ", ID: " + curr.getId());
long time = curr.getValue(Task.DUE_DATE) / 1000L * 1000L;
Date date = new Date(time);
adjuster.adjust(date);

@ -9,6 +9,7 @@ import org.weloveastrid.rmilk.data.MilkNoteHelper;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
@ -26,6 +27,7 @@ import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.actfm.sync.ActFmPreferenceService;
import com.todoroo.astrid.activity.Eula;
import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.core.SortHelper;
import com.todoroo.astrid.dao.Database;
import com.todoroo.astrid.data.Metadata;
@ -137,7 +139,7 @@ public final class UpgradeService {
// long running tasks: pop up a progress dialog
final ProgressDialog dialog;
if(from < V3_0_0 && context instanceof Activity)
if(from < V4_0_6 && context instanceof Activity)
dialog = DialogUtilities.progressDialog(context,
context.getString(R.string.DLG_upgrading));
else
@ -145,10 +147,6 @@ public final class UpgradeService {
Preferences.setInt(AstridPreferences.P_UPGRADE_FROM, from);
// This needs to happen synchronously otherwise the tasklist will look wrong on first launch.
if (from < V4_0_6)
new DueDateTimeMigrator().migrateDueTimes();
new Thread(new Runnable() {
@Override
public void run() {
@ -165,8 +163,12 @@ public final class UpgradeService {
if(from < V3_8_4 && Preferences.getBoolean(R.string.p_showNotes, false))
taskService.clearDetails(Task.NOTES.neq("")); //$NON-NLS-1$
if (from < V4_0_6)
new DueDateTimeMigrator().migrateDueTimes(context);
} finally {
DialogUtilities.dismissDialog((Activity)context, dialog);
context.sendBroadcast(new Intent(AstridApiConstants.BROADCAST_EVENT_REFRESH));
}
}

Loading…
Cancel
Save