diff --git a/packages/SystemUI/res/drawable/ic_data_off.xml b/packages/SystemUI/res/drawable/ic_data_off.xml
new file mode 100644
index 0000000000000..b97ddaef64189
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_data_off.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
diff --git a/packages/SystemUI/res/drawable/ic_data_on.xml b/packages/SystemUI/res/drawable/ic_data_on.xml
new file mode 100644
index 0000000000000..a65dc7922cebb
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_data_on.xml
@@ -0,0 +1,26 @@
+
+
+
+
diff --git a/packages/SystemUI/res/drawable/ic_data_unavailable.xml b/packages/SystemUI/res/drawable/ic_data_unavailable.xml
new file mode 100644
index 0000000000000..27a7697249120
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_data_unavailable.xml
@@ -0,0 +1,32 @@
+
+
+
+
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 9b3ee30a3ab07..1151c8cb4b504 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java
@@ -35,8 +35,8 @@ import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.qs.DetailAdapter;
import com.android.systemui.plugins.qs.QSIconView;
import com.android.systemui.plugins.qs.QSTile.SignalState;
-import com.android.systemui.qs.CellTileView;
import com.android.systemui.qs.QSHost;
+import com.android.systemui.qs.SignalTileView;
import com.android.systemui.qs.tileimpl.QSTileImpl;
import com.android.systemui.statusbar.policy.NetworkController;
import com.android.systemui.statusbar.policy.NetworkController.IconState;
@@ -83,7 +83,7 @@ public class CellularTile extends QSTileImpl {
@Override
public QSIconView createTileView(Context context) {
- return new CellTileView(context);
+ return new SignalTileView(context);
}
@Override
@@ -118,15 +118,6 @@ public class CellularTile extends QSTileImpl {
}
final Resources r = mContext.getResources();
- final int iconId = cb.noSim ? R.drawable.ic_qs_no_sim
- : !cb.enabled || cb.airplaneModeEnabled ? R.drawable.ic_qs_signal_disabled
- : cb.mobileSignalIconId > 0 ? cb.mobileSignalIconId
- : R.drawable.ic_qs_signal_no_signal;
- if (cb.dataTypeIconId != 0) {
- state.icon = ResourceIcon.get(cb.dataTypeIconId);
- } else {
- state.icon = ResourceIcon.get(iconId);
- }
state.activityIn = cb.enabled && cb.activityIn;
state.activityOut = cb.enabled && cb.activityOut;
@@ -136,8 +127,16 @@ public class CellularTile extends QSTileImpl {
state.expandedAccessibilityClassName = Switch.class.getName();
state.value = mDataController.isMobileDataSupported()
&& mDataController.isMobileDataEnabled();
- state.state = cb.airplaneModeEnabled ? Tile.STATE_UNAVAILABLE
+ state.icon = ResourceIcon.get(R.drawable.ic_data_unavailable);
+ state.state = cb.airplaneModeEnabled || !cb.enabled ? Tile.STATE_UNAVAILABLE
: state.value ? Tile.STATE_ACTIVE : Tile.STATE_INACTIVE;
+ if (state.state == Tile.STATE_ACTIVE) {
+ state.icon = ResourceIcon.get(R.drawable.ic_data_on);
+ } else if (state.state == Tile.STATE_INACTIVE) {
+ state.icon = ResourceIcon.get(R.drawable.ic_data_off);
+ } else {
+ state.icon = ResourceIcon.get(R.drawable.ic_data_unavailable);
+ }
}
@Override