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