1 #pragma once
2 
3 #ifndef COM_ANDROID_GRAPHICS_BOOTANIMATION_FLAGS
4 #define COM_ANDROID_GRAPHICS_BOOTANIMATION_FLAGS(FLAG) COM_ANDROID_GRAPHICS_BOOTANIMATION_FLAGS_##FLAG
5 #endif
6 
7 #ifndef COM_ANDROID_GRAPHICS_BOOTANIMATION_FLAGS_MULTIDISPLAY
8 #define COM_ANDROID_GRAPHICS_BOOTANIMATION_FLAGS_MULTIDISPLAY false
9 #endif
10 
11 #ifdef __cplusplus
12 
13 #include <memory>
14 
15 namespace com::android::graphics::bootanimation::flags {
16 
17 class flag_provider_interface {
18 public:
19     virtual ~flag_provider_interface() = default;
20     virtual bool multidisplay() = 0;
21 };
22 
23 extern std::unique_ptr<flag_provider_interface> provider_;
24 
25 
multidisplay()26 inline bool multidisplay() {
27     return COM_ANDROID_GRAPHICS_BOOTANIMATION_FLAGS_MULTIDISPLAY;
28 }
29 
30 }
31 
32 extern "C" {
33 #endif // __cplusplus
34 
35 
36 bool com_android_graphics_bootanimation_flags_multidisplay();
37 
38 #ifdef __cplusplus
39 } // extern "C"
40 #endif
41 
42