diff options
| -rw-r--r-- | packages/SystemUI/res/values/strings.xml | 3 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java | 24 |
2 files changed, 18 insertions, 9 deletions
diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml index 4bd997d9b989..b7c1c55be11c 100644 --- a/packages/SystemUI/res/values/strings.xml +++ b/packages/SystemUI/res/values/strings.xml @@ -780,6 +780,9 @@ <string name="quick_settings_hotspot_label">Hotspot</string> <!-- QuickSettings: Hotspot. Secondary label shown when the hotspot is being enabled [CHAR LIMIT=NONE] --> <string name="quick_settings_hotspot_secondary_label_transient">Turning on…</string> + <!-- QuickSettings: Hotspot. Secondary label shown when Data Saver mode is enabled to explain to + the user why they can't toggle the hotspot tile. [CHAR LIMIT=20] --> + <string name="quick_settings_hotspot_secondary_label_data_saver_enabled">Data Saver is on</string> <!-- QuickSettings: Hotspot: Secondary label for how many devices are connected to the hotspot [CHAR LIMIT=NONE] --> <plurals name="quick_settings_hotspot_secondary_label_num_devices"> <item quantity="one">%d device</item> diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java index 81e3d5ad17de..00d6bd0d307f 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java @@ -137,7 +137,6 @@ public class HotspotTile extends QSTileImpl<AirplaneBooleanState> { state.icon = mEnabledStatic; state.label = mContext.getString(R.string.quick_settings_hotspot_label); - state.secondaryLabel = getSecondaryLabel(state.value, isTransient, numConnectedDevices); state.isAirplaneMode = mAirplaneMode.getValue() != 0; state.isTransient = isTransient; state.slash.isSlashed = !state.value && !state.isTransient; @@ -149,19 +148,26 @@ public class HotspotTile extends QSTileImpl<AirplaneBooleanState> { final boolean isTileUnavailable = (state.isAirplaneMode || isDataSaverEnabled); final boolean isTileActive = (state.value || state.isTransient); - state.state = isTileUnavailable - ? Tile.STATE_UNAVAILABLE - : isTileActive - ? Tile.STATE_ACTIVE - : Tile.STATE_INACTIVE; + + if (isTileUnavailable) { + state.state = Tile.STATE_UNAVAILABLE; + } else { + state.state = isTileActive ? Tile.STATE_ACTIVE : Tile.STATE_INACTIVE; + } + + state.secondaryLabel = getSecondaryLabel( + isTileActive, isTransient, isDataSaverEnabled, numConnectedDevices); } @Nullable - private String getSecondaryLabel( - boolean enabled, boolean isTransient, int numConnectedDevices) { + private String getSecondaryLabel(boolean isActive, boolean isTransient, + boolean isDataSaverEnabled, int numConnectedDevices) { if (isTransient) { return mContext.getString(R.string.quick_settings_hotspot_secondary_label_transient); - } else if (numConnectedDevices > 0 && enabled) { + } else if (isDataSaverEnabled) { + return mContext.getString( + R.string.quick_settings_hotspot_secondary_label_data_saver_enabled); + } else if (numConnectedDevices > 0 && isActive) { return mContext.getResources().getQuantityString( R.plurals.quick_settings_hotspot_secondary_label_num_devices, numConnectedDevices, |