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