summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/res/values/strings.xml3
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java24
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&#8230;</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,