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

Side by Side Diff: chrome/browser/chromeos/login/screens/arc_terms_of_service_screen.cc

Issue 2561023002: arc: ARC loading progress should not be shown when started from OOBE. (Closed)
Patch Set: refactored Created 3 years, 10 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/login/screens/arc_terms_of_service_screen.h" 5 #include "chrome/browser/chromeos/login/screens/arc_terms_of_service_screen.h"
6 6
7 #include "chrome/browser/chromeos/login/screens/arc_terms_of_service_screen_acto r.h"
7 #include "chrome/browser/chromeos/login/screens/base_screen_delegate.h" 8 #include "chrome/browser/chromeos/login/screens/base_screen_delegate.h"
8 #include "chrome/browser/chromeos/login/wizard_controller.h" 9 #include "chrome/browser/chromeos/login/wizard_controller.h"
9 #include "chrome/browser/metrics/metrics_reporting_state.h" 10 #include "chrome/browser/metrics/metrics_reporting_state.h"
10 #include "chrome/browser/profiles/profile.h" 11 #include "chrome/browser/profiles/profile.h"
11 #include "chrome/browser/profiles/profile_manager.h" 12 #include "chrome/browser/profiles/profile_manager.h"
12 #include "chrome/common/pref_names.h" 13 #include "chrome/common/pref_names.h"
13 #include "components/prefs/pref_service.h" 14 #include "components/prefs/pref_service.h"
14 15
15 namespace chromeos { 16 namespace chromeos {
16 17
17 ArcTermsOfServiceScreen::ArcTermsOfServiceScreen( 18 ArcTermsOfServiceScreen::ArcTermsOfServiceScreen(
18 BaseScreenDelegate* base_screen_delegate, 19 BaseScreenDelegate* base_screen_delegate,
19 ArcTermsOfServiceScreenActor* actor) 20 ArcTermsOfServiceScreenActor* actor)
20 : BaseScreen(base_screen_delegate, OobeScreen::SCREEN_ARC_TERMS_OF_SERVICE), 21 : BaseScreen(base_screen_delegate, OobeScreen::SCREEN_ARC_TERMS_OF_SERVICE),
21 actor_(actor) { 22 actor_(actor) {
22 DCHECK(actor_); 23 DCHECK(actor_);
23 if (actor_) 24 if (actor_)
24 actor_->SetDelegate(this); 25 actor_->AddObserver(this);
25 } 26 }
26 27
27 ArcTermsOfServiceScreen::~ArcTermsOfServiceScreen() { 28 ArcTermsOfServiceScreen::~ArcTermsOfServiceScreen() {
28 if (actor_) 29 if (actor_)
29 actor_->SetDelegate(nullptr); 30 actor_->RemoveObserver(this);
30 } 31 }
31 32
32 void ArcTermsOfServiceScreen::Show() { 33 void ArcTermsOfServiceScreen::Show() {
33 if (!actor_) 34 if (!actor_)
34 return; 35 return;
35 36
36 // Show the screen. 37 // Show the screen.
37 actor_->Show(); 38 actor_->Show();
38 } 39 }
39 40
40 void ArcTermsOfServiceScreen::Hide() { 41 void ArcTermsOfServiceScreen::Hide() {
41 if (actor_) 42 if (actor_)
42 actor_->Hide(); 43 actor_->Hide();
43 } 44 }
44 45
45 void ArcTermsOfServiceScreen::OnSkip() { 46 void ArcTermsOfServiceScreen::OnSkip() {
46 ApplyTerms(false); 47 Finish(BaseScreenDelegate::ARC_TERMS_OF_SERVICE_FINISHED);
47 } 48 }
48 49
49 void ArcTermsOfServiceScreen::OnAccept() { 50 void ArcTermsOfServiceScreen::OnAccept() {
50 ApplyTerms(true);
51 }
52
53 void ArcTermsOfServiceScreen::ApplyTerms(bool accepted) {
54 Profile* profile = ProfileManager::GetActiveUserProfile();
55 profile->GetPrefs()->SetBoolean(prefs::kArcTermsAccepted, accepted);
56 profile->GetPrefs()->SetBoolean(prefs::kArcEnabled, accepted);
57
58 Finish(BaseScreenDelegate::ARC_TERMS_OF_SERVICE_FINISHED); 51 Finish(BaseScreenDelegate::ARC_TERMS_OF_SERVICE_FINISHED);
59 } 52 }
60 53
61 void ArcTermsOfServiceScreen::OnActorDestroyed( 54 void ArcTermsOfServiceScreen::OnActorDestroyed(
62 ArcTermsOfServiceScreenActor* actor) { 55 ArcTermsOfServiceScreenActor* actor) {
63 DCHECK_EQ(actor, actor_); 56 DCHECK_EQ(actor, actor_);
64 actor_ = nullptr; 57 actor_ = nullptr;
65 } 58 }
66 59
67 } // namespace chromeos 60 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698