Add request code for upgrades

pull/384/head
Alex Baker 10 years ago
parent 0d85adcb28
commit 7de4e98746

@ -15,6 +15,7 @@ import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.api.FilterWithCustomIntent; import com.todoroo.astrid.api.FilterWithCustomIntent;
import com.todoroo.astrid.data.TagData; import com.todoroo.astrid.data.TagData;
import com.todoroo.astrid.service.StartupService; import com.todoroo.astrid.service.StartupService;
import com.todoroo.astrid.service.UpgradeActivity;
import com.todoroo.astrid.subtasks.SubtasksHelper; import com.todoroo.astrid.subtasks.SubtasksHelper;
import org.tasks.R; import org.tasks.R;
@ -23,6 +24,8 @@ import org.tasks.ui.NavigationDrawerFragment;
import javax.inject.Inject; import javax.inject.Inject;
import timber.log.Timber;
/** /**
* This wrapper activity contains all the glue-code to handle the callbacks between the different * This wrapper activity contains all the glue-code to handle the callbacks between the different
* fragments that could be visible on the screen in landscape-mode. * fragments that could be visible on the screen in landscape-mode.
@ -40,7 +43,7 @@ public abstract class AstridActivity extends InjectingAppCompatActivity
public static final int LAYOUT_SINGLE = 0; public static final int LAYOUT_SINGLE = 0;
public static final int LAYOUT_DOUBLE = 1; public static final int LAYOUT_DOUBLE = 1;
public static final int RESULT_RESTART_ACTIVITY = 50; public static final int REQUEST_UPGRADE = 505;
protected int fragmentLayout = LAYOUT_SINGLE; protected int fragmentLayout = LAYOUT_SINGLE;
@ -147,11 +150,14 @@ public abstract class AstridActivity extends InjectingAppCompatActivity
@Override @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) { protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_RESTART_ACTIVITY) { if (requestCode == REQUEST_UPGRADE && resultCode == RESULT_OK) {
finish(); if (data != null && data.getBooleanExtra(UpgradeActivity.EXTRA_RESTART, false)) {
startActivity(getIntent()); Timber.w("Upgrade requires restart");
return; finish();
startActivity(getIntent());
}
} else {
super.onActivityResult(requestCode, resultCode, data);
} }
super.onActivityResult(requestCode, resultCode, data);
} }
} }

@ -19,6 +19,7 @@ import com.todoroo.andlib.sql.Criterion;
import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.astrid.activity.TaskListActivity; import com.todoroo.astrid.activity.TaskListActivity;
import com.todoroo.astrid.adapter.FilterAdapter; import com.todoroo.astrid.adapter.FilterAdapter;
import com.todoroo.astrid.activity.AstridActivity;
import com.todoroo.astrid.backup.TasksXmlImporter; import com.todoroo.astrid.backup.TasksXmlImporter;
import com.todoroo.astrid.dao.Database; import com.todoroo.astrid.dao.Database;
import com.todoroo.astrid.dao.DatabaseUpdateListener; import com.todoroo.astrid.dao.DatabaseUpdateListener;
@ -132,7 +133,7 @@ public class StartupService {
if(lastVersion > 0) { if(lastVersion > 0) {
activity.startActivityForResult(new Intent(activity, UpgradeActivity.class) {{ activity.startActivityForResult(new Intent(activity, UpgradeActivity.class) {{
putExtra(UpgradeActivity.TOKEN_FROM_VERSION, lastVersion); putExtra(UpgradeActivity.TOKEN_FROM_VERSION, lastVersion);
}}, 0); }}, AstridActivity.REQUEST_UPGRADE);
} }
preferences.setDefaults(); preferences.setDefaults();
preferences.setCurrentVersion(currentVersion); preferences.setCurrentVersion(currentVersion);

@ -27,6 +27,8 @@ public class UpgradeActivity extends InjectingAppCompatActivity {
public static final String TOKEN_FROM_VERSION = "from_version"; //$NON-NLS-1$ public static final String TOKEN_FROM_VERSION = "from_version"; //$NON-NLS-1$
public static final String EXTRA_RESTART = "extra_restart";
public static final int V4_8_0 = 380; public static final int V4_8_0 = 380;
public static final int V3_0_0 = 136; public static final int V3_0_0 = 136;
@ -46,6 +48,7 @@ public class UpgradeActivity extends InjectingAppCompatActivity {
new Thread() { new Thread() {
@Override @Override
public void run() { public void run() {
boolean restartRequired = false;
try { try {
if (from < V4_8_0) { if (from < V4_8_0) {
performMarshmallowMigration(); performMarshmallowMigration();
@ -54,7 +57,9 @@ public class UpgradeActivity extends InjectingAppCompatActivity {
finished = true; finished = true;
DialogUtilities.dismissDialog(UpgradeActivity.this, dialog); DialogUtilities.dismissDialog(UpgradeActivity.this, dialog);
sendBroadcast(new Intent(AstridApiConstants.BROADCAST_EVENT_REFRESH)); sendBroadcast(new Intent(AstridApiConstants.BROADCAST_EVENT_REFRESH));
setResult(AstridActivity.RESULT_RESTART_ACTIVITY); Intent data = new Intent();
data.putExtra(EXTRA_RESTART, restartRequired);
setResult(RESULT_OK, data);
finish(); finish();
} }
} }

Loading…
Cancel
Save