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

Unified Diff: chrome/browser/chromeos/arc/arc_session_manager.cc

Issue 2707133006: Start ARC and sign in after Chrome OS login (Closed)
Patch Set: test coverage in chrome_launcher_controller_impl_unittest.cc 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/arc/arc_session_manager.cc
diff --git a/chrome/browser/chromeos/arc/arc_session_manager.cc b/chrome/browser/chromeos/arc/arc_session_manager.cc
index 7eab36a63c72b086c0c29b6e9e06b531d7179912..0083fec91e36da989b2fa5c32e3fdd675bbf9a20 100644
--- a/chrome/browser/chromeos/arc/arc_session_manager.cc
+++ b/chrome/browser/chromeos/arc/arc_session_manager.cc
@@ -395,6 +395,7 @@ void ArcSessionManager::OnPrimaryUserProfilePrepared(Profile* profile) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
DCHECK(profile && profile != profile_);
+ // TODO(victorhsieh): Keep using the instance from login screen when ready.
Shutdown();
if (!IsArcAllowedForProfile(profile))
@@ -449,7 +450,7 @@ void ArcSessionManager::OnPrimaryUserProfilePrepared(Profile* profile) {
RemoveArcData();
}
- if (IsArcPlayStoreEnabled()) {
+ if (ShouldAlwaysStartArc() || IsArcPlayStoreEnabled()) {
VLOG(1) << "ARC is already enabled.";
DCHECK(!enable_requested_);
RequestEnable();
@@ -513,13 +514,13 @@ void ArcSessionManager::OnOptInPreferenceChanged() {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
DCHECK(profile_);
- const bool arc_enabled = IsArcPlayStoreEnabled();
+ const bool play_store_enabled = IsArcPlayStoreEnabled();
if (!IsArcManaged()) {
// Update UMA only for non-Managed cases.
- UpdateOptInActionUMA(arc_enabled ? OptInActionType::OPTED_IN
- : OptInActionType::OPTED_OUT);
+ UpdateOptInActionUMA(play_store_enabled ? OptInActionType::OPTED_IN
+ : OptInActionType::OPTED_OUT);
- if (!arc_enabled) {
+ if (!play_store_enabled) {
// Remove the pinned Play Store icon launcher in Shelf.
// This is only for non-Managed cases. In managed cases, it is expected
// to be "disabled" rather than "removed", so keep it here.
@@ -539,13 +540,18 @@ void ArcSessionManager::OnOptInPreferenceChanged() {
ArcAuthNotification::Hide();
}
- if (arc_enabled)
- RequestEnable();
- else
- RequestDisable();
+ if (ShouldAlwaysStartArc()) {
+ // TODO(victorhsieh): Implement opt-in and opt-out flow. For now, do
+ // nothing but keep the existing ARC instance running.
+ } else {
+ if (play_store_enabled)
+ RequestEnable();
+ else
+ RequestDisable();
+ }
for (auto& observer : observer_list_)
- observer.OnArcPlayStoreEnabledChanged(arc_enabled);
+ observer.OnArcPlayStoreEnabledChanged(play_store_enabled);
}
void ArcSessionManager::ShutdownSession() {
@@ -733,7 +739,7 @@ void ArcSessionManager::RequestEnableImpl() {
// For testing, and for Kiosk mode, we also skip ToS negotiation procedure.
// For backward compatibility, this check needs to be prior to the
// kArcTermsAccepted check below.
- if (prefs->GetBoolean(prefs::kArcSignedIn) ||
+ if (prefs->GetBoolean(prefs::kArcSignedIn) || ShouldAlwaysStartArc() ||
IsArcOptInVerificationDisabled() || IsArcKioskMode()) {
StartArc();

Powered by Google App Engine
This is Rietveld 408576698