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

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

Issue 2468973006: arc: Fix default app availability reporting. (Closed)
Patch Set: Created 4 years, 1 month 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
« no previous file with comments | « chrome/browser/ui/app_list/arc/arc_app_list_prefs.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 374344a90ce8884a58810d63a92f9e890f2eca3c..3829b002a47cd9aa8fb08049c6e23b1bf442875f 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
@@ -563,11 +563,13 @@ void ArcAppListPrefs::NotifyRegisteredApps() {
NOTREACHED();
continue;
}
+
// Default apps are reported earlier.
- if (default_apps_.HasApp(app_id))
- continue;
- for (auto& observer : observer_list_)
- observer.OnAppRegistered(app_id, *app_info);
+ if (!tracked_apps_.count(app_id)) {
hidehiko 2016/11/02 20:56:08 if (tracked_apps_.insert(app_id).second) { ... }
+ for (auto& observer : observer_list_)
+ observer.OnAppRegistered(app_id, *app_info);
+ tracked_apps_.insert(app_id);
+ }
}
apps_restored_ = true;
@@ -722,8 +724,8 @@ void ArcAppListPrefs::AddAppAndShortcut(
if (app_id == arc::kPlayStoreAppId)
updated_name = l10n_util::GetStringUTF8(IDS_ARC_PLAYSTORE_ICON_TITLE_BETA);
- const bool was_registered = IsRegistered(app_id);
- if (was_registered) {
+ const bool was_tracked = tracked_apps_.count(app_id);
khmel 2016/11/02 18:26:57 IsRegistered does not fit well for the purpose to
+ if (was_tracked) {
std::unique_ptr<ArcAppListPrefs::AppInfo> app_old_info = GetApp(app_id);
DCHECK(app_old_info);
DCHECK(launchable);
@@ -759,7 +761,7 @@ void ArcAppListPrefs::AddAppAndShortcut(
if (was_disabled && app_ready)
ready_apps_.insert(app_id);
- if (was_registered) {
+ if (was_tracked) {
if (was_disabled && app_ready) {
for (auto& observer : observer_list_)
observer.OnAppReadyChanged(app_id, true);
@@ -772,6 +774,7 @@ void ArcAppListPrefs::AddAppAndShortcut(
launchable, orientation_lock);
for (auto& observer : observer_list_)
observer.OnAppRegistered(app_id, app_info);
+ tracked_apps_.insert(app_id);
}
if (app_ready) {
@@ -814,8 +817,10 @@ void ArcAppListPrefs::RemoveApp(const std::string& app_id) {
const bool removed = apps->Remove(app_id, nullptr);
DCHECK(removed);
+ DCHECK(tracked_apps_.count(app_id));
for (auto& observer : observer_list_)
observer.OnAppRemoved(app_id);
+ tracked_apps_.erase(app_id);
// Remove local data on file system.
content::BrowserThread::GetBlockingPool()->PostTask(
« no previous file with comments | « chrome/browser/ui/app_list/arc/arc_app_list_prefs.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698