OLD | NEW |
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/arc/arc_session_manager.h" | 5 #include "chrome/browser/chromeos/arc/arc_session_manager.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "ash/common/shelf/shelf_delegate.h" | 9 #include "ash/common/shelf/shelf_delegate.h" |
10 #include "ash/common/wm_shell.h" | 10 #include "ash/common/wm_shell.h" |
(...skipping 426 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
437 if (support_host_) { | 437 if (support_host_) { |
438 support_host_->Close(); | 438 support_host_->Close(); |
439 support_host_->RemoveObserver(this); | 439 support_host_->RemoveObserver(this); |
440 support_host_.reset(); | 440 support_host_.reset(); |
441 } | 441 } |
442 context_.reset(); | 442 context_.reset(); |
443 profile_ = nullptr; | 443 profile_ = nullptr; |
444 SetState(State::NOT_INITIALIZED); | 444 SetState(State::NOT_INITIALIZED); |
445 } | 445 } |
446 | 446 |
447 | |
448 void ArcSessionManager::ShutdownSession() { | 447 void ArcSessionManager::ShutdownSession() { |
449 arc_sign_in_timer_.Stop(); | 448 arc_sign_in_timer_.Stop(); |
450 playstore_launcher_.reset(); | 449 playstore_launcher_.reset(); |
451 terms_of_service_negotiator_.reset(); | 450 terms_of_service_negotiator_.reset(); |
452 android_management_checker_.reset(); | 451 android_management_checker_.reset(); |
453 arc_session_runner_->RequestStop(); | 452 arc_session_runner_->RequestStop(); |
454 // TODO(hidehiko): The ARC instance's stopping is asynchronous, so it might | 453 // TODO(hidehiko): The ARC instance's stopping is asynchronous, so it might |
455 // still be running when we return from this function. Do not set the | 454 // still be running when we return from this function. Do not set the |
456 // STOPPED state immediately here. | 455 // STOPPED state immediately here. |
457 if (state_ != State::NOT_INITIALIZED && state_ != State::REMOVING_DATA_DIR) | 456 if (state_ != State::NOT_INITIALIZED && state_ != State::REMOVING_DATA_DIR) |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
573 // TODO(poromov): Move to more Kiosk dedicated set-up phase. | 572 // TODO(poromov): Move to more Kiosk dedicated set-up phase. |
574 if (IsArcKioskMode()) | 573 if (IsArcKioskMode()) |
575 prefs->SetBoolean(prefs::kArcTermsAccepted, true); | 574 prefs->SetBoolean(prefs::kArcTermsAccepted, true); |
576 | 575 |
577 // Skip to show UI asking users to set up ARC OptIn preferences, if all of | 576 // Skip to show UI asking users to set up ARC OptIn preferences, if all of |
578 // them are managed by the admin policy. Note that the ToS agreement is anyway | 577 // them are managed by the admin policy. Note that the ToS agreement is anyway |
579 // not shown in the case of the managed ARC. | 578 // not shown in the case of the managed ARC. |
580 if (AreArcAllOptInPreferencesManaged()) | 579 if (AreArcAllOptInPreferencesManaged()) |
581 prefs->SetBoolean(prefs::kArcTermsAccepted, true); | 580 prefs->SetBoolean(prefs::kArcTermsAccepted, true); |
582 | 581 |
583 // If it is marked that sign in has been successfully done, then directly | 582 // If it is marked that sign in has been successfully done, if ARC has been |
584 // start ARC. | 583 // set up to always start, then directly start ARC. |
585 // For testing, and for Kiosk mode, we also skip ToS negotiation procedure. | 584 // For testing, and for Kiosk mode, we also skip ToS negotiation procedure. |
586 // For backward compatibility, this check needs to be prior to the | 585 // For backward compatibility, this check needs to be prior to the |
587 // kArcTermsAccepted check below. | 586 // kArcTermsAccepted check below. |
588 if (prefs->GetBoolean(prefs::kArcSignedIn) || | 587 if (prefs->GetBoolean(prefs::kArcSignedIn) || ShouldArcAlwaysStart() || |
589 IsArcOptInVerificationDisabled() || IsArcKioskMode()) { | 588 IsArcOptInVerificationDisabled() || IsArcKioskMode()) { |
590 StartArc(); | 589 StartArc(); |
591 | 590 |
592 // Skip Android management check for testing. | 591 // Skip Android management check for testing. |
593 // We also skip if Android management check for Kiosk mode, | 592 // We also skip if Android management check for Kiosk mode, |
594 // because there are no managed human users for Kiosk exist. | 593 // because there are no managed human users for Kiosk exist. |
595 if (IsArcOptInVerificationDisabled() || IsArcKioskMode() || | 594 if (IsArcOptInVerificationDisabled() || IsArcKioskMode() || |
596 (g_disable_ui_for_testing && | 595 (g_disable_ui_for_testing && |
597 !g_enable_check_android_management_for_testing)) { | 596 !g_enable_check_android_management_for_testing)) { |
598 return; | 597 return; |
(...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
892 | 891 |
893 #undef MAP_STATE | 892 #undef MAP_STATE |
894 | 893 |
895 // Some compilers report an error even if all values of an enum-class are | 894 // Some compilers report an error even if all values of an enum-class are |
896 // covered exhaustively in a switch statement. | 895 // covered exhaustively in a switch statement. |
897 NOTREACHED() << "Invalid value " << static_cast<int>(state); | 896 NOTREACHED() << "Invalid value " << static_cast<int>(state); |
898 return os; | 897 return os; |
899 } | 898 } |
900 | 899 |
901 } // namespace arc | 900 } // namespace arc |
OLD | NEW |