7 #include "flutter/fml/build_config.h"
25 const std::vector<fml::RefPtr<fml::NativeLibrary>>& libs) {
26 for (
const auto& lib : libs) {
27 proc.
proc = lib->ResolveFunction<T*>(proc.
proc_name).value_or(
nullptr);
38 if (!lib_android || !lib_egl) {
43 libraries_.push_back(std::move(lib_android));
44 libraries_.push_back(std::move(lib_egl));
46 #define RESOLVE_PROC(proc, api) ResolveAndroidProc(proc, libraries_);
50 if (AChoreographer_postFrameCallback64) {
51 AChoreographer_postFrameCallback.Reset();
54 #if FML_ARCH_CPU_32_BITS
57 AChoreographer_postFrameCallback.Reset();
70 return this->ATrace_isEnabled ? this->ATrace_isEnabled() :
false;
#define RESOLVE_PROC(proc, api)
const ProcTable & GetProcTable()
void ResolveAndroidProc(AndroidProc< T > &proc, const std::vector< fml::RefPtr< fml::NativeLibrary >> &libs)
ProcTable & GetMutableProcTable()
ScopedObject< Object > Create(CtorArgs &&... args)
The table of Android procs that are resolved dynamically.
FOR_EACH_ANDROID_PROC(DEFINE_PROC)
bool IsValid() const
If a valid proc table could be setup. This may fail in case of setup on non-Android platforms.
bool TraceIsEnabled() const
Check if tracing in enabled in the process. This call can be made at any API level.