diff --git a/mobile/library/java/io/envoyproxy/envoymobile/engine/JniLibrary.java b/mobile/library/java/io/envoyproxy/envoymobile/engine/JniLibrary.java index 49b93102c0b3..bb1d25507931 100644 --- a/mobile/library/java/io/envoyproxy/envoymobile/engine/JniLibrary.java +++ b/mobile/library/java/io/envoyproxy/envoymobile/engine/JniLibrary.java @@ -319,4 +319,9 @@ public static native long createBootstrap( * href="https://c-ares.org/docs/ares_library_init_android.html">ares_library_init_android. */ public static native void initCares(ConnectivityManager connectivityManager); + + /** + * Returns true if the runtime feature is enabled. + */ + public static native boolean isRuntimeFeatureEnabled(String featureName); } diff --git a/mobile/library/jni/jni_impl.cc b/mobile/library/jni/jni_impl.cc index 049be773eff5..4fcf5897768d 100644 --- a/mobile/library/jni/jni_impl.cc +++ b/mobile/library/jni/jni_impl.cc @@ -215,6 +215,14 @@ extern "C" JNIEXPORT void JNICALL Java_io_envoyproxy_envoymobile_engine_JniLibra #endif } +extern "C" JNIEXPORT jboolean JNICALL +Java_io_envoyproxy_envoymobile_engine_JniLibrary_runtimeFeatureEnabled(JNIEnv* env, jclass, + jstring feature_name) { + Envoy::JNI::JniHelper jni_helper(env); + return Envoy::Runtime::runtimeFeatureEnabled( + Envoy::JNI::javaStringToCppString(jni_helper, feature_name)); +} + extern "C" JNIEXPORT jint JNICALL Java_io_envoyproxy_envoymobile_engine_JniLibrary_recordCounterInc( JNIEnv* env, jclass, // class