Context-Aware Adaptation of Mobile Applications Driven by Software Quality and User Satisfaction