Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(15)

Unified Diff: ui/chromeos/network/network_icon.cc

Issue 2342793005: [ash-md] Adds Wi-Fi header row to system tray network detailed view (Closed)
Patch Set: [ash-md] Materializes system tray network detailed view (nits) Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/chromeos/network/network_icon.h ('k') | ui/chromeos/network/network_info.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/chromeos/network/network_icon.cc
diff --git a/ui/chromeos/network/network_icon.cc b/ui/chromeos/network/network_icon.cc
index ff56ac63268837aa64a8b12553b9fa96fb75d964..e6826cf46ae79ae37899e8dc6896c247832600a2 100644
--- a/ui/chromeos/network/network_icon.cc
+++ b/ui/chromeos/network/network_icon.cc
@@ -196,7 +196,7 @@ const int kNumNetworkImages = 5;
// Number of discrete images to use for alpha fade animation
const int kNumFadeImages = 10;
-SkColor GetBaseColorForIconType(IconType icon_type) {
+SkColor GetDefaultColorForIconType(IconType icon_type) {
// TODO(estade): use kTrayIconColor and kMenuIconColor.
return icon_type == ICON_TYPE_TRAY ? SK_ColorWHITE : gfx::kChromeIconGrey;
}
@@ -316,6 +316,7 @@ class SignalStrengthImageSource : public gfx::CanvasImageSource {
: CanvasImageSource(GetSizeForIconType(icon_type), false),
image_type_(image_type),
icon_type_(icon_type),
+ color_(GetDefaultColorForIconType(icon_type_)),
signal_strength_(signal_strength) {
if (image_type_ == NONE)
image_type_ = ARCS;
@@ -325,6 +326,8 @@ class SignalStrengthImageSource : public gfx::CanvasImageSource {
}
~SignalStrengthImageSource() override {}
+ void set_color(SkColor color) { color_ = color; }
+
// gfx::CanvasImageSource:
void Draw(gfx::Canvas* canvas) override {
if (image_type_ == ARCS)
@@ -360,16 +363,15 @@ class SignalStrengthImageSource : public gfx::CanvasImageSource {
SkPaint paint;
paint.setAntiAlias(true);
paint.setStyle(SkPaint::kFill_Style);
- const SkColor base_color = GetBaseColorForIconType(icon_type_);
// Background. Skip drawing for full signal.
if (signal_strength_ != kNumNetworkImages - 1) {
- paint.setColor(SkColorSetA(base_color, kBgAlpha));
+ paint.setColor(SkColorSetA(color_, kBgAlpha));
canvas->sk_canvas()->drawArc(gfx::RectFToSkRect(oval_bounds), kStartAngle,
kSweepAngle, true, paint);
}
// Foreground (signal strength).
if (signal_strength_ != 0) {
- paint.setColor(base_color);
+ paint.setColor(color_);
// Percent of the height of the background wedge that we draw the
// foreground wedge, indexed by signal strength.
static const float kWedgeHeightPercentages[] = {0.f, 0.375f, 0.5833f,
@@ -406,15 +408,14 @@ class SignalStrengthImageSource : public gfx::CanvasImageSource {
SkPaint paint;
paint.setAntiAlias(true);
paint.setStyle(SkPaint::kFill_Style);
- const SkColor base_color = GetBaseColorForIconType(icon_type_);
// Background. Skip drawing for full signal.
if (signal_strength_ != kNumNetworkImages - 1) {
- paint.setColor(SkColorSetA(base_color, kBgAlpha));
+ paint.setColor(SkColorSetA(color_, kBgAlpha));
canvas->DrawPath(make_triangle(kFullTriangleSide), paint);
}
// Foreground (signal strength).
if (signal_strength_ != 0) {
- paint.setColor(base_color);
+ paint.setColor(color_);
// As a percentage of the bg triangle, the length of one of the short
// sides of the fg triangle, indexed by signal strength.
static const float kTriangleSidePercents[] = {0.f, 0.5f, 0.625f, 0.75f,
@@ -427,6 +428,7 @@ class SignalStrengthImageSource : public gfx::CanvasImageSource {
ImageType image_type_;
IconType icon_type_;
+ SkColor color_;
// On a scale of 0 to kNum{Arcs,Bars}Images - 1, how connected we are.
int signal_strength_;
@@ -541,7 +543,7 @@ gfx::ImageSkia ConnectingVpnBadge(double animation, IconType icon_type) {
// Lazily cache images.
gfx::ImageSkia badge =
UseMd() ? gfx::CreateVectorIcon(gfx::VectorIconId::NETWORK_BADGE_VPN,
- GetBaseColorForIconType(icon_type))
+ GetDefaultColorForIconType(icon_type))
: *ui::ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
IDR_AURA_UBER_TRAY_NETWORK_VPN_BADGE);
s_vpn_badges[index] = new gfx::ImageSkia(
@@ -586,7 +588,7 @@ gfx::ImageSkia BadgeForNetworkTechnology(const NetworkState* network,
} else {
return gfx::ImageSkia();
}
- return gfx::CreateVectorIcon(id, GetBaseColorForIconType(icon_type));
+ return gfx::CreateVectorIcon(id, GetDefaultColorForIconType(icon_type));
}
int id = -1;
@@ -632,10 +634,10 @@ gfx::ImageSkia GetIcon(const NetworkState* network,
ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
if (network->Matches(NetworkTypePattern::Ethernet())) {
DCHECK_NE(ICON_TYPE_TRAY, icon_type);
- return UseMd()
- ? gfx::CreateVectorIcon(gfx::VectorIconId::NETWORK_ETHERNET,
- GetBaseColorForIconType(ICON_TYPE_LIST))
- : *rb.GetImageSkiaNamed(IDR_AURA_UBER_TRAY_NETWORK_WIRED);
+ return UseMd() ? gfx::CreateVectorIcon(
+ gfx::VectorIconId::NETWORK_ETHERNET,
+ GetDefaultColorForIconType(ICON_TYPE_LIST))
+ : *rb.GetImageSkiaNamed(IDR_AURA_UBER_TRAY_NETWORK_WIRED);
} else if (network->Matches(NetworkTypePattern::Wireless())) {
DCHECK(strength_index > 0);
return GetImageForIndex(ImageTypeForNetworkType(network->type()), icon_type,
@@ -781,7 +783,7 @@ bool NetworkIconImpl::UpdateVPNBadge() {
if (vpn && vpn_badge_.isNull()) {
vpn_badge_ =
UseMd() ? gfx::CreateVectorIcon(gfx::VectorIconId::NETWORK_BADGE_VPN,
- GetBaseColorForIconType(icon_type_))
+ GetDefaultColorForIconType(icon_type_))
: *ui::ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
IDR_AURA_UBER_TRAY_NETWORK_VPN_BADGE);
return true;
@@ -799,7 +801,7 @@ void NetworkIconImpl::GetBadges(const NetworkState* network, Badges* badges) {
NetworkStateHandler* handler = NetworkHandler::Get()->network_state_handler();
const std::string& type = network->type();
- const SkColor icon_color = GetBaseColorForIconType(icon_type_);
+ const SkColor icon_color = GetDefaultColorForIconType(icon_type_);
if (type == shill::kTypeWifi) {
if (network->security_class() != shill::kSecurityNone &&
IconTypeIsDark(icon_type_)) {
@@ -911,10 +913,23 @@ gfx::ImageSkia GetImageForDisconnectedCellNetwork() {
return GetDisconnectedImage(ICON_TYPE_LIST, shill::kTypeCellular);
}
+gfx::ImageSkia GetImageForNewWifiNetwork(SkColor icon_color,
+ SkColor badge_color) {
+ SignalStrengthImageSource* source =
+ new SignalStrengthImageSource(ImageTypeForNetworkType(shill::kTypeWifi),
+ ICON_TYPE_LIST, kNumNetworkImages - 1);
+ source->set_color(icon_color);
+ gfx::ImageSkia icon = gfx::ImageSkia(source, source->size());
+ Badges badges;
+ badges.bottom_right = gfx::CreateVectorIcon(
+ gfx::VectorIconId::NETWORK_BADGE_ADD_OTHER, badge_color);
+ return NetworkIconImageSourceMd::CreateImage(icon, badges);
+}
+
gfx::ImageSkia GetVpnImage() {
return UseMd()
? gfx::CreateVectorIcon(gfx::VectorIconId::NETWORK_VPN,
- GetBaseColorForIconType(ICON_TYPE_LIST))
+ GetDefaultColorForIconType(ICON_TYPE_LIST))
: *ui::ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
IDR_AURA_UBER_TRAY_NETWORK_VPN);
}
« no previous file with comments | « ui/chromeos/network/network_icon.h ('k') | ui/chromeos/network/network_info.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698