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.data.TagData;
import com.todoroo.astrid.service.StartupService;
import com.todoroo.astrid.service.UpgradeActivity;
import com.todoroo.astrid.subtasks.SubtasksHelper;
import org.tasks.R;
@ -23,6 +24,8 @@ import org.tasks.ui.NavigationDrawerFragment;
import javax.inject.Inject;
import timber.log.Timber;
/**
* 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.
@ -40,7 +43,7 @@ public abstract class AstridActivity extends InjectingAppCompatActivity
public static final int LAYOUT_SINGLE = 0;
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;
@ -147,11 +150,14 @@ public abstract class AstridActivity extends InjectingAppCompatActivity
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_RESTART_ACTIVITY) {
finish();
startActivity(getIntent());
return;
if (requestCode == REQUEST_UPGRADE && resultCode == RESULT_OK) {
if (data != null && data.getBooleanExtra(UpgradeActivity.EXTRA_RESTART, false)) {
Timber.w("Upgrade requires restart");
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.astrid.activity.TaskListActivity;
import com.todoroo.astrid.adapter.FilterAdapter;
import com.todoroo.astrid.activity.AstridActivity;
import com.todoroo.astrid.backup.TasksXmlImporter;
import com.todoroo.astrid.dao.Database;
import com.todoroo.astrid.dao.DatabaseUpdateListener;
@ -132,7 +133,7 @@ public class StartupService {
if(lastVersion > 0) {
activity.startActivityForResult(new Intent(activity, UpgradeActivity.class) {{
putExtra(UpgradeActivity.TOKEN_FROM_VERSION, lastVersion);
}}, 0);
}}, AstridActivity.REQUEST_UPGRADE);
}
preferences.setDefaults();
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 EXTRA_RESTART = "extra_restart";
public static final int V4_8_0 = 380;
public static final int V3_0_0 = 136;
@ -46,6 +48,7 @@ public class UpgradeActivity extends InjectingAppCompatActivity {
new Thread() {
@Override
public void run() {
boolean restartRequired = false;
try {
if (from < V4_8_0) {
performMarshmallowMigration();
@ -54,7 +57,9 @@ public class UpgradeActivity extends InjectingAppCompatActivity {
finished = true;
DialogUtilities.dismissDialog(UpgradeActivity.this, dialog);
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();
}
}

Loading…
Cancel
Save