| 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 1bfba916787c7ede3ccf7649bd471b60d34a7879..018f5f56b032f0a2eedb148ebde7e86b453f99f8 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
|
| @@ -24,6 +24,7 @@ namespace {
|
| const char kName[] = "name";
|
| const char kPackageName[] = "package_name";
|
| const char kActivity[] = "activity";
|
| +const char kUninstallable[] = "uninstallable";
|
| const char kLastLaunchTime[] = "lastlaunchtime";
|
|
|
| // Provider of write access to a dictionary storing ARC app prefs.
|
| @@ -234,9 +235,11 @@ scoped_ptr<ArcAppListPrefs::AppInfo> ArcAppListPrefs::GetApp(
|
| std::string name;
|
| std::string package_name;
|
| std::string activity;
|
| + bool uninstallable;
|
| app->GetString(kName, &name);
|
| app->GetString(kPackageName, &package_name);
|
| app->GetString(kActivity, &activity);
|
| + app->GetBoolean(kUninstallable, &uninstallable);
|
|
|
| base::Time last_launch_time;
|
| std::string last_launch_time_str;
|
| @@ -253,7 +256,8 @@ scoped_ptr<ArcAppListPrefs::AppInfo> ArcAppListPrefs::GetApp(
|
| package_name,
|
| activity,
|
| last_launch_time,
|
| - ready_apps_.count(app_id) > 0));
|
| + ready_apps_.count(app_id) > 0,
|
| + uninstallable));
|
| return app_info;
|
| }
|
|
|
| @@ -332,6 +336,7 @@ void ArcAppListPrefs::AddApp(const arc::AppInfo& app) {
|
| app_dict->SetString(kName, app.name);
|
| app_dict->SetString(kPackageName, app.package_name);
|
| app_dict->SetString(kActivity, app.activity);
|
| + app_dict->SetBoolean(kUninstallable, app.uninstallable);
|
|
|
| // From now, app is available.
|
| if (!ready_apps_.count(app_id))
|
| @@ -346,7 +351,8 @@ void ArcAppListPrefs::AddApp(const arc::AppInfo& app) {
|
| app.package_name,
|
| app.activity,
|
| base::Time(),
|
| - true);
|
| + true,
|
| + app.uninstallable);
|
| FOR_EACH_OBSERVER(Observer,
|
| observer_list_,
|
| OnAppRegistered(app_id, app_info));
|
| @@ -448,6 +454,13 @@ void ArcAppListPrefs::OnAppIcon(const mojo::String& package_name,
|
| icon_png_data.To<std::vector<uint8_t>>());
|
| }
|
|
|
| +void ArcAppListPrefs::OnUninstallAppResponse(
|
| + const mojo::String& error_message) {
|
| + if (!error_message.is_null()) {
|
| + LOG(ERROR) << "Failed to uninstall package: " << error_message.get();
|
| + }
|
| +}
|
| +
|
| void ArcAppListPrefs::InstallIcon(const std::string& app_id,
|
| ui::ScaleFactor scale_factor,
|
| const std::vector<uint8_t>& content_png) {
|
| @@ -481,9 +494,11 @@ ArcAppListPrefs::AppInfo::AppInfo(const std::string& name,
|
| const std::string& package_name,
|
| const std::string& activity,
|
| const base::Time& last_launch_time,
|
| - bool ready)
|
| + bool ready,
|
| + bool uninstallable)
|
| : name(name),
|
| package_name(package_name),
|
| activity(activity),
|
| last_launch_time(last_launch_time),
|
| - ready(ready) {}
|
| + ready(ready),
|
| + uninstallable(uninstallable) {}
|
|
|