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

Unified Diff: chrome/browser/chromeos/login/wizard_controller.cc

Issue 2929963002: Add value proposition entrypoint from Voice Interaction shortcut (Closed)
Patch Set: Created 3 years, 6 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
Index: chrome/browser/chromeos/login/wizard_controller.cc
diff --git a/chrome/browser/chromeos/login/wizard_controller.cc b/chrome/browser/chromeos/login/wizard_controller.cc
index 76a3644f3a98492a1e6bbf4443ef176d43db7d0d..a7028733aa308f5c28403e6bd452bbab95e7a8d7 100644
--- a/chrome/browser/chromeos/login/wizard_controller.cc
+++ b/chrome/browser/chromeos/login/wizard_controller.cc
@@ -255,6 +255,7 @@ WizardController::WizardController(LoginDisplayHost* host, OobeUI* oobe_ui)
DCHECK(default_controller_ == nullptr);
default_controller_ = this;
screen_manager_ = base::MakeUnique<ScreenManager>(this);
+ device_marked_registered_ = StartupUtils::IsDeviceRegistered();
xiyuan 2017/06/12 17:19:56 |device_marked_registered_| does not look like rel
yueli 2017/06/12 20:10:07 How about use IsSessionStarted instead and add com
if (!ash_util::IsRunningInMash()) {
AccessibilityManager* accessibility_manager = AccessibilityManager::Get();
CHECK(accessibility_manager);
@@ -828,6 +829,13 @@ void WizardController::OnTermsOfServiceAccepted() {
}
void WizardController::OnArcTermsOfServiceFinished() {
+ const Profile* profile = ProfileManager::GetActiveUserProfile();
+ if (device_marked_registered_) {
+ if (profile->GetPrefs()->GetBoolean(prefs::kArcTermsAccepted))
+ StartVoiceInteractionSetupWizard();
+ OnOobeFlowFinished();
+ return;
+ }
// If the user finished with the PlayStore Terms of Service, advance to the
// user image screen.
ShowUserImageScreen();
@@ -838,12 +846,13 @@ void WizardController::OnVoiceInteractionValuePropSkipped() {
}
void WizardController::OnVoiceInteractionValuePropAccepted() {
- // Start voice interaction setup wizard in container
- arc::ArcVoiceInteractionFrameworkService* service =
- arc::ArcServiceManager::Get()
- ->GetService<arc::ArcVoiceInteractionFrameworkService>();
- if (service)
- service->StartVoiceInteractionSetupWizard();
+ const Profile* profile = ProfileManager::GetActiveUserProfile();
+ if (device_marked_registered_ &&
+ !arc::IsArcPlayStoreEnabledForProfile(profile)) {
+ ShowArcTermsOfServiceScreen();
+ return;
+ }
+ StartVoiceInteractionSetupWizard();
OnOobeFlowFinished();
}
@@ -862,6 +871,14 @@ void WizardController::OnAutoEnrollmentCheckCompleted() {
}
void WizardController::OnOobeFlowFinished() {
+ if (device_marked_registered_) {
+ host_->SetStatusAreaVisible(true);
+ base::OnceClosure empty_callback = base::BindOnce([] {});
+ host_->Finalize(std::move(empty_callback));
xiyuan 2017/06/12 17:19:56 Since you don't care about the callback, you can j
yueli 2017/06/12 20:10:07 Done.
+ host_ = nullptr;
+ return;
+ }
+
if (!time_oobe_started_.is_null()) {
base::TimeDelta delta = base::Time::Now() - time_oobe_started_;
UMA_HISTOGRAM_CUSTOM_TIMES("OOBE.BootToSignInCompleted", delta,
@@ -1544,7 +1561,8 @@ bool WizardController::ShouldShowArcTerms() const {
}
bool WizardController::ShouldShowVoiceInteractionValueProp() const {
- if (!arc::IsArcPlayStoreEnabledForProfile(
+ if (!device_marked_registered_ &&
xc 2017/06/09 18:00:14 Add comment on why we need to do these check this
yueli 2017/06/12 20:10:07 Done.
+ !arc::IsArcPlayStoreEnabledForProfile(
ProfileManager::GetActiveUserProfile())) {
VLOG(1) << "Skip Voice Interaction Value Prop screen because Arc Terms is "
<< "skipped.";
@@ -1558,6 +1576,14 @@ bool WizardController::ShouldShowVoiceInteractionValueProp() const {
return true;
}
+void WizardController::StartVoiceInteractionSetupWizard() {
+ arc::ArcVoiceInteractionFrameworkService* service =
+ arc::ArcServiceManager::Get()
+ ->GetService<arc::ArcVoiceInteractionFrameworkService>();
+ if (service)
+ service->StartVoiceInteractionSetupWizard();
+}
+
void WizardController::MaybeStartListeningForSharkConnection() {
// We shouldn't be here if we are running pairing OOBE already.
if (IsControllerDetected())

Powered by Google App Engine
This is Rietveld 408576698