diff --git a/packages/SystemUI/res/layout/data_usage.xml b/packages/SystemUI/res/layout/data_usage.xml
index fdc6f146f93f9..0d5936964f5e6 100644
--- a/packages/SystemUI/res/layout/data_usage.xml
+++ b/packages/SystemUI/res/layout/data_usage.xml
@@ -88,7 +88,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="16dp"
- android:text="@string/accessibility_data_connection_roaming"
+ android:text="@string/data_connection_roaming"
android:textAppearance="@style/TextAppearance.QS.DataUsage.Secondary"
android:visibility="gone" />
diff --git a/packages/SystemUI/res/layout/mobile_signal_group.xml b/packages/SystemUI/res/layout/mobile_signal_group.xml
index 33effba53059f..b8ed09ee1102a 100644
--- a/packages/SystemUI/res/layout/mobile_signal_group.xml
+++ b/packages/SystemUI/res/layout/mobile_signal_group.xml
@@ -76,7 +76,7 @@
android:paddingBottom="3dp"
android:scaleType="fitCenter"
android:src="@drawable/stat_sys_roaming"
- android:contentDescription="@string/accessibility_data_connection_roaming"
+ android:contentDescription="@string/data_connection_roaming"
android:visibility="gone" />
diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml
index 4420103f14fe0..89e6da38ffa7f 100644
--- a/packages/SystemUI/res/values/strings.xml
+++ b/packages/SystemUI/res/values/strings.xml
@@ -362,41 +362,41 @@
Connecting.
-
- GPRS
+
+ GPRS
-
- 1 X
+
+ 1 X
-
- HSPA
+
+ HSPA
-
- 3G
+
+ 3G
-
- 3.5G
+
+ 3.5G
-
- 4G
+
+ 4G
-
- 4G+
+
+ 4G+
-
- LTE
+
+ LTE
-
- LTE+
+
+ LTE+
-
- CDMA
+
+ CDMA
-
- Roaming
+
+ Roaming
-
- Edge
+
+ EDGE
Wi-Fi
@@ -411,7 +411,7 @@
Mobile Data On
- Mobile Data Off
+ Mobile data off
Bluetooth tethering.
@@ -425,8 +425,8 @@
No SIM card.
-
- Carrier network changing.
+
+ Carrier network changing
Open battery details
@@ -1941,8 +1941,8 @@
Signed in as %s
-
- No internet.
+
+ No internet
Open details.
@@ -2096,6 +2096,9 @@
Mobile data
+
+ %s \u2014 %s
+
Wi-Fi is off
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java
index 8922094bbd52d..57ff1c32420cf 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java
@@ -26,6 +26,7 @@ import android.content.res.Resources;
import android.os.SystemProperties;
import android.provider.Settings;
import android.service.quicksettings.Tile;
+import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -166,6 +167,9 @@ public class CellularTile extends QSTileImpl {
final String signalContentDesc = cb.enabled && (cb.mobileSignalIconId > 0)
? cb.signalContentDescription
: r.getString(R.string.accessibility_no_signal);
+ boolean mobileDataEnabled = mDataController.isMobileDataSupported()
+ && mDataController.isMobileDataEnabled();
+ state.value = mobileDataEnabled;
if (cb.noSim) {
state.contentDescription = state.label;
} else {
@@ -182,13 +186,33 @@ public class CellularTile extends QSTileImpl {
state.icon = new SignalIcon(cb.mobileSignalIconId);
}
- if (cb.airplaneModeEnabled | cb.noSim) {
+ if (cb.noSim) {
state.state = Tile.STATE_UNAVAILABLE;
- } else {
+ state.secondaryLabel = r.getString(R.string.keyguard_missing_sim_message_short);
+ } else if (cb.airplaneModeEnabled) {
+ state.state = Tile.STATE_UNAVAILABLE;
+ state.secondaryLabel = r.getString(R.string.status_bar_airplane);
+ } else if (mobileDataEnabled) {
state.state = Tile.STATE_ACTIVE;
+ state.secondaryLabel = getMobileDataDescription(cb);
+ } else {
+ state.state = Tile.STATE_INACTIVE;
+ state.secondaryLabel = r.getString(R.string.cell_data_off);
}
}
+ private CharSequence getMobileDataDescription(CallbackInfo cb) {
+ if (cb.roaming && !TextUtils.isEmpty(cb.dataContentDescription)) {
+ String roaming = mContext.getString(R.string.data_connection_roaming);
+ String dataDescription = cb.dataContentDescription;
+ return mContext.getString(R.string.mobile_data_text_format, roaming, dataDescription);
+ }
+ if (cb.roaming) {
+ return mContext.getString(R.string.data_connection_roaming);
+ }
+ return cb.dataContentDescription;
+ }
+
@Override
public int getMetricsCategory() {
return MetricsEvent.QS_CELLULAR;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
index d3f74ef7f0747..aa2440203d479 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
@@ -278,6 +278,9 @@ public class MobileSignalController extends SignalController<
String contentDescription = getStringIfExists(getContentDescription());
String dataContentDescription = getStringIfExists(icons.mDataContentDescription);
+ if (mCurrentState.inetCondition == 0) {
+ dataContentDescription = mContext.getString(R.string.data_connection_no_internet);
+ }
final boolean dataDisabled = mCurrentState.iconGroup == TelephonyIcons.DATA_DISABLED
&& mCurrentState.userSetup;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/TelephonyIcons.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/TelephonyIcons.java
index 09a1e44e4c4b5..d610400c6b3f8 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/TelephonyIcons.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/TelephonyIcons.java
@@ -53,7 +53,7 @@ class TelephonyIcons {
0,
0,
AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
- R.string.accessibility_carrier_network_change_mode,
+ R.string.carrier_network_change_mode,
0,
false,
0
@@ -68,7 +68,7 @@ class TelephonyIcons {
0,
0,
AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
- R.string.accessibility_data_connection_3g,
+ R.string.data_connection_3g,
TelephonyIcons.ICON_3G,
true,
TelephonyIcons.QS_DATA_3G
@@ -107,7 +107,7 @@ class TelephonyIcons {
0,
0,
AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
- R.string.accessibility_data_connection_edge,
+ R.string.data_connection_edge,
TelephonyIcons.ICON_E,
false,
TelephonyIcons.QS_DATA_E
@@ -122,7 +122,7 @@ class TelephonyIcons {
0,
0,
AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
- R.string.accessibility_data_connection_cdma,
+ R.string.data_connection_cdma,
TelephonyIcons.ICON_1X,
true,
TelephonyIcons.QS_DATA_1X
@@ -137,7 +137,7 @@ class TelephonyIcons {
0,
0,
AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
- R.string.accessibility_data_connection_gprs,
+ R.string.data_connection_gprs,
TelephonyIcons.ICON_G,
false,
TelephonyIcons.QS_DATA_G
@@ -152,7 +152,7 @@ class TelephonyIcons {
0,
0,
AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
- R.string.accessibility_data_connection_3_5g,
+ R.string.data_connection_3_5g,
TelephonyIcons.ICON_H,
false,
TelephonyIcons.QS_DATA_H
@@ -167,7 +167,7 @@ class TelephonyIcons {
0,
0,
AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
- R.string.accessibility_data_connection_4g,
+ R.string.data_connection_4g,
TelephonyIcons.ICON_4G,
true,
TelephonyIcons.QS_DATA_4G
@@ -182,7 +182,7 @@ class TelephonyIcons {
0,
0,
AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
- R.string.accessibility_data_connection_4g_plus,
+ R.string.data_connection_4g_plus,
TelephonyIcons.ICON_4G_PLUS,
true,
TelephonyIcons.QS_DATA_4G_PLUS
@@ -197,7 +197,7 @@ class TelephonyIcons {
0,
0,
AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
- R.string.accessibility_data_connection_lte,
+ R.string.data_connection_lte,
TelephonyIcons.ICON_LTE,
true,
TelephonyIcons.QS_DATA_LTE
@@ -212,7 +212,7 @@ class TelephonyIcons {
0,
0,
AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
- R.string.accessibility_data_connection_lte_plus,
+ R.string.data_connection_lte_plus,
TelephonyIcons.ICON_LTE_PLUS,
true,
TelephonyIcons.QS_DATA_LTE_PLUS
@@ -227,7 +227,7 @@ class TelephonyIcons {
0,
0,
AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
- R.string.accessibility_cell_data_off,
+ R.string.cell_data_off,
0,
false,
0
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiSignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiSignalController.java
index 28196246f44cc..b4c3ecafa742b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiSignalController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiSignalController.java
@@ -84,8 +84,7 @@ public class WifiSignalController extends
boolean ssidPresent = wifiVisible && mCurrentState.ssid != null;
String contentDescription = getStringIfExists(getContentDescription());
if (mCurrentState.inetCondition == 0) {
- contentDescription +=
- ("," + mContext.getString(R.string.accessibility_quick_settings_no_internet));
+ contentDescription += ("," + mContext.getString(R.string.data_connection_no_internet));
}
IconState statusIcon = new IconState(wifiVisible, getCurrentIconId(), contentDescription);