Android Design Patterns: Interaction Design Solutions for Developers