Signal strength reporting

The telephony framework reports cellular network signal strength using various signal measurement types. You can then use these reported signal strengths to control how signal bars are displayed on your device and customize the signal strength reporting criteria from the modem. Starting from Android 11, you can customize multiple signal measurement types that the framework uses to report the signal strength of 4G LTE and 5G NR radio access networks (RANs).

The framework uses three functions for reporting signal strength: signal strength reporting criteria, signal strength thresholds, and signal levels. These functions affect how Android communicates with the modem hardware, for example, preventing unnecessary signal strength reporting by the modem to reduce power usage and improve system health. The functions are defined as:

  • Signal strength reporting criteria: The conditions defined by Android to trigger signal strength reporting from the modem.
  • Signal strength thresholds: A list of four integers used for suggesting signal level and signal strength reporting criteria.
  • Signal levels: Five levels (NONE, POOR, MODERATE, GOOD, GREAT) that correspond to signal strength.

Support for multiple signal measurement types

For devices running Android 11 or higher, the following signal measurement types are customizable for NGRAN (5G LTE) and EUTRAN (4G LTE) networks. These measurements are used for the signal strength reporting criteria, signal strength thresholds, and signal levels functions.

  • NGRAN (5G NR): SSRSRP, SSRSRQ, SSSINR
  • EUTRAN (4G LTE): RSRP, RSRQ, RSSNR

Implementation

To enable the device to set the signal strength reporting criteria for each RAN, implement the setSignalStrengthReportingCriteria_1_5 hardware interface. For each RAN, multiple signal measurement types are supported. If none of the reporting criteria for a measurement type is enabled for a RAN, the reporting criteria for that RAN is defined by the Android framework. When the reporting criteria of a measurement type is enabled for a RAN, the reporting criteria of other measurement types are disabled.

To define the signal strength thresholds for 4G and 5G networks, use the following carrier config keys:

To select multiple measurements for a RAN, use the following carrier config keys:

Validation

To validate your implementation, use the testGetConfig CTS test in CarrierConfigManagerTest. Use VTS for testing setSignalStrengthReportingCriteria_1_5_*.