0

Background information (you can skip this)

The Sensor Detect app says that the LG G5 includes a "LGE Step Counter Sensor" made by "QTI" which uses about 0.18 mA of energy.

"QTI" could theoretically be QTI Sensing, but I suspect it's actually Qualcomm Technologies, Inc.

This Medium post discusses QTI sensors for Android devices.

Google writes that, on Android devices, the "step counter and step detector sensors are either hardware-based or software-based."

The LG G5 includes a Qualcomm Snapdragon 820 MSM8996 system-on-chip (SoC). This chip, in turn, includes a Hexagon 680 DSP with a Low Power Island for sensor processing. Qualcomm explains: "The aptly named 'low-power island' is designed to improve the battery life of always-on use cases, including step or activity counters".

All modern Qualcomm SoCs sold nowadays include a Hexagon DSP built in. Software developers can download the Qualcomm Hexagon DSP software development kit (SDK) at no charge.

Questions for you

A.) Do you suspect that all major step-counting apps, when installed on the LG G5, do low-power step counting?

B.) How can I get some hint as to whether a step-counting app is doing high-power or low-power step counting? For example, can I unzip the .apk file and search through the contents to see what libraries it includes or what methods it calls?

Postscript

In case I need to root my phone in order to get an answer to question B:

My particular LG G5 variant (H831) is locked down by design. It's only partially rootable; see this post and this other post.

I haven't tried the Snapdragon Profiler, but I know it doesn't require root.

Edit

This post from Google states that Google Fit uses your device's step counter sensor.

3
  • 2
    The Android API directly provides an sensor called "step counter sensor". I would assume that most apps just use this one. How it works is based on your device. If it has a hardware based step counter it should be used by that API. developer.android.com/guide/topics/sensors/…
    – Robert
    Nov 2, 2021 at 11:19
  • Like Robert's comment, AFAIK developers can only retrieve values from sensors using the available Android API. I don't recall if Android API provides lower-level access to the sensors (e.g. able to choose which specific sensors the app wants to use), so they are restricted to the values returned by the Android API, unless LG provides another SDK/API for their sensors.
    – Andrew T.
    Nov 3, 2021 at 4:28
  • 1
    Now, between Android API and the physical sensors is what the ROM+kernel decides, so it's left to the maker. Official ROM should have provided the (more efficient) hardware sensor. However, for custom ROM, and if the technology is proprietary, they may not have a privilege to access the hardware sensor, similar to Why does unlocking bootloader affect camera quality on some devices? (this is still hypothetical for LG sensors though, not yet researched)
    – Andrew T.
    Nov 3, 2021 at 4:30

0

You must log in to answer this question.

Browse other questions tagged .