Commit c097a72d authored by jdufault's avatar jdufault Committed by Commit bot

cros: Fold ResetModel into ResetScreen

BUG=672142

Review-Url: https://codereview.chromium.org/2657953005
Cr-Commit-Position: refs/heads/master@{#447921}
parent 51caab48
......@@ -811,8 +811,6 @@ source_set("chromeos") {
"login/screens/network_screen.cc",
"login/screens/network_screen.h",
"login/screens/network_view.h",
"login/screens/reset_model.cc",
"login/screens/reset_model.h",
"login/screens/reset_screen.cc",
"login/screens/reset_screen.h",
"login/screens/reset_view.h",
......
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/chromeos/login/screens/reset_model.h"
#include "chrome/browser/chromeos/login/wizard_controller.h"
namespace chromeos {
const char ResetModel::kUserActionCancelReset[] = "cancel-reset";
const char ResetModel::kUserActionResetRestartPressed[] = "restart-pressed";
const char ResetModel::kUserActionResetPowerwashPressed[] = "powerwash-pressed";
const char ResetModel::kUserActionResetLearnMorePressed[] = "learn-more-link";
const char ResetModel::kUserActionResetRollbackToggled[] = "rollback-toggled";
const char ResetModel::kUserActionResetShowConfirmationPressed[] =
"show-confirmation";
const char ResetModel::kUserActionResetResetConfirmationDismissed[] =
"reset-confirm-dismissed";
const char ResetModel::kContextKeyIsRestartRequired[] = "restart-required";
const char ResetModel::kContextKeyIsRollbackAvailable[] = "rollback-available";
const char ResetModel::kContextKeyIsRollbackChecked[] = "rollback-checked";
const char ResetModel::kContextKeyIsConfirmational[] = "is-confirmational-view";
const char ResetModel::kContextKeyIsOfficialBuild[] = "is-official-build";
const char ResetModel::kContextKeyScreenState[] = "screen-state";
ResetModel::ResetModel(BaseScreenDelegate* base_screen_delegate)
: BaseScreen(base_screen_delegate, OobeScreen::SCREEN_OOBE_RESET) {}
ResetModel::~ResetModel() {}
} // namespace chromeos
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_RESET_MODEL_H_
#define CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_RESET_MODEL_H_
#include <string>
#include "chrome/browser/chromeos/login/screens/base_screen.h"
namespace chromeos {
class BaseScreenDelegate;
class ResetView;
class ResetModel : public BaseScreen {
public:
static const char kUserActionCancelReset[];
static const char kUserActionResetRestartPressed[];
static const char kUserActionResetPowerwashPressed[];
static const char kUserActionResetLearnMorePressed[];
static const char kUserActionResetRollbackToggled[];
static const char kUserActionResetShowConfirmationPressed[];
static const char kUserActionResetResetConfirmationDismissed[];
static const char kContextKeyIsRestartRequired[];
static const char kContextKeyIsRollbackAvailable[];
static const char kContextKeyIsRollbackChecked[];
static const char kContextKeyIsConfirmational[];
static const char kContextKeyIsOfficialBuild[];
static const char kContextKeyScreenState[];
explicit ResetModel(BaseScreenDelegate* base_screen_delegate);
~ResetModel() override;
// Called when actor is destroyed so there's no dead reference to it.
virtual void OnViewDestroyed(ResetView* view) = 0;
};
} // namespace chromeos
#endif // CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_RESET_MODEL_H_
......@@ -24,15 +24,34 @@
namespace chromeos {
namespace {
constexpr const char kUserActionCancelReset[] = "cancel-reset";
constexpr const char kUserActionResetRestartPressed[] = "restart-pressed";
constexpr const char kUserActionResetPowerwashPressed[] = "powerwash-pressed";
constexpr const char kUserActionResetLearnMorePressed[] = "learn-more-link";
constexpr const char kUserActionResetRollbackToggled[] = "rollback-toggled";
constexpr const char kUserActionResetShowConfirmationPressed[] =
"show-confirmation";
constexpr const char kUserActionResetResetConfirmationDismissed[] =
"reset-confirm-dismissed";
constexpr const char kContextKeyIsRollbackAvailable[] = "rollback-available";
constexpr const char kContextKeyIsRollbackChecked[] = "rollback-checked";
constexpr const char kContextKeyIsConfirmational[] = "is-confirmational-view";
constexpr const char kContextKeyIsOfficialBuild[] = "is-official-build";
constexpr const char kContextKeyScreenState[] = "screen-state";
} // namespace
ResetScreen::ResetScreen(BaseScreenDelegate* base_screen_delegate,
ResetView* view)
: ResetModel(base_screen_delegate),
: BaseScreen(base_screen_delegate, OobeScreen::SCREEN_OOBE_RESET),
view_(view),
weak_ptr_factory_(this) {
DCHECK(view_);
if (view_)
view_->Bind(*this);
view_->Bind(this);
context_.SetInteger(kContextKeyScreenState, STATE_RESTART_REQUIRED);
context_.SetBoolean(kContextKeyIsRollbackAvailable, false);
context_.SetBoolean(kContextKeyIsRollbackChecked, false);
......
......@@ -12,7 +12,7 @@
#include "base/memory/ref_counted.h"
#include "base/memory/weak_ptr.h"
#include "chrome/browser/chromeos/login/help_app_launcher.h"
#include "chrome/browser/chromeos/login/screens/reset_model.h"
#include "chrome/browser/chromeos/login/screens/base_screen.h"
#include "chromeos/dbus/update_engine_client.h"
......@@ -22,17 +22,19 @@ class ErrorScreen;
class ResetView;
// Representation independent class that controls screen showing reset to users.
class ResetScreen : public ResetModel,
public UpdateEngineClient::Observer {
class ResetScreen : public BaseScreen, public UpdateEngineClient::Observer {
public:
ResetScreen(BaseScreenDelegate* base_screen_delegate,
ResetView* view);
~ResetScreen() override;
// ResetModel implementation:
// Called when actor is destroyed so there's no dead reference to it.
void OnViewDestroyed(ResetView* view);
private:
// BaseScreen implementation:
void Show() override;
void Hide() override;
void OnViewDestroyed(ResetView* view) override;
void OnUserAction(const std::string& action_id) override;
// UpdateEngineClient::Observer implementation:
......@@ -40,8 +42,6 @@ class ResetScreen : public ResetModel,
void OnRollbackCheck(bool can_rollback);
private:
enum State {
STATE_RESTART_REQUIRED = 0,
STATE_REVERT_PROMISE,
......
......@@ -7,7 +7,7 @@
namespace chromeos {
class ResetModel;
class ResetScreen;
// Interface for dependency injection between ResetScreen and its actual
// representation, either views based or WebUI.
......@@ -15,7 +15,7 @@ class ResetView {
public:
virtual ~ResetView() {}
virtual void Bind(ResetModel& model) = 0;
virtual void Bind(ResetScreen* screen) = 0;
virtual void Unbind() = 0;
virtual void Show() = 0;
virtual void Hide() = 0;
......
......@@ -10,7 +10,7 @@
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chromeos/login/help_app_launcher.h"
#include "chrome/browser/chromeos/login/oobe_screen.h"
#include "chrome/browser/chromeos/login/screens/reset_model.h"
#include "chrome/browser/chromeos/login/screens/reset_screen.h"
#include "chrome/common/pref_names.h"
#include "chrome/grit/chromium_strings.h"
#include "chrome/grit/generated_resources.h"
......@@ -27,15 +27,11 @@ const char kJsScreenPath[] = "login.ResetScreen";
namespace chromeos {
ResetScreenHandler::ResetScreenHandler()
: BaseScreenHandler(kJsScreenPath),
model_(nullptr),
show_on_init_(false) {
}
ResetScreenHandler::ResetScreenHandler() : BaseScreenHandler(kJsScreenPath) {}
ResetScreenHandler::~ResetScreenHandler() {
if (model_)
model_->OnViewDestroyed(this);
if (screen_)
screen_->OnViewDestroyed(this);
}
void ResetScreenHandler::Show() {
......@@ -107,13 +103,13 @@ void ResetScreenHandler::Initialize() {
}
}
void ResetScreenHandler::Bind(ResetModel& model) {
model_ = &model;
BaseScreenHandler::SetBaseScreen(model_);
void ResetScreenHandler::Bind(ResetScreen* screen) {
screen_ = screen;
BaseScreenHandler::SetBaseScreen(screen_);
}
void ResetScreenHandler::Unbind() {
model_ = nullptr;
screen_ = nullptr;
BaseScreenHandler::SetBaseScreen(nullptr);
}
......
......@@ -23,7 +23,7 @@ class ResetScreenHandler : public ResetView,
~ResetScreenHandler() override;
// ResetView implementation:
void Bind(ResetModel& model) override;
void Bind(ResetScreen* screen) override;
void Unbind() override;
void Show() override;
void Hide() override;
......@@ -37,11 +37,10 @@ class ResetScreenHandler : public ResetView,
static void RegisterPrefs(PrefRegistrySimple* registry);
private:
ResetScreen* screen_ = nullptr;
ResetModel* model_;
// Keeps whether screen should be shown right after initialization.
bool show_on_init_;
// If true, Initialize() will call Show().
bool show_on_init_ = false;
DISALLOW_COPY_AND_ASSIGN(ResetScreenHandler);
};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment