} // namespace
-KioskAppMenuHandler::KioskAppMenuHandler()
+KioskAppMenuHandler::KioskAppMenuHandler(
+ const scoped_refptr<NetworkStateInformer>& network_state_informer)
: weak_ptr_factory_(this),
- is_webui_initialized_(false) {
+ is_webui_initialized_(false),
+ network_state_informer_(network_state_informer) {
KioskAppManager::Get()->AddObserver(this);
+ network_state_informer_->AddObserver(this);
}
KioskAppMenuHandler::~KioskAppMenuHandler() {
KioskAppManager::Get()->RemoveObserver(this);
+ network_state_informer_->RemoveObserver(this);
}
void KioskAppMenuHandler::GetLocalizedStrings(
const base::ListValue* args) {
is_webui_initialized_ = true;
SendKioskApps();
+ UpdateState(ErrorScreenActor::ERROR_REASON_UPDATE);
}
void KioskAppMenuHandler::HandleKioskAppsLoaded(
SendKioskApps();
}
+void KioskAppMenuHandler::UpdateState(ErrorScreenActor::ErrorReason reason) {
+ if (network_state_informer_->state() == NetworkStateInformer::ONLINE)
+ KioskAppManager::Get()->RetryFailedAppDataFetch();
+}
+
} // namespace chromeos