GrxSettings V2.1 (02-08-2020) is an app for configuring user preferences - LP 5.1+ (Rom Control App)
Download Updated Demo App
Features
User Options
GrxSettingsV2_1 in github
License
All the source code made by me in this app is Licensed under the Mozilla Public License Version version 2.0. Read here the full MPL 2.0 License text
Used Libraries & Credits
- Floating Action Button, by makovkastar (MIT License)
- SublimeNavigationView, by vikramkakkar ((Apache License 2.0)
- QuadFlask ColorPicker, by QuadFlask ((Apache License 2.0))
- Square ColorPicker by Sergey Margaritov (Apache License 2.0)
- RootTools from kernelAdiutor (GPL 3.0 License)
Devs Guide
A guide for devs will be found on github project -> demo_and_guide folder (under construction)
Demo App
Attached to this post you will find an updated demonstration app. To test all the features you will need root access. If you find problems in the settings global, secure and system section, uninstall the application and install it in priv-app .
This demo app will not mess your device, since it is using only its shared preferences and no new value is stored in settings.
Download updated demo app
ScreenShots
Download Updated Demo App
Features
- 30 hightly customizable type of preferences
- New Feature in v2.1 : Grouped Values Feature which allow us to do mods in a different way, saving in just one settings key as many preferences values as we need.
- Preferences can be declared using their short class name.
- Easy navigation panel configuration, with groups support.
- Many user options for configuring the app. Some of them are disabled by the dev through booleans.
- 6 themes included. Easy customization and creation of new themes.
- Customizable dependency rules, which although simple, allow a more advanced behavior than the use of Android standard dependencies
- Up to 6 actions can be launched after a preference change: Simulate onclicks on other preferences (under customizable conditions), Change Group Keys values, Send up to two customizables broadcast, Run a script: the script can be defined in a string-array, a file (in this case you can pass arguments), Reboot the device with confirmation dialgo or not, Kill an app (confirmation dialog ooptional).
These actions are executed in a predefined order (defined in a string) but can be overriden on every preference.
- Hide or show groups of screens, screens and preferences based on build prop properties values
- Nested screens with support to kept seen the toolbar.
- Support for system, global and secure settings.
- The app should be installed in priv-app to get access to secure and global, or to mod your rom to allow not privileged apps to get it. These preferences are updated in case the user go to settings, change the preference value and come back to the app.
- Customizable Rom Info section, with sliding tabs support. Mods developers can design as many screens as they need to show information about their works. Some extended views has been added in order to make this work easier.
- Floating Action Button, with a standardized operation throughout the application.
- Floating Area with links to recents screens
- Backup and restore of preferences with synchronization of stored values in settings system
- From your mods you can easily open a screen, sub-screen and even simulate a click on a preference through intents with predefined intent extras strings
User Options
- Theme selection, if this feature is allowed by the develooper
- Navigation panel header background (image), if this featured is allowed by the develooper
- Divider height in listviews
- Three color pickers styles. Color preferences will use this selection, unless the dev specifies one style on a preference. In led pulse preferences the square style is always used.
- Show - hide floating action button
- Floating Action Button position (left, center, right)
- Floating Recents Screen window, allowing the user to select if it dismissed when pressing back or touching outside of it. The user can place the area anywhere and also to change the transparency
- Navigation Panel position is adjusted automatically depending on the locale (RTL or LTR). Added an option to force the desired position
- Options to show expand - collapse buttons (for screen groups) or for showing groups always expanded
- Exit Confirmation option
- Remember last screen
- Double clicking on most of the preferences allows the user to reset its value to the default value. In color pickers a long click on the selected color allows the user to copy to the clipboard its value
GrxSettingsV2_1 in github
License
All the source code made by me in this app is Licensed under the Mozilla Public License Version version 2.0. Read here the full MPL 2.0 License text
Used Libraries & Credits
- Floating Action Button, by makovkastar (MIT License)
- SublimeNavigationView, by vikramkakkar ((Apache License 2.0)
- QuadFlask ColorPicker, by QuadFlask ((Apache License 2.0))
- Square ColorPicker by Sergey Margaritov (Apache License 2.0)
- RootTools from kernelAdiutor (GPL 3.0 License)
Devs Guide
A guide for devs will be found on github project -> demo_and_guide folder (under construction)
Demo App
Attached to this post you will find an updated demonstration app. To test all the features you will need root access. If you find problems in the settings global, secure and system section, uninstall the application and install it in priv-app .
This demo app will not mess your device, since it is using only its shared preferences and no new value is stored in settings.
Download updated demo app
ScreenShots