4G or LTE: What is shown when?

Revision as of 19:28, 1 August 2017 by Florian (talk | contribs) (Created by translating the page "4G oder LTE wonach richtet sich die Anzeige im Status")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

4G and LTE are terms, not only with Andorid, but also used by many network operators and help pages, which are mostly used as synonyms. Also for Android, it seems to be different from device to device, if the Symbol for an active mobile data connection shows an LTE or 4G icon in the notification bar. On this page we will show, how these different icons are choosed and what are the criteria for the selection.

LTE is visible in the notification bar
4G is visible in the notification bar

Origin

Both symbols are used as synonyms and mostly describe the same thing, no matter, which icon/wordmark is used. The device, for both cases, is connected to a network which uses the LTE standard (Long Term Evolution) or called 4G for 4th generation network. The diffenrence, at least in europe, is only visual.

Technically, what is called LTE in europe is LTE-Advanced, or (like mentioned already) 4G, the network of the 4th generation. UMTS/HSPA is the network of the 3rd generation (3G) and GSM/GPRS/EDGE is the network of the 2nd generation (2G). The original LTE is something between 3G and 4G and technically would need a separate term, like 3.9G.[1]

In the 90s, the european already specified a gernal, transnationally network called GSM (former: Groupe Spécial Mobile – today: GSM or Global System for Mobile Communications (GSMC)), which was called the network of the 2nd generation (2G)[2] That's probably the reason why the US-based network operator AT&T displays 4G for an HSPA+ connection and 4G LTE for an actual LTE connection. GSM was, e.g., not well known in the U.S. and german carriers provided different devices, if the customer wanted to start a journey to the US.

4G or LTE: The ROM decides

If 4G or LTE is displayed in the notification area is decided by the currently installed operating system (ROM), it therefore doesn't matter if the device is connected to a network of carrier A or B. Displaying LTE instead of 4G is used especially in the german market, as carriers use LTE instead of 4G for ads and other marketing. To prevent a confusion of the customer, users of a branded ROM see a LTE icon instead of a 4G. For all other ROMs, including the ones built direcly from the AOSP-Source code, a 4G icon will be used.

technical implementation

The notification bar is part of the SystemUI.apk, which is, fortunately, part of the AOSP project, which means, that the source code is available for the public.[3] The icons for displaying 4G or LTE are defined in the class TelephonyIcons:[4][5][6]

static final MobileIconGroup FOUR_G = new MobileIconGroup(
    "4G",
    TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
    TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
    AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
    0, 0,
    TelephonyIcons.TELEPHONY_NO_NETWORK,
    TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
    AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
    R.string.accessibility_data_connection_4g,
    TelephonyIcons.ICON_4G,
    true,
    TelephonyIcons.QS_DATA_4G
    );

static final MobileIconGroup LTE = new MobileIconGroup(
    "LTE",
    TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH,
    TelephonyIcons.QS_TELEPHONY_SIGNAL_STRENGTH,
    AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
    0, 0,
    TelephonyIcons.TELEPHONY_NO_NETWORK,
    TelephonyIcons.QS_TELEPHONY_NO_NETWORK,
    AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
    R.string.accessibility_data_connection_lte,
    TelephonyIcons.ICON_LTE,
    true,
    TelephonyIcons.QS_DATA_LTE
    );

The icons are defined as vector graphics (since commit b3eb8919): 4G, as well as LTE. The decision, which icon should be used, happens in the MobileSignalController class:[7]

if (mConfig.show4gForLte) {
    mNetworkToIconLookup.put(TelephonyManager.NETWORK_TYPE_LTE, TelephonyIcons.FOUR_G);
} else {
    mNetworkToIconLookup.put(TelephonyManager.NETWORK_TYPE_LTE, TelephonyIcons.LTE);
}

The configuration option show4gForLte is provided through the Config class in the file NetworkControllerImpl.java.[8] The value for that option is defined in the configuration file config.xml of the SystemUI and defaults to true.[9] The differente behavior based on that configuration option was implemented in commit 2fe71d01; with commit 65a90d07 the default was changed to 4G.

See also

References