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

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: nit Created 4 years, 3 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 643669d1c720a6d51cdf1165b065ff597259eae3..96152a100146bf30a16decd98c7e2816b463419e 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
@@ -580,19 +580,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;
@@ -611,12 +633,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) {

Powered by Google App Engine
This is Rietveld 408576698