NOTE: This app is currently in beta stage, meaning that the app is not bug-free, and stability may vary across devices. Future updates will improve on this!
Application Developer: ZeroInfinity
Helix Engine is an Accessibility Service which automates dynamic performance profile switching (battery/balanced/performance modes) to provide better efficiency, improve battery consumption and performance depending on your usage.
For premium users, it integrates the use of Machine Learning to automatically adjust each tunable to the recommended value, which is calculated from the most common tunable used from people who have opted-in for the User Experience Program.
- Root (I think this is obvious but just in case it's not...)
- An ARM (32-bit ARMv7) or ARM64 (64-bit ARMv8) chipset
- Android 7.0 or above
- No other modifications which may tweak kernel tunables automatically (e.g. Advanced Kernel Tweaks, LSpeed, HEBF etc.)
- [PREMIUM] Machine Learning Mode
NOTE: Machine Learning Mode for profile data will not work for everyone. If your chipset is not in the database yet, you will have to configure it yourself. You will know this when you enable Machine Learning Mode and your profile data has not changed. Please enable User Experience Mode after configuring your profile data to add your chipset into the Machine Learning Mode's database.
- App Engine
Balanced : The default profile for all apps and newly installed apps. Apps that you think requires a decent amount of power, but not as much as the power intensive applications suitable for performance profile.
Performance : High-performance mode to enable buttery smooth gaming, as well as exceptional benchmark performance (if you are into that sort of thing). Also useful for very power intensive tasks like backup managers, file explorers (when transferring large files), media editing tools, camera apps, launchers (for fast app launches) etc.
Whitelist : Helix Engine will detect these apps and will avoid applying any profile when they are in use. Useful for apps such as keyboards when they become the top-app when the keyboard appears on the screen, avoids unecessary profile switching.
The engine detects which app is currently in use (in the top-app group), and will apply the profile's configuration according to the profile you've set the app to automatically. For example, the battery profile's configuration is applied when an application that has been set to the battery profile has been detected as currently running. Apps set to balanced will apply the balanced profile's configuration. Apps set to performance will apply the performance profile's configuration. Apps set to whitelist will be ignored (i.e. no profile changes from the previous profile that was applied when the whitelisted app is in the top-app group).
Multi select feature: Long press on each app card in the App Engine list to multi select apps, then change the profile on one of the selected apps. It will change all of the other selected apps to the same profile.
Auto Whitelist (Some apps will not show in the App Engine page, as they are auto-whitelisted to prevent Helix Engine from unnecessarily switch profiles):
- Magisk Manager (even whitelisted if Magisk Manager's package name is hidden)
- Profile Data Customization
- Suspend Engine
- Over-execution prevention
Take this scenario for example. You set Facebook and Messenger both to battery. You launch Facebook and it becomes the top-application, battery profile's configuration will be applied. Then you switch to messenger via recent apps and messenger becomes the top-application, battery profile's configuration will not be applied again because it was already applied in the application that was top-application before. This significantly increases the efficiency of how the engine runs.
- Backup and Restore App Engine Data
- Backup and restore profile data:
- [PREMIUM] View system apps
- [PREMIUM] Search function in App Lists
Google Play Store Listing
Official Helix Engine Debugging Tool
Massive thanks to [email protected]_USA for supplying me with a Honor View 10 to develop on! Without this, I would not be able to provide proper support for Kirin 970 chipsets!
Massive thanks to @RogerF81 for maintaining all of the scripts for Helix Engine and alpha/beta testing! Also inspiration for ideas
Thanks to @Mostafa Wael for encouraging me to jump to Oneplus, giving some ideas on improving the engine, and beta testing!
Thanks to @Asiier for integrating AKT with Helix Engine and helping us improve our scripts!
Thanks to @geko95gek for being a 32-bit ARM tester
Thanks to my team members at Team Helix for supporting me!
Thanks to @ivicask for giving me the idea of the concept for this engine before it was created. Without him, I wouldn't even have started this project. Also massive thanks to him for helping us with LMK tweaks, giving us pointers on what to improve!
Thanks to @AFAFontes for helping us improve and fix bugs with the scripts.
Thanks to anjlab for in-app billing library (Source)
Thanks to @topjohnwu for libsu library (Source)
Donations are completely optional and are always greatly appreciated: https://www.paypal.me/ZeroInfinityXDA