Commit c46b033c authored by nancy's avatar nancy Committed by Commit Bot

Apply the pause app icon effect when update the app structure.

When an app's state is updated called by OnAppStatesChanged, it should
check the pause status and apply the pause app icon effect if the app is
paused.

BUG=1051066

Change-Id: If84632ddb6a0be72637f545f67cd0b999da169ed
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2050217
Commit-Queue: Nancy Wang <nancylingwang@chromium.org>
Reviewed-by: default avatarDominick Ng <dominickn@chromium.org>
Cr-Commit-Position: refs/heads/master@{#740591}
parent 455d7158
...@@ -471,7 +471,7 @@ void ArcApps::Uninstall(const std::string& app_id, ...@@ -471,7 +471,7 @@ void ArcApps::Uninstall(const std::string& app_id,
} }
void ArcApps::PauseApp(const std::string& app_id) { void ArcApps::PauseApp(const std::string& app_id) {
if (paused_apps_.find(app_id) != paused_apps_.end()) { if (base::Contains(paused_apps_, app_id)) {
return; return;
} }
...@@ -482,7 +482,7 @@ void ArcApps::PauseApp(const std::string& app_id) { ...@@ -482,7 +482,7 @@ void ArcApps::PauseApp(const std::string& app_id) {
} }
void ArcApps::UnpauseApps(const std::string& app_id) { void ArcApps::UnpauseApps(const std::string& app_id) {
if (paused_apps_.find(app_id) == paused_apps_.end()) { if (!base::Contains(paused_apps_, app_id)) {
return; return;
} }
...@@ -897,12 +897,20 @@ apps::mojom::AppPtr ArcApps::Convert(ArcAppListPrefs* prefs, ...@@ -897,12 +897,20 @@ apps::mojom::AppPtr ArcApps::Convert(ArcAppListPrefs* prefs,
app->short_name = app->name; app->short_name = app->name;
app->publisher_id = app_info.package_name; app->publisher_id = app_info.package_name;
auto paused = base::Contains(paused_apps_, app_id)
? apps::mojom::OptionalBool::kTrue
: apps::mojom::OptionalBool::kFalse;
if (update_icon) { if (update_icon) {
IconEffects icon_effects = IconEffects::kNone; IconEffects icon_effects = IconEffects::kNone;
if (app_info.suspended) { if (app_info.suspended) {
icon_effects = icon_effects =
static_cast<IconEffects>(icon_effects | IconEffects::kBlocked); static_cast<IconEffects>(icon_effects | IconEffects::kBlocked);
} }
if (paused == apps::mojom::OptionalBool::kTrue) {
icon_effects =
static_cast<IconEffects>(icon_effects | IconEffects::kPaused);
}
app->icon_key = icon_key_factory_.MakeIconKey(icon_effects); app->icon_key = icon_key_factory_.MakeIconKey(icon_effects);
} }
...@@ -921,7 +929,7 @@ apps::mojom::AppPtr ArcApps::Convert(ArcAppListPrefs* prefs, ...@@ -921,7 +929,7 @@ apps::mojom::AppPtr ArcApps::Convert(ArcAppListPrefs* prefs,
app->show_in_search = show; app->show_in_search = show;
app->show_in_management = show; app->show_in_management = show;
app->paused = apps::mojom::OptionalBool::kFalse; app->paused = paused;
std::unique_ptr<ArcAppListPrefs::PackageInfo> package = std::unique_ptr<ArcAppListPrefs::PackageInfo> package =
prefs->GetPackage(app_info.package_name); prefs->GetPackage(app_info.package_name);
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include "base/metrics/histogram_macros.h" #include "base/metrics/histogram_macros.h"
#include "base/optional.h" #include "base/optional.h"
#include "base/scoped_observer.h" #include "base/scoped_observer.h"
#include "base/stl_util.h"
#include "base/strings/string16.h" #include "base/strings/string16.h"
#include "base/strings/stringprintf.h" #include "base/strings/stringprintf.h"
#include "chrome/browser/apps/app_service/app_icon_factory.h" #include "chrome/browser/apps/app_service/app_icon_factory.h"
...@@ -583,7 +584,7 @@ void ExtensionApps::Uninstall(const std::string& app_id, ...@@ -583,7 +584,7 @@ void ExtensionApps::Uninstall(const std::string& app_id,
} }
void ExtensionApps::PauseApp(const std::string& app_id) { void ExtensionApps::PauseApp(const std::string& app_id) {
if (paused_apps_.find(app_id) != paused_apps_.end()) { if (base::Contains(paused_apps_, app_id)) {
return; return;
} }
...@@ -621,7 +622,7 @@ void ExtensionApps::PauseApp(const std::string& app_id) { ...@@ -621,7 +622,7 @@ void ExtensionApps::PauseApp(const std::string& app_id) {
} }
void ExtensionApps::UnpauseApps(const std::string& app_id) { void ExtensionApps::UnpauseApps(const std::string& app_id) {
if (paused_apps_.find(app_id) == paused_apps_.end()) { if (!base::Contains(paused_apps_, app_id)) {
return; return;
} }
...@@ -1201,7 +1202,9 @@ apps::mojom::AppPtr ExtensionApps::Convert( ...@@ -1201,7 +1202,9 @@ apps::mojom::AppPtr ExtensionApps::Convert(
: apps::mojom::OptionalBool::kFalse; : apps::mojom::OptionalBool::kFalse;
app->recommendable = apps::mojom::OptionalBool::kTrue; app->recommendable = apps::mojom::OptionalBool::kTrue;
app->searchable = apps::mojom::OptionalBool::kTrue; app->searchable = apps::mojom::OptionalBool::kTrue;
app->paused = apps::mojom::OptionalBool::kFalse; app->paused = base::Contains(paused_apps_, extension->id())
? apps::mojom::OptionalBool::kTrue
: apps::mojom::OptionalBool::kFalse;
SetShowInFields(app, extension, profile_); SetShowInFields(app, extension, profile_);
// Get the intent filters for PWAs. // Get the intent filters for PWAs.
...@@ -1267,7 +1270,7 @@ IconEffects ExtensionApps::GetIconEffects( ...@@ -1267,7 +1270,7 @@ IconEffects ExtensionApps::GetIconEffects(
icon_effects = icon_effects =
static_cast<IconEffects>(icon_effects | IconEffects::kRoundCorners); static_cast<IconEffects>(icon_effects | IconEffects::kRoundCorners);
} }
if (paused_apps_.find(extension->id()) != paused_apps_.end()) { if (base::Contains(paused_apps_, extension->id())) {
icon_effects = icon_effects =
static_cast<IconEffects>(icon_effects | IconEffects::kPaused); static_cast<IconEffects>(icon_effects | IconEffects::kPaused);
} }
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
#include "base/callback.h" #include "base/callback.h"
#include "base/metrics/histogram_macros.h" #include "base/metrics/histogram_macros.h"
#include "base/optional.h" #include "base/optional.h"
#include "base/stl_util.h"
#include "base/strings/string16.h" #include "base/strings/string16.h"
#include "base/strings/stringprintf.h" #include "base/strings/stringprintf.h"
#include "chrome/browser/apps/app_service/app_icon_factory.h" #include "chrome/browser/apps/app_service/app_icon_factory.h"
...@@ -341,7 +342,7 @@ void WebApps::Uninstall(const std::string& app_id, ...@@ -341,7 +342,7 @@ void WebApps::Uninstall(const std::string& app_id,
} }
void WebApps::PauseApp(const std::string& app_id) { void WebApps::PauseApp(const std::string& app_id) {
if (paused_apps_.find(app_id) != paused_apps_.end()) { if (base::Contains(paused_apps_, app_id)) {
return; return;
} }
...@@ -359,7 +360,7 @@ void WebApps::PauseApp(const std::string& app_id) { ...@@ -359,7 +360,7 @@ void WebApps::PauseApp(const std::string& app_id) {
} }
void WebApps::UnpauseApps(const std::string& app_id) { void WebApps::UnpauseApps(const std::string& app_id) {
if (paused_apps_.find(app_id) == paused_apps_.end()) { if (!base::Contains(paused_apps_, app_id)) {
return; return;
} }
...@@ -601,7 +602,9 @@ apps::mojom::AppPtr WebApps::Convert(const web_app::WebApp* web_app, ...@@ -601,7 +602,9 @@ apps::mojom::AppPtr WebApps::Convert(const web_app::WebApp* web_app,
app->is_platform_app = apps::mojom::OptionalBool::kFalse; app->is_platform_app = apps::mojom::OptionalBool::kFalse;
app->recommendable = apps::mojom::OptionalBool::kTrue; app->recommendable = apps::mojom::OptionalBool::kTrue;
app->searchable = apps::mojom::OptionalBool::kTrue; app->searchable = apps::mojom::OptionalBool::kTrue;
app->paused = apps::mojom::OptionalBool::kFalse; app->paused = base::Contains(paused_apps_, web_app->app_id())
? apps::mojom::OptionalBool::kTrue
: apps::mojom::OptionalBool::kFalse;
SetShowInFields(app, web_app); SetShowInFields(app, web_app);
// Get the intent filters for PWAs. // Get the intent filters for PWAs.
...@@ -648,7 +651,7 @@ IconEffects WebApps::GetIconEffects(const web_app::WebApp* web_app) { ...@@ -648,7 +651,7 @@ IconEffects WebApps::GetIconEffects(const web_app::WebApp* web_app) {
} }
icon_effects = icon_effects =
static_cast<IconEffects>(icon_effects | IconEffects::kRoundCorners); static_cast<IconEffects>(icon_effects | IconEffects::kRoundCorners);
if (paused_apps_.find(web_app->app_id()) != paused_apps_.end()) { if (base::Contains(paused_apps_, web_app->app_id())) {
icon_effects = icon_effects =
static_cast<IconEffects>(icon_effects | IconEffects::kPaused); static_cast<IconEffects>(icon_effects | IconEffects::kPaused);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment