Home | History | Annotate | Download | only in app_list
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "chrome/browser/ui/ash/app_list/app_sync_ui_state_watcher.h"
      6 
      7 #include "chrome/browser/ui/ash/app_sync_ui_state.h"
      8 #include "ui/app_list/app_list_model.h"
      9 
     10 AppSyncUIStateWatcher::AppSyncUIStateWatcher(Profile* profile,
     11                                              app_list::AppListModel* model)
     12     : app_sync_ui_state_(AppSyncUIState::Get(profile)),
     13       model_(model) {
     14   if (app_sync_ui_state_) {
     15     app_sync_ui_state_->AddObserver(this);
     16     OnAppSyncUIStatusChanged();
     17   }
     18 }
     19 
     20 AppSyncUIStateWatcher::~AppSyncUIStateWatcher() {
     21   if (app_sync_ui_state_)
     22     app_sync_ui_state_->RemoveObserver(this);
     23 }
     24 
     25 void AppSyncUIStateWatcher::OnAppSyncUIStatusChanged() {
     26   if (app_sync_ui_state_->status() == AppSyncUIState::STATUS_SYNCING)
     27     model_->SetStatus(app_list::AppListModel::STATUS_SYNCING);
     28   else
     29     model_->SetStatus(app_list::AppListModel::STATUS_NORMAL);
     30 }
     31