CastTile : Cosmetic changes to the cast tile UX.
- Change the tile title to "Screen Cast".
- Always show the tile title as a primary label, and show
the casting or projection device as the secondary label.
- Also fixes an issue where the cast tile would show as disabled
when WiFi wasn't connected, despite the fact that the tile may
have been displaying an in-progress projection session.
Test: manual
Bug: 124753835
Change-Id: I15f9c0a80d288e5d9a77e87fd1f3135033fdb873
diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml
index d53c785..5338bb4 100644
--- a/packages/SystemUI/res/values/strings.xml
+++ b/packages/SystemUI/res/values/strings.xml
@@ -776,7 +776,7 @@
<!-- QuickSettings: Wifi secondary label shown when the wifi is being enabled [CHAR LIMIT=NONE] -->
<string name="quick_settings_wifi_secondary_label_transient">Turning on…</string>
<!-- QuickSettings: Cast title [CHAR LIMIT=NONE] -->
- <string name="quick_settings_cast_title">Cast</string>
+ <string name="quick_settings_cast_title">Screen Cast</string>
<!-- QuickSettings: Cast detail panel, status text when casting [CHAR LIMIT=NONE] -->
<string name="quick_settings_casting">Casting</string>
<!-- QuickSettings: Cast detail panel, default device name [CHAR LIMIT=NONE] -->
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java
index f05ac4c..51d05c7 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java
@@ -161,21 +161,23 @@
for (CastDevice device : devices) {
if (device.state == CastDevice.STATE_CONNECTED) {
state.value = true;
- state.label = getDeviceName(device);
+ state.secondaryLabel = getDeviceName(device);
state.contentDescription = state.contentDescription + "," +
mContext.getString(R.string.accessibility_cast_name, state.label);
} else if (device.state == CastDevice.STATE_CONNECTING) {
connecting = true;
}
}
- if (!state.value && connecting) {
- state.label = mContext.getString(R.string.quick_settings_connecting);
+ if (connecting && !state.value) {
+ state.secondaryLabel = mContext.getString(R.string.quick_settings_connecting);
}
state.icon = ResourceIcon.get(state.value ? R.drawable.ic_qs_cast_on
: R.drawable.ic_qs_cast_off);
- if (mWifiConnected) {
+ if (mWifiConnected || state.value) {
state.state = state.value ? Tile.STATE_ACTIVE : Tile.STATE_INACTIVE;
- state.secondaryLabel = "";
+ if (!state.value) {
+ state.secondaryLabel = "";
+ }
state.contentDescription = state.contentDescription + ","
+ mContext.getString(R.string.accessibility_quick_settings_open_details);
state.expandedAccessibilityClassName = Button.class.getName();