1 #pragma once 2 3 4 5 #ifdef __cplusplus 6 7 #include <memory> 8 9 namespace com::android::frameworks::sensorservice::flags { 10 11 class flag_provider_interface { 12 public: 13 virtual ~flag_provider_interface() = default; 14 virtual bool dynamic_sensor_hal_reconnect_handling() = 0; 15 virtual bool sensor_device_on_dynamic_sensor_disconnected() = 0; 16 virtual bool sensor_event_connection_send_event_require_nonnull_scratch() = 0; 17 virtual bool sensor_service_clear_dynamic_sensor_data_at_the_end() = 0; 18 }; 19 20 extern std::unique_ptr<flag_provider_interface> provider_; 21 22 dynamic_sensor_hal_reconnect_handling()23inline bool dynamic_sensor_hal_reconnect_handling() { 24 return true; 25 } sensor_device_on_dynamic_sensor_disconnected()26inline bool sensor_device_on_dynamic_sensor_disconnected() { 27 return false; 28 } sensor_event_connection_send_event_require_nonnull_scratch()29inline bool sensor_event_connection_send_event_require_nonnull_scratch() { 30 return false; 31 } sensor_service_clear_dynamic_sensor_data_at_the_end()32inline bool sensor_service_clear_dynamic_sensor_data_at_the_end() { 33 return false; 34 } 35 36 } 37 38 extern "C" { 39 #endif // __cplusplus 40 41 42 bool com_android_frameworks_sensorservice_flags_dynamic_sensor_hal_reconnect_handling(); 43 bool com_android_frameworks_sensorservice_flags_sensor_device_on_dynamic_sensor_disconnected(); 44 bool com_android_frameworks_sensorservice_flags_sensor_event_connection_send_event_require_nonnull_scratch(); 45 bool com_android_frameworks_sensorservice_flags_sensor_service_clear_dynamic_sensor_data_at_the_end(); 46 47 #ifdef __cplusplus 48 } // extern "C" 49 #endif 50 51