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

Unified Diff: athena/home/athena_start_page_view.cc

Issue 483033003: [Athena] Add status icons and system time to the centered home card (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 3 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 | « athena/home/athena_start_page_view.h ('k') | athena/home/athena_start_page_view_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: athena/home/athena_start_page_view.cc
diff --git a/athena/home/athena_start_page_view.cc b/athena/home/athena_start_page_view.cc
index b5b8df565ef346740e27453dc70f29fe5861710f..40286782c52a1e861ae49ad1b46820f4ec29fdb4 100644
--- a/athena/home/athena_start_page_view.cc
+++ b/athena/home/athena_start_page_view.cc
@@ -5,6 +5,7 @@
#include "athena/home/athena_start_page_view.h"
#include "athena/home/home_card_constants.h"
+#include "athena/system/public/system_ui.h"
#include "base/bind.h"
#include "base/strings/string_util.h"
#include "third_party/skia/include/core/SkPaint.h"
@@ -155,7 +156,8 @@ namespace athena {
const char AthenaStartPageView::kViewClassName[] = "AthenaStartPageView";
AthenaStartPageView::LayoutData::LayoutData()
- : logo_opacity(1.0f),
+ : system_info_opacity(1.0f),
+ logo_opacity(1.0f),
background_opacity(1.0f) {
}
@@ -171,6 +173,12 @@ AthenaStartPageView::AthenaStartPageView(
background_->SetFillsBoundsOpaquely(false);
AddChildView(background_);
+ system_info_view_ =
+ SystemUI::Get()->CreateSystemInfoView(SystemUI::COLOR_SCHEME_DARK);
+ system_info_view_->SetPaintToLayer(true);
+ system_info_view_->SetFillsBoundsOpaquely(false);
+ AddChildView(system_info_view_);
+
logo_ = view_delegate->CreateStartPageWebView(
gfx::Size(kWebViewWidth, kWebViewHeight));
logo_->SetPaintToLayer(true);
@@ -234,6 +242,8 @@ void AthenaStartPageView::SetLayoutState(float layout_state) {
}
void AthenaStartPageView::SetLayoutStateWithAnimation(float layout_state) {
+ ui::ScopedLayerAnimationSettings system_info(
+ system_info_view_->layer()->GetAnimator());
ui::ScopedLayerAnimationSettings logo(logo_->layer()->GetAnimator());
ui::ScopedLayerAnimationSettings search_box(
search_box_container_->layer()->GetAnimator());
@@ -242,6 +252,7 @@ void AthenaStartPageView::SetLayoutStateWithAnimation(float layout_state) {
ui::ScopedLayerAnimationSettings controls(
control_icon_container_->layer()->GetAnimator());
+ system_info.SetTweenType(gfx::Tween::EASE_IN_OUT);
logo.SetTweenType(gfx::Tween::EASE_IN_OUT);
search_box.SetTweenType(gfx::Tween::EASE_IN_OUT);
icons.SetTweenType(gfx::Tween::EASE_IN_OUT);
@@ -268,6 +279,7 @@ AthenaStartPageView::LayoutData AthenaStartPageView::CreateBottomBounds(
state.search_box.set_x((width - state.search_box.width()) / 2);
state.search_box.set_y((kHomeCardHeight - state.search_box.height()) / 2);
+ state.system_info_opacity = 0.0f;
state.logo_opacity = 0.0f;
state.background_opacity = 0.9f;
return state;
@@ -289,6 +301,7 @@ AthenaStartPageView::LayoutData AthenaStartPageView::CreateCenteredBounds(
state.controls.set_x(width / 2 + kIconMargin / 2 + kIconMargin % 2);
state.controls.set_y(state.icons.y());
+ state.system_info_opacity = 1.0f;
state.logo_opacity = 1.0f;
state.background_opacity = 1.0f;
return state;
@@ -364,6 +377,10 @@ void AthenaStartPageView::OnSearchResultLayoutAnimationCompleted(
void AthenaStartPageView::Layout() {
search_results_view_->SetVisible(false);
+
+ system_info_view_->SetBounds(
+ 0, 0, width(), system_info_view_->GetPreferredSize().height());
+
gfx::Rect logo_bounds(x() + width() / 2 - kWebViewWidth / 2, y() + kTopMargin,
kWebViewWidth, kWebViewHeight);
logo_->SetBoundsRect(logo_bounds);
@@ -371,6 +388,12 @@ void AthenaStartPageView::Layout() {
LayoutData bottom_bounds = CreateBottomBounds(width());
LayoutData centered_bounds = CreateCenteredBounds(width());
+ system_info_view_->layer()->SetOpacity(gfx::Tween::FloatValueBetween(
+ gfx::Tween::CalculateValue(gfx::Tween::EASE_IN_2, layout_state_),
+ bottom_bounds.system_info_opacity, centered_bounds.system_info_opacity));
+ system_info_view_->SetVisible(
+ system_info_view_->layer()->GetTargetOpacity() != 0.0f);
+
logo_->layer()->SetOpacity(gfx::Tween::FloatValueBetween(
gfx::Tween::CalculateValue(gfx::Tween::EASE_IN_2, layout_state_),
bottom_bounds.logo_opacity, centered_bounds.logo_opacity));
« no previous file with comments | « athena/home/athena_start_page_view.h ('k') | athena/home/athena_start_page_view_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698