diff --git a/src/appdb.js b/src/appdb.js index 5250cd3a4..2df4e1d15 100644 --- a/src/appdb.js +++ b/src/appdb.js @@ -376,14 +376,14 @@ function setInstallationCommand(appId, installationState, values, callback) { // Rules are: // uninstall is allowed in any state // force update is allowed in any state including pending_uninstall! (for better or worse) - // restore is allowed from installed or error state + // restore is allowed from installed or error state or currently restoring // configure is allowed in installed state or currently configuring or in error state // update and backup are allowed only in installed state if (installationState === exports.ISTATE_PENDING_UNINSTALL || installationState === exports.ISTATE_PENDING_FORCE_UPDATE) { updateWithConstraints(appId, values, '', callback); } else if (installationState === exports.ISTATE_PENDING_RESTORE) { - updateWithConstraints(appId, values, 'AND (installationState = "installed" OR installationState = "error")', callback); + updateWithConstraints(appId, values, 'AND (installationState = "installed" OR installationState = "error" OR installationState = "pending_restore")', callback); } else if (installationState === exports.ISTATE_PENDING_UPDATE || installationState === exports.ISTATE_PENDING_BACKUP) { updateWithConstraints(appId, values, 'AND installationState = "installed"', callback); } else if (installationState === exports.ISTATE_PENDING_CONFIGURE) {