Android Marshmallow demands devices show ALL battery info

Google's collection of "Compatibility Definition" requirements for Android 6.0 Marshmallow includes a clause on battery transparency. What you're going to find there – if you're a manufacturer – is a note on Power Consumption Accounting. While manufacturers working with previous versions of Android had a bit more freedom in what they did and did not show to the end user, this version requires that device implementations of Marshmallow "MUST be able to track hardware component power usage and attribute that power usage to specific applications."

Where before you may've had a device that didn't show your battery time used, or the apps that used said battery time, or your CPU power consumption, this new version of Android will demand the lot. According to the section "Power Consumption Accounting" in the CDD (Compatibility Definition Document), you'll find Google's requirements to be very positive for the end user – IE you.

Power Consumption Accounting
A more accurate accounting and reporting of the power consumption provides the app developer both the incentives and the tools to optimize the power usage pattern of the application. Therefore, device implementations MUST be able to track hardware component power usage and attribute that power usage to specific applications.

Specifically, implementations:

• MUST provide a per-component power profile that defines the current consumption value for each hardware component and the approximate battery drain caused by the components over time as documented in the Android Open Source Project site.

• MUST report all power consumption values in milliampere hours (mAh)

SHOULD be attributed to the hardware component itself if unable to attribute hardware component power usage to an application.

• MUST report CPU power consumption per each process's UID. The Android Open Source Project meets the requirement through the uid_cputime kernel module implementation.

• MUST make this power usage available via the adb shell dumpsys batterystats shell command to the app developer [Resources, 124].

• MUST honor the android.intent.action.POWER_USAGE_SUMMARY intent and display a settings menu that shows this power usage [Resources, 125].

SEE: Will your phone get Android 6.0 Marshmallow?

Sound good to you? As Android Police suggests, we'll soon be able to compare battery life and battery drain on devices of all sorts in reviews of all sorts on a much more even level. We'll likely see this whole shebang implemented within the next year.

The CDD for Marshmallow also called out "Professional Audio" in devices. This means OEMs must fill a set of requirements to reach the Professional Audio requirement – meaning Google is pushing that brand of high-end audio for the future.