• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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()8 static 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)14 static 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)20 jstring 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