Index: ash/system/network/network_icon.cc |
diff --git a/ash/system/network/network_icon.cc b/ash/system/network/network_icon.cc |
index 39eea46a6964d0a46b28c29af2753585a9434f28..674d286bbef35a791378ba7f7edc03f3891ef52e 100644 |
--- a/ash/system/network/network_icon.cc |
+++ b/ash/system/network/network_icon.cc |
@@ -436,21 +436,14 @@ gfx::ImageSkia GetImageForIndex(ImageType image_type, |
return gfx::ImageSkia(source, source->size()); |
} |
-// Returns an image to represent either a fully connected/enabled network or a |
-// disconnected/disabled network. |
+// Returns an image to represent either a fully connected network or a |
+// disconnected network. |
const gfx::ImageSkia GetBasicImage(bool connected, |
IconType icon_type, |
const std::string& network_type) { |
DCHECK_NE(shill::kTypeVPN, network_type); |
- SignalStrengthImageSource* source = new SignalStrengthImageSource( |
- ImageTypeForNetworkType(network_type), icon_type, kNumNetworkImages - 1); |
- gfx::ImageSkia icon = gfx::ImageSkia(source, source->size()); |
- Badges badges; |
- if (!connected) { |
- badges.center = {&kNetworkBadgeOffIcon, |
- GetDefaultColorForIconType(icon_type)}; |
- } |
- return NetworkIconImageSource::CreateImage(icon, badges); |
+ return GetImageForIndex(ImageTypeForNetworkType(network_type), icon_type, |
+ connected ? kNumNetworkImages - 1 : 0); |
} |
gfx::ImageSkia* ConnectingWirelessImage(ImageType image_type, |
@@ -769,8 +762,14 @@ gfx::ImageSkia GetImageForNetwork(const NetworkState* network, |
return icon->image(); |
} |
-gfx::ImageSkia GetBasicImageForWiFiNetwork(bool connected) { |
- return GetBasicImage(connected, ICON_TYPE_LIST, shill::kTypeWifi); |
+gfx::ImageSkia GetImageForWiFiChipState(bool enabled, IconType icon_type) { |
+ gfx::ImageSkia image = GetBasicImage(true, icon_type, shill::kTypeWifi); |
stevenjb
2017/04/17 16:22:52
true /* connected */,
Evan Stade
2017/04/17 16:29:33
Done.
|
+ Badges badges; |
+ if (!enabled) { |
+ badges.center = {&kNetworkBadgeOffIcon, |
+ GetDefaultColorForIconType(icon_type)}; |
+ } |
+ return NetworkIconImageSource::CreateImage(image, badges); |
} |
gfx::ImageSkia GetImageForDisconnectedCellNetwork() { |
@@ -930,8 +929,14 @@ void GetDefaultNetworkImageAndLabel(IconType icon_type, |
*label = l10n_util::GetStringUTF16(uninitialized_msg); |
*animating = true; |
} else { |
- // Otherwise show the disconnected wifi icon. |
- *image = GetBasicImage(false, icon_type, shill::kTypeWifi); |
+ // Otherwise show a Wi-Fi icon. If Wi-Fi is disabled, show a full icon |
+ // with a strikethrough. If it's enabled then it's disconnected, so show |
+ // an empty wedge. |
+ bool wifi_enabled = |
+ NetworkHandler::Get()->network_state_handler()->IsTechnologyEnabled( |
+ NetworkTypePattern::WiFi()); |
+ *image = wifi_enabled ? GetBasicImage(false, icon_type, shill::kTypeWifi) |
stevenjb
2017/04/17 16:22:52
false /* not connected */,
Evan Stade
2017/04/17 16:29:33
Done.
|
+ : GetImageForWiFiChipState(false, icon_type); |
stevenjb
2017/04/17 16:22:52
false /* not enabled */
Evan Stade
2017/04/17 16:29:33
Done.
|
if (label) { |
*label = l10n_util::GetStringUTF16( |
IDS_ASH_STATUS_TRAY_NETWORK_NOT_CONNECTED); |