Send the error as a task argument
Note that if apptask dies, we will automatically restart the repair task with the args.
This commit is contained in:
+8
-7
@@ -1060,13 +1060,14 @@ function run(appId, args, progressCallback, callback) {
|
||||
case apps.ISTATE_PENDING_RESTORE:
|
||||
return install(app, args, progressCallback, callback);
|
||||
case apps.ISTATE_PENDING_REPAIR:
|
||||
if (app.error.task.installationState === apps.ISTATE_PENDING_UNINSTALL) {
|
||||
return uninstall(app, app.error.task.args, progressCallback, callback);
|
||||
} else if (app.error.task.installationState === apps.ISTATE_PENDING_DATA_DIR_MIGRATION) {
|
||||
return migrateDataDir(app, app.error.task.args, progressCallback, callback);
|
||||
} else if (app.error.task.installationState === apps.ISTATE_PENDING_INSTALL
|
||||
|| app.error.task.installationState === apps.ISTATE_PENDING_CLONE
|
||||
|| app.error.task.installationState === apps.ISTATE_PENDING_RESTORE) {
|
||||
let prevState = args.error && args.error.task ? args.error.task.installationState : apps.ISTATE_PENDING_CONFIGURE;
|
||||
if (prevState === apps.ISTATE_PENDING_UNINSTALL) {
|
||||
return uninstall(app, error.task.args, progressCallback, callback);
|
||||
} else if (prevState === apps.ISTATE_PENDING_DATA_DIR_MIGRATION) {
|
||||
return migrateDataDir(app, error.task.args, progressCallback, callback);
|
||||
} else if (prevState === apps.ISTATE_PENDING_INSTALL
|
||||
|| prevState === apps.ISTATE_PENDING_CLONE
|
||||
|| prevState === apps.ISTATE_PENDING_RESTORE) {
|
||||
return install(app, args, progressCallback, callback);
|
||||
} else {
|
||||
return configure(app, args, progressCallback, callback);
|
||||
|
||||
Reference in New Issue
Block a user