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

Unified Diff: chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.h

Issue 2778053002: Fetch ARC Kiosk app name and icon from Android side. (Closed)
Patch Set: some nits Created 3 years, 8 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/chromeos/app_mode/arc/arc_kiosk_app_manager.h
diff --git a/chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.h b/chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.h
index 2243e92b864fc30223561bf0d6f9f26b942a7d20..9023959c0ac2c155b807eec7e39bbe96cfd28f4a 100644
--- a/chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.h
+++ b/chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_manager.h
@@ -11,6 +11,7 @@
#include "base/macros.h"
#include "base/observer_list.h"
+#include "chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_data.h"
#include "chrome/browser/chromeos/policy/device_local_account.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "components/signin/core/account_id/account_id.h"
@@ -25,30 +26,7 @@ namespace chromeos {
// creates a user in whose context the app then runs.
class ArcKioskAppManager {
public:
- // Struct to hold full info about ARC Kiosk app. In future
- // this structure may contain many extra fields, e.g. icon.
- class ArcKioskApp {
- public:
- ArcKioskApp(const policy::ArcKioskAppBasicInfo& app_info,
- const AccountId& account_id,
- const std::string& name);
- ArcKioskApp(const ArcKioskApp& other);
- ~ArcKioskApp();
-
- bool operator==(const std::string& app_id) const;
- bool operator==(const policy::ArcKioskAppBasicInfo& app_info) const;
-
- const policy::ArcKioskAppBasicInfo& app_info() const { return app_info_; }
- const AccountId& account_id() const { return account_id_; }
- const std::string& name() const { return name_; }
-
- private:
- policy::ArcKioskAppBasicInfo app_info_;
- AccountId account_id_;
- std::string name_;
- };
-
- using ArcKioskApps = std::vector<ArcKioskApp>;
+ using Apps = std::vector<ArcKioskAppData*>;
class ArcKioskAppManagerObserver {
public:
@@ -58,6 +36,8 @@ class ArcKioskAppManager {
virtual ~ArcKioskAppManagerObserver() = default;
};
+ static const char kArcKioskDictionaryName[];
+
static ArcKioskAppManager* Get();
ArcKioskAppManager();
@@ -74,9 +54,13 @@ class ArcKioskAppManager {
const AccountId& GetAutoLaunchAccountId() const;
// Returns app that should be started for given account id.
- const ArcKioskApp* GetAppByAccountId(const AccountId& account_id);
+ const ArcKioskAppData* GetAppByAccountId(const AccountId& account_id);
+
+ void GetAllApps(Apps* apps) const;
- const ArcKioskApps& GetAllApps() const { return apps_; }
+ void UpdateNameAndIcon(const std::string& app_id,
+ const std::string& name,
+ const gfx::ImageSkia& icon);
void AddObserver(ArcKioskAppManagerObserver* observer);
void RemoveObserver(ArcKioskAppManagerObserver* observer);
@@ -91,9 +75,10 @@ class ArcKioskAppManager {
// Removes cryptohomes of the removed apps. Terminates the session if
// a removed app is running.
- void ClearRemovedApps(const ArcKioskApps& old_apps);
+ void ClearRemovedApps(
+ const std::map<std::string, std::unique_ptr<ArcKioskAppData>>& old_apps);
- ArcKioskApps apps_;
+ std::vector<std::unique_ptr<ArcKioskAppData>> apps_;
AccountId auto_launch_account_id_;
bool auto_launched_with_zero_delay_ = false;
base::ObserverList<ArcKioskAppManagerObserver, true> observers_;

Powered by Google App Engine
This is Rietveld 408576698