blob: fbf86c03f8c5323118a81d962fea41c389e30ee0 [file] [log] [blame]
#include "example_cpp_lib.h"
#include <string>
#include <com_example_android_aconfig_demo_flags.h>
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_AconfigNativeCodelabActivity_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());
}