1 // Copyright 2020 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef ASH_AMBIENT_UI_AMBIENT_VIEW_DELEGATE_H_
6 #define ASH_AMBIENT_UI_AMBIENT_VIEW_DELEGATE_H_
7 
8 #include "ash/ash_export.h"
9 #include "base/observer_list_types.h"
10 
11 namespace ash {
12 
13 class AmbientBackendModel;
14 
15 class ASH_EXPORT AmbientViewDelegateObserver : public base::CheckedObserver {
16  public:
17   // Invoked when the photo transition animation completed.
18   virtual void OnPhotoTransitionAnimationCompleted() = 0;
19 };
20 
21 class ASH_EXPORT AmbientViewDelegate {
22  public:
23   virtual ~AmbientViewDelegate() = default;
24 
25   // Returns the model store stores all the information we get from the backdrop
26   // server to render the photo frame and the glanceable weather information on
27   // Ambient Mode.
28   virtual AmbientBackendModel* GetAmbientBackendModel() = 0;
29 
30   // Invoked when the photo transition animation completed.
31   virtual void OnPhotoTransitionAnimationCompleted() = 0;
32 };
33 
34 }  // namespace ash
35 
36 #endif  // ASH_AMBIENT_UI_AMBIENT_VIEW_DELEGATE_H_
37