Chromium Code Reviews| Index: athena/content/app_activity_proxy.h |
| diff --git a/athena/content/app_activity_proxy.h b/athena/content/app_activity_proxy.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..c5092e865129e7b47ec4563dd1a2bd798dbd03c1 |
| --- /dev/null |
| +++ b/athena/content/app_activity_proxy.h |
| @@ -0,0 +1,63 @@ |
| +// Copyright 2014 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef ATHENA_CONTENT_APP_ACTIVITY_PROXY_H_ |
| +#define ATHENA_CONTENT_APP_ACTIVITY_PROXY_H_ |
| + |
| +#include <vector> |
| + |
| +#include "athena/activity/public/activity.h" |
| +#include "athena/activity/public/activity_view_model.h" |
| +#include "athena/content/app_activity_proxy.h" |
| +#include "ui/gfx/image/image_skia.h" |
| + |
| +namespace athena { |
| + |
| +class AppActivityRegistry; |
| + |
| +// This activity object is a proxy placeholder for the application while it is |
| +// unloaded. When selected it will launch the applciation again and destroy |
| +// itself indirectly. |
| +class AppActivityProxy : public Activity, |
|
oshima
2014/08/15 15:15:59
This is for an unloaded app right?
This name sound
Mr4D (OOO till 08-26)
2014/08/18 16:09:32
UnloadedActivity would be incorrect. If something
|
| + public ActivityViewModel { |
| + public: |
| + AppActivityProxy(ActivityViewModel* view_model, AppActivityRegistry* creator); |
| + virtual ~AppActivityProxy(); |
| + |
| + // Activity overrides: |
| + virtual ActivityViewModel* GetActivityViewModel() OVERRIDE; |
| + virtual void SetCurrentState(ActivityState state) OVERRIDE; |
| + virtual ActivityState GetCurrentState() OVERRIDE; |
| + virtual bool IsVisible() OVERRIDE; |
| + virtual ActivityMediaState GetMediaState() OVERRIDE; |
| + virtual aura::Window* GetWindow() OVERRIDE; |
| + |
| + // ActivityViewModel overrides: |
| + virtual void Init() OVERRIDE; |
| + virtual SkColor GetRepresentativeColor() const OVERRIDE; |
| + virtual base::string16 GetTitle() const OVERRIDE; |
| + virtual bool UsesFrame() const OVERRIDE; |
| + virtual views::View* GetContentsView() OVERRIDE; |
| + virtual void CreateOverviewModeImage() OVERRIDE; |
| + virtual gfx::ImageSkia GetOverviewModeImage() OVERRIDE; |
| + |
| + private: |
| + // The creator of this object which needs to be informed if the object gets |
| + // destroyed or the application should get restarted. |
| + AppActivityRegistry* app_activity_registry_; |
| + |
| + // The presentation values. |
| + const base::string16 title_; |
| + const gfx::ImageSkia image_; |
| + const SkColor color_; |
| + |
| + // The associated view. |
| + views::View* view_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(AppActivityProxy); |
| +}; |
| + |
| +} // namespace athena |
| + |
| +#endif // ATHENA_CONTENT_APP_ACTIVITY_PROXY_H_ |