Mobile Network Operators, otherwise known as carriers, have a mixed reputation among consumers. In the United States, carriers such as AT&T and Verizon Wireless are known by our community for forcing their branded devices to have bootloaders that can’t be unlocked. Though the average user doesn’t see bootloader unlocking as a major issue, this is just an example of one of many practices that has tainted the reputation of many carriers as consumer unfriendly. T-Mobile USA has branded itself as the “uncarrier” because of the disdain that many consumers have towards carriers. Carriers play a large part in determining how fast software updates can roll out, and they can also sometimes determine what features we have access to. According to few commits, it appears that some carriers are pushing for the ability to hide the signal strength in settings, starting in Android P.
What’s going on?
The commits we discovered show that the signal strength shown in “Sim Status” in settings may be restricted depending on the carrier. The signal strength shown in this menu is the actual numerical signal strength measured in dBm or asu. The lower the dBm number, the worse the device’s network signal is. This signal strength value is approximated with the 5 signal bars shown in the status bar, though obviously 5 bars doesn’t tell you exactly how bad or good your signal really is.
While most users wouldn’t care to look at the exact dBm value of the signal strength, it can be a useful number when comparing how multiple devices on the same network perform. Your device’s signal strength is incredibly important for call quality, data connectivity/speed, and battery life, so looking at the dBm value when using your phone in certain areas can be a useful way to see how well your new device fares on the network.
Now, carriers already have the ability to determine what software features users may have access to, though it’s usually limited to their branded devices. For instance, certain carriers hide the mobile data and hotspot quick setting tiles on Samsung Galaxy smartphones, though there’s a way to bring them back. If you bring your own device to a network, though, the restrictions usually have to do with features that are related to network infrastructure rather than software features on your device.
This change is a bit different, though, as the commit shows that carriers can hide signal strength from users when they simply insert a sim card into their device. When testing the change introduced by the commit, this was the test that was used:
Add different values for two carriers in vendor.xml and see them change when swapping sim card
What this shows is that the carrier configuration defined in the vendor.xml file determines whether or not the signal strength is shown to users. Indeed, looking at the code, the signal strength preference is hidden from the user after checking a boolean value called “
KEY_HIDE_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL” which is determined by the carrier configuration.
Why is this being done?
It appears that some carriers requested this feature, and Google is just obliging. The ability to hide the signal strength in settings based on SIM is new, and by default it is set to false. There’s no indication which carriers requested this feature, either.
As for why certain carriers want the ability to hide this value in the SIM status settings, we can’t really think of any good reason. Perhaps some carriers want to hide this value so users can’t see exactly how their device is performing on the network. Perhaps it is being hidden because it confuses consumers. It could be done for any number of reasons, but we’re unlikely to get any official reason from a carrier.
Will this make seeing signal strength impossible?
Interestingly, the answer is no. The code in the commits doesn’t seem to affect any of the APIs that apps can use to get the signal strength. Instead it only prevents the signal strength in settings from being shown to the user. That means you can still use any number of apps on the Play Store such as “Signal Strength” in order to find the true dBm value.
However, if a carrier is exerting pressure to hide this from users in settings, it’s possible that this could later be expanded to restrict APIs based on carrier configuration or hide more network related information. Of course, we haven’t gotten to that point yet and this new carrier config hasn’t even shown up on any Android devices yet (it was merged only recently and thus will be in Android P), but it’s a sign that carriers can start hiding features from users even if you haven’t purchased a carrier branded device.