1 #include "example_cpp_lib.h" 2 #include <string> 3 #include <com_example_android_aconfig_demo_flags.h> 4 5 namespace demo_flags = com::example::android::aconfig::demo::flags; 6 7 // use static methods interface get_flag_via_static_interface()8static std::string get_flag_via_static_interface() { 9 return std::string("flag value : ") + 10 (demo_flags::append_static_content() ? "true" : "false"); 11 } 12 13 // use flag provider for injection interface get_flag_via_injection_interface(demo_flags::flag_provider_interface * provider)14static std::string get_flag_via_injection_interface( 15 demo_flags::flag_provider_interface* provider) { 16 return std::string("flag value : ") + 17 ((provider->append_injected_content()) ? "true" : "false"); 18 } 19 Java_com_example_android_aconfig_demo_AconfigDemoActivity_printCFlag(JNIEnv * env,jobject thiz)20jstring Java_com_example_android_aconfig_demo_AconfigDemoActivity_printCFlag( 21 JNIEnv* env, 22 jobject thiz) { 23 auto result = std::string("flag name : append_static_content\n"); 24 result += "use pattern : static method\n"; 25 result += get_flag_via_static_interface(); 26 27 result += "\n\n"; 28 29 result += "flag name : append_injected_content\n"; 30 result += "use pattern : injection\n"; 31 result += get_flag_via_injection_interface(demo_flags::provider_.get()); 32 33 return env->NewStringUTF(result.c_str()); 34 } 35