#include "example_cpp_lib.h" #include #include namespace demo_flags = com::example::android::aconfig::demo::flags; // use static methods interface static std::string get_flag_via_static_interface() { return std::string("flag value : ") + (demo_flags::append_static_content() ? "true" : "false"); } // use flag provider for injection interface static std::string get_flag_via_injection_interface( demo_flags::flag_provider_interface* provider) { return std::string("flag value : ") + ((provider->append_injected_content()) ? "true" : "false"); } jstring Java_com_example_android_aconfig_demo_AconfigDemoActivity_printCFlag( JNIEnv* env, jobject thiz) { auto result = std::string("flag name : append_static_content\n"); result += "use pattern : static method\n"; result += get_flag_via_static_interface(); result += "\n\n"; result += "flag name : append_injected_content\n"; result += "use pattern : injection\n"; result += get_flag_via_injection_interface(demo_flags::provider_.get()); return env->NewStringUTF(result.c_str()); }