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

Unified Diff: chrome/browser/ui/app_list/arc/arc_app_list_prefs.cc

Issue 2357763002: arc: Don't show default Arc apps for managed users with Arc-disabled. (Closed)
Patch Set: rebase + nit Created 4 years, 2 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/ui/app_list/arc/arc_app_list_prefs.cc
diff --git a/chrome/browser/ui/app_list/arc/arc_app_list_prefs.cc b/chrome/browser/ui/app_list/arc/arc_app_list_prefs.cc
index b86400a65d6f48420e2ca720407d9504d8bd7cda..e3368fe53fb5c9094cb78268097c82624b4904f2 100644
--- a/chrome/browser/ui/app_list/arc/arc_app_list_prefs.cc
+++ b/chrome/browser/ui/app_list/arc/arc_app_list_prefs.cc
@@ -591,19 +591,41 @@ void ArcAppListPrefs::RemoveAllApps() {
}
void ArcAppListPrefs::OnOptInEnabled(bool enabled) {
+ UpdateDefaultAppsHiddenState();
+
if (enabled)
NotifyRegisteredApps();
else
RemoveAllApps();
}
+void ArcAppListPrefs::UpdateDefaultAppsHiddenState() {
+ const arc::ArcAuthService* auth_service = arc::ArcAuthService::Get();
+ const bool was_hidden = default_apps_.is_hidden();
+ default_apps_.set_hidden(!auth_service->IsArcEnabled() &&
+ auth_service->IsArcManaged());
+ if (was_hidden && !default_apps_.is_hidden())
+ RegisterDefaultApps();
+}
+
void ArcAppListPrefs::OnDefaultAppsReady() {
// Apply uninstalled packages now.
+
const std::vector<std::string> uninstalled_package_names =
GetPackagesFromPrefs(false);
for (const auto& uninstalled_package_name : uninstalled_package_names)
default_apps_.MaybeMarkPackageUninstalled(uninstalled_package_name, true);
+ UpdateDefaultAppsHiddenState();
+
+ default_apps_ready_ = true;
+ if (!default_apps_ready_callback_.is_null())
+ default_apps_ready_callback_.Run();
+
+ StartPrefs();
+}
+
+void ArcAppListPrefs::RegisterDefaultApps() {
// Report default apps first, note, app_map includes uninstalled apps as well.
for (const auto& default_app : default_apps_.app_map()) {
const std::string& app_id = default_app.first;
@@ -622,12 +644,6 @@ void ArcAppListPrefs::OnDefaultAppsReady() {
true /* launchable */,
arc::mojom::OrientationLock::NONE);
}
-
- default_apps_ready_ = true;
- if (!default_apps_ready_callback_.is_null())
- default_apps_ready_callback_.Run();
-
- StartPrefs();
}
void ArcAppListPrefs::SetDefaltAppsReadyCallback(base::Closure callback) {
« no previous file with comments | « chrome/browser/ui/app_list/arc/arc_app_list_prefs.h ('k') | chrome/browser/ui/app_list/arc/arc_default_app_list.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698