Remix.run Logo
NotMelNoGuitars 4 days ago

Poking around the config files, AT&T and two other carriers (both of which are subsidiaries, from a quick Google) seem to display 3G connections as if they were 4G:

    $ grep -r show_4g_for_3g_data_icon_bool assets/
    assets/carrier_config_carrierid_1187_AT&T.xml:    <boolean name="show_4g_for_3g_data_icon_bool" value="true"/>
    assets/carrier_config_carrierid_2119_FirstNet.xml:    <boolean name="show_4g_for_3g_data_icon_bool" value="true"/>
    assets/carrier_config_carrierid_1779_Cricket-Wireless.xml:    <boolean name="show_4g_for_3g_data_icon_bool" value="true"/>
Android documents[0] this flag, which they don't appear to do for the `inflate_signal_strength_bool` field outside the source code from what I can tell. It seems like there a bunch of odd flags for controlling user-exposed visuals - another flag `show_4g_for_lte_data_icon_bool` is used by 96 carriers, for example.

I wonder if there's some odd telecom history behind these, or if these flags were intended for some kind of edge-case. It seems like carriers have the option to arbitrarily override the thresholds used for determining signal strength[1], but only four carriers actually do. All only elect to customize the `lte_rsrp_thresholds_int_array` field; and all opt to make things harder for themselves, reporting their network connection as lower strength than the default classification[2] would:

    $ grep -r _thresholds_int_array assets/ -A5
    assets/carrier_config_carrierid_2556_Xfinity_Mobile.xml:    <int-array name="lte_rsrp_thresholds_int_array" num="4">
    assets/carrier_config_carrierid_2556_Xfinity_Mobile.xml-        <item value="-115"/>
    assets/carrier_config_carrierid_2556_Xfinity_Mobile.xml-        <item value="-105"/>
    assets/carrier_config_carrierid_2556_Xfinity_Mobile.xml-        <item value="-95"/>
    assets/carrier_config_carrierid_2556_Xfinity_Mobile.xml-        <item value="-85"/>
    assets/carrier_config_carrierid_2556_Xfinity_Mobile.xml-    </int-array>
    --
    assets/carrier_config_carrierid_1345_Telstra.xml:    <int-array name="lte_rsrp_thresholds_int_array" num="4">
    assets/carrier_config_carrierid_1345_Telstra.xml-        <item value="-120"/>
    assets/carrier_config_carrierid_1345_Telstra.xml-        <item value="-115"/>
    assets/carrier_config_carrierid_1345_Telstra.xml-        <item value="-100"/>
    assets/carrier_config_carrierid_1345_Telstra.xml-        <item value="-90"/>
    assets/carrier_config_carrierid_1345_Telstra.xml-    </int-array>
    --
    assets/carrier_config_carrierid_1839_Verizon-Wireless.xml:  # omitted, same as Xfinity, above
    ...
    --
    assets/carrier_config_carrierid_2032_Xfinity-Mobile.xml:  # omitted, same as Xfinity, above
    ...
[0]: https://developer.android.com/reference/android/telephony/Ca...

[1]: https://source.android.com/docs/core/connect/signal-strength...

[2]: https://android.googlesource.com/platform/frameworks/base/+/...

        sDefaults.putIntArray(KEY_LTE_RSRP_THRESHOLDS_INT_ARRAY,
                // Boundaries: [-140 dBm, -44 dBm]
                new int[] {
                        -128, /* SIGNAL_STRENGTH_POOR */
                        -118, /* SIGNAL_STRENGTH_MODERATE */
                        -108, /* SIGNAL_STRENGTH_GOOD */
                        -98,  /* SIGNAL_STRENGTH_GREAT */
                });
ashirviskas 4 days ago | parent | next [-]

The same is done without modifying Android, likely nearly everywhere in the world, but maybe not every provider. Provider sends a config information of "Network Override" and can make your phone display any network type. I see this happening in Network Survey app (open source) with my provider.

Shank 4 days ago | parent | prev [-]

> seem to display 3G connections as if they were 4G

https://www.theverge.com/2011/05/04/536673/att-t-mobile-dipp...

AT&T has a history of lying about what its network is. They were advertising HSPA+ as 4G and then recently started advertising LTE as "5G E". I can't find a lot of articles about the 4G branding one since the 5G one started.

> show_4g_for_lte_data_icon_bool

Realistically I think this is just a choice that many carriers made. It's quite common to see 4G instead of LTE outside of the US. Technically speaking I think WiMAX counted as 4G when there were competing 4G standards and you could make an argument that LTE is just one of the 4G standards.