Important note: This documentation is currently work in progress!!! You currently will find much more in the app than in the documentation.
- 1 Boeffla-Config overview
- 2 Special Boeffla-Config functionalities
- 3 App Questions & Answers
The Boeffla-Config app primarily consists of the following components:
- Main page with tabs to configure the kernel
- Profile maintenance page
- App settings page
- Action menu
- App menu
After you start the app for the first time, a new profile called "Default" will be created and activated. You can straight away maintain this profile by changing the kernel settings to your favourite configuration. Profiles are kind of "logical groups" for different kernel settings. You can freely define profiles, e.g. one for performance, one for battery saving and so on. A profile always contains all kernel settings you have configured before.
Important: In general, always the active profile (the one you can see on the top right in the action bar in brackets) is the profile which is currently loaded and which settings you can maintain in the tabs of the main window. This is also the profile which will automatically be loaded when you restart your phone.
In the profile maintenance page you have the option to create new profiles, copy existing profiles into new ones, reset profiles, delete profiles and load them to be the active profile. You also can create shortcuts on your homescreen to quickly apply the profile's settings without needing to launch the app. When you are on Android N or higher, you can assign a profile to a quick settings tile. Last not least, a profile can be exported to a json file and imported again.
The settings page allows you to configure the app itself, you can also reset the complete app in a worst-case scenario.
The main objectives for Boeffla-Config are:
- Allow a user to do the configuration work quickly (no annoying "are you sure" or "confirm" buttons and questions)
- Designed to be very lean in terms of CPU usage (and therefore battery usage) and memory footprint
- Never do anything in the background without the user explicitely requesting it in the app settings
- Provide all functionalities required for efficient kernel configuration for free
- Give people that honor my work with a small donation a couple of more comfort and expert functions
Main pages to configure the kernel
The first "Overview" tab provides an overview about some parameters of your device. It also allows you to quickly:
- disable and enable SeLinux (this is sticky across reboots)
- disable and enable Android's Doze function (this is sticky across reboots)
- Reset the CPU and GPU frequency usage statistics by setting a custom reference (button on the end of the page)
- Undo a previously set custom reference for the CPU and GPU statistics again
The following tabs are the main area to configure and tweak the kernel in detail:
- CPU (multiple tabs when multiple cpu clusters)
- Miscellaneous 1
- Miscellaneous 2
- Profile Script
For detailed information about the settings above, please go to Kernel Settings Reference.
Profile maintenance page
You enter the profile maintenance page by clicking on the profile name in the actionbar (top right).
In this page you have the following options:
- Clicking a profile loads the profiles settings and defines this profile as the "active" profile from that time onwards
- Create a new, "empty" (= default kernel settings) profile via the "New..:" button in the left bottom corner
- Loading a saved profie via the "Load..." button on the bottom of the screen
- Loading a saved foreign profie via the "Load foreign..." button on the bottom of the screen (this does not load CPU+GPU voltages and LMK settings)
Context menu when you long-press a profile in the list:
- Copy a profile with all its settings into a new profile
- Change name of a profile
- Change description of a profile
- Reset all settings of a profile (back to default kernel settings)
- Create a shortcut to the profile on your homescreen, that allows to switch between settings without launching the Boeffla-Config app
- Assign a profile to a quicksettings time (only Android N or higher)
- Unassign a profile from a quicksettings time (only Android N or higher)
- Export a profile to a file (format is json, file will be stored in /boeffla-kernel-data folder)
- Delete a profile
A profile always consists of a profile name and a profile description, both fields can be freely populated by you. Please note, the profile called "Default" can never be deleted to ensure, there is always at least one profile left in the list.
By creating a shortcut to a profile on your homescreen you can load the profiles settings and make the profile the active profile by an easy klick on the icon.
App settings page
The settings page lets you configure a few functionalities of the app itself. To reach the settings page, press the menu soft key on your device or the three dots at the top right corner, then select "Settings" from the menu.
The app settings are split across multiple areas, which are:
- User interface settings
- Background activities
- Various settings
- Kernel startup actions (restart required)
- Allow settings overwrite (only Qualcomm)
- TWRP Nandroid settings
- App maintenance
This is followed by the donation credentials section, which consists of:
- E-Mail address
This is where you need to enter your donation credentials that you will be provided after you did a donation to support my work.
The last section is about general app information:
- Detailed version information of the app
- Follow me on... which lists ways you can inform yourself about my work and stay up-to-date (Twitter is strongly recommended)
- Last app changes... (displaying the changes of the last app version)
- Credits of people that contributed to the app (mainly translations)
There is a so called "Action-menu" in the top right corner in the action bar. This can be opened by clicking on the text "action" and will give you the following choices:
- Load & flash/ store kernel: Load latest stable or test version online and flash directly in recovery or store it on your device for later flashing
- Extended flash → Recovery img/bin/tar/md5: You can flash a new recovery from the app
- Extended flash → Modem img/bin/tar/md5: You can flash a new modem from the app
- Wipe + Cleanup → Wipe caches & reboot: Delete content of cache partition, Dalvik-cache and restarts the device
- Wipe + Cleanup → Wipe cache partition: Delete content of cache partition
- Wipe + Cleanup → Wipe clipboard cache: Cache of clipboard will be deleted
- Wipe + Cleanup → Clean init.d folder: Create a backup of content in directory /system/etc/init.d and clean the directory afterwards
- Storage → Check file systems: Performs a file system check per volume and shows result
- Storage → Fix permissions: Fixes some file system permissions on /system and /data partitions, Caution: can have negative side effects
- Storage → File system trim: Trims /system, /data and /cache partitions and shows result
- Storage → Rescan sd memory: Triggers a media scanner run (onlys work on selected Android versions and devices)
- App downgrade: Overwrite an installed app with an older version from a apk file (onlys work on selected Android versions and devices)
- TWRP screen: Opens the TWRP recovery automation screen (donation users only)
- Reboot → Reboot recovery: Reboot device into recovery
- Reboot → Reboot download mode: Reboot device into download mode for Odin (Samsung only)
- Reboot → Reboot bootloader mode: Reboot device into boot loader mode
- Reboot → Reboot: Reboot device
- Reboot → Reboot quick: Perform a quick reboot, which only restarts the rom but not the kernel (hot reboot)
- Reboot → Shut down: Powers off the device
- Scripting: Opens the general scripting screen (donation users only)
- Battery statistics: Opens the battery statistics screen
- Switch UMS mode temporarily to on (for some kernels)
- Debug → Create app dump file: Creates a file showing the app internal data structures for debugging purpose (only use when requested)
- Debug → Create debug info file: Creates a file supporting the developer in debugging (only use when requested)
The app has a general menu, which you can bring up by pressing the menu soft button on your device (only when on main page). This app menu covers the following options:
- Settings: Opens the settings page
- Help: Shows the help pages for Boeffla-Config
- App change log: Shows the change log of Boeffla-Config
- Kernel change log: Shows the change log for the installed kernel
- Kernel homepage: Opens the Boeffla site (www.boeffla.de)
- Donation: Shows information how you can donate if you want to support my work
- Check for new app version: Checks if a new app version is available to be installed
- Exit: Close the app
Special Boeffla-Config functionalities
Since version 2.5.0 of Boeffla-Config, the user can enable collection Battery statistic information by the app. In fact, the app would monitor the system for a while and then calculate battery discharge and charge information in % battery / hour. This is a very powerful functionality but also requires a user to understand how to interpret it.
Data is available for three different scenarios:
- Since charged (data is reset once a charger gets connected)
- Since boot (data is reset at every boot)
- Custom (data is reset only when user requests it)
For every scenario, the following information is available:
- Total time, time screen on and time screen off
- Total discharge %/h, discharge %/h during screen on, discharge %/h during screen off
- Total charge %/h, charge %/h during screen on, charge %/h during screen off
The time data is showing the figures since last reset of the scenario. The discharge data shows the figures for the period when the device is not charged (i.e. no charger or usb connected). The charge data shows the figures for the charge cycle (when a charger or usb is connected)
In a nutshell:
This means, you can efficiently see how much battery is consumbed by the device in total, and separated for screen off and on. Also you can see how efficient your charger charges the phone in total, and also separated. In short - you can optimize a lot when you know the values at some point in time.
This is how it looks like:
Almost everything in life comes with a catch. Here the catch is, Android does not provide this data at all in this granularity. So Boeffla-Config will have to gather this information itself, starting to monitor the system and after a while in certain conditions it can start to calculate the data. As longer as it runs, it will refine the values more and more.
In order to indicate how good the data accuracy is, the figures are shown in red when they are still considered quite rough, yellow when there is decent accuracy and finally normal colour indicates the values should be quite correct.
Note: It is very normal when no values are calculated for some time. It really depends a lot how you use your phone and when Boeffla-Config can try to interpolate the different scenarios. Just use your phone as always and slowly the values will be dropping in.
Display in the overview window of the app
The most important data is clearlythe discharging data since last charge cycle, so we show this also on the overview page already. Please see here how that looks like:
Display in the notification bar
Since app version 2.5.01, you can activate displaying battery statistics in the notification bar as an ongoing notification. To activate this, go into the background activity settings of the app and select which battery statistics you want to see in the notification bar. You can select between none (which is the default) or the other three scenarios "since charged", "since boot" and "custom".
This is how it looks like:
And this is what is means:
- Battery: current battery level in %, followed by current battery temperature in Celsius
- Tot: total discharge rate in %/h
- On: discharge rate in %/h during screen on
- Off: discharge rate in %/h during screen off
- This is followed by the total time of the statistics in hours, minutes and seconds after the forward slash.
Battery log file
In the app settings, you can additionally enable writing a battery log file, which will write timestamps and battery levels into a file bc-batter.log in the boeffla-kernel-data folder on your sd memory. This gives you some history of battery level changes on top.
Final remark: You should be aware, enabling the battery statistics collection in app settings (in Background activities section) uses a background service, which Boeffla-Config will spin up. The service is of course designed to be super lean, but it uses a few MB of memory and a couple of CPU cycles every then and now. You should just know it.
TWRP actions screen
App Questions & Answers
App does not start
In order to use Boeffla-Config, the following prerequisites must be met:
- A compatible Boeffla-Kernel must be installed
- Your device must be rooted
- Boeffla-Configt must not be included in Android's battery optimizations
Boeffla-Config cannot be used on unrooted installations!
Phone does not start anymore
In case you have configured settings that prevent your device from booting up, like too much undervolting, too much overclocking etc, you are ending up in a so called "boot loop".
Usually the latest Boeffla-Config apps can detect this and prevent loading the settings during next boot automatically.
In case this does not work, reset your start configuration by entering recovery mode (boot up your phone with volume-up, home and power keys pressed at the same time). Then, please flash the file boeffla-config-reset-v3.zip in recovery which you can find in folder /boeffla-kernel-data on your internal sd memory.
This causes no settings being loaded during next phone start. Open the config app now and correct your settings finally.
(Alternative: Delete folder /data/.boeffla in TWRP or with a file manager if you can still do that - the flashable reset zip script also does nothing else).
Please visit www.boeffla.de for instructions how you can support my work.
Please note: The primary reason for the donation key is to provide people that are willing to donate an alternative channel to PayPal. Hence, the additional functions of the pro version will never be major but just some function to make life more comfortable.
Integration with Tasker
With tasker (which is quite complex, you need to dig in a little bit to understand it) you can define any rule you want and trigger the load of a Boeffla-Config profile based on your rule. All you need to do is to send an intent from tasker to Boeffla Config with the profile name you want to load.
Here is the configuration of the intent:
- Action: android.intent.action.MAIN
- Cat: None
- MIME Type: (keep empty)
- Data: (keep empty)
- Extra: profile:xxx
- Extra: (keep empty)
- Package: de.andip71.boeffla_config_v2
- Class: de.andip71.boeffla_config_v2.ProfileShortcutActivity
- Target: Activity
Please replace xxx by the profile name you want to load (case sensitive!).