Enhancing the AOSP Android 11 Settings App: Conflict Resolution and Feature Improvements
Introduction to Android Open Source Project (AOSP)
The Android Open Source Project (AOSP) is the foundation of Google's Android operating system. It allows developers and manufacturers to create custom Android experiences tailored to specific devices. This project focuses on refining the Settings app for a device running Android 11, resolving upstream conflicts, enhancing features, and ensuring compatibility and performance.
Key Objectives
Resolve Conflicts:
Address inconsistencies and merge issues from upstream AOSP for compatibility with Android 11.
Fix UI/UX Bugs:
Improve functionality and design across dark and light modes.
Enhance Features:
Introduce support for Fingerprint on Display (FOD), color modes, and customizable themes.
Testing and Validation:
Conduct thorough testing to maintain stability and improve user experience.
Key Contributions and Fixes
1. Resolving Upstream Conflicts
- Screen-Off FOD Fix:
Adjusted the default behavior of the Fingerprint on Display (FOD) gesture during screen-off to function seamlessly without requiring manual toggling. A patch ensures consistent performance even after resetting or reinstalling.
Commit Link: https://github.com/TheStreak969/packages_apps_settings/commit/01136b3a4bf448ee4b5c8b3ae11791e0d855f792
2. UI/UX Enhancements
Dynamic Theme Support: Replaced hardcoded black text in the storage summary with theme-based colors, ensuring better readability across light and dark modes.
Commit Link: https://github.com/TheStreak969/packages_apps_settings/commit/e7884a55963efc481271b52d8406503fa56a5ff7SwitchBar Improvements:
Fixed issues with dark mode where enabled and disabled states were visually indistinguishable by utilizing framework-defined text colors.
Commit Link: https://github.com/TheStreak969/packages_apps_settings/commit/ad7da69416ce86fc29349b944861d081123b9c53
3. Device-Specific Customization
Vendor Color Modes:
Allowed devices to define custom color modes for better display tuning and user preferences.
Commit Link: https://github.com/TheStreak969/packages_apps_settings/commit/01136b3a4bf448ee4b5c8b3ae11791e0d855f792Emergency Alert Renaming: Updated the UK Emergency Alerts app name for better localization and clarity.
Commit Link: https://github.com/TheStreak969/packages_apps_settings/commit/4e018545a70a5fac946245eb45d488fa1318a6e2
4. Code Cleanup and Performance Optimization
Removed redundant hardcoding and modernized layout XML files for better performance.
Streamlined color and theme logic for dynamic responsiveness and alignment with Android 11 APIs.
Challenges and Solutions
1. Conflict Management
Merging upstream AOSP updates introduced compatibility challenges with device-specific code. For instance, the Screen-Off FOD switch required careful adjustments to ensure compatibility without user intervention.
2. Testing and Debugging
Thorough testing was performed across multiple devices to identify and resolve edge cases, including handling mismatched color modes and ensuring stable integration of new features.
3. Maintaining Compatibility
Adapting to API changes in Android 11 required continuous updates to ensure compatibility with newer frameworks and device configurations.
Repository and Commit Highlights
Explore the repository for detailed changes:
GitHub Repository Link:
https://github.com/TheStreak969/packages_apps_settings
Key Commits:
Disable Screen-Off FOD:
Fix Hardcoded Storage Text:
Dark Mode Fix for SwitchBar:
UK Emergency Alert Rename:
Conclusion
This project demonstrates the flexibility and power of AOSP in creating custom Android experiences. By addressing conflicts, enhancing UI/UX, and integrating device-specific features, I ensured a smoother, more reliable experience for Android 11 users.
Project Link: https://github.com/TheStreak969/packages_apps_settings
Your feedback and contributions are always welcome!
Proof of My Work
I hope u liked my post. Thanks ;)
Feedback and contributions are welcome!