The logic in your `then()` is basically turning `Q.allSettled` back into `Q.all`.

If one of the child promises fails, `Q.all` fails with that error. If they all pass, it returns the array of their fulfillment values. Therefore the logic you want is:

    return Q.all([this.check_ant(), this.check_java(), this.check_android()]).then(function() {
        console.log('Looks like your environment fully supports cordova-android development!');
    });

And that should behave identically to this code while being much simpler.

Also note that we should be calling `check_java()`, not passing it. That's an error in my original, apparently, and it should be fixed.