xref: /aosp_15_r20/external/cronet/base/android/features_jni.cc (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1 // Copyright 2021 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "base/base_jni/Features_jni.h"
6 #include "base/feature_list.h"
7 #include "base/metrics/field_trial_params.h"
8 
9 namespace base {
10 namespace android {
11 
JNI_Features_IsEnabled(JNIEnv * env,jlong native_feature_pointer)12 jboolean JNI_Features_IsEnabled(JNIEnv* env, jlong native_feature_pointer) {
13   return base::FeatureList::IsEnabled(
14       *reinterpret_cast<base::Feature*>(native_feature_pointer));
15 }
16 
JNI_Features_GetFieldTrialParamByFeatureAsBoolean(JNIEnv * env,jlong native_feature_pointer,std::string & param_name,const jboolean jdefault_value)17 jboolean JNI_Features_GetFieldTrialParamByFeatureAsBoolean(
18     JNIEnv* env,
19     jlong native_feature_pointer,
20     std::string& param_name,
21     const jboolean jdefault_value) {
22   const base::Feature& feature =
23       *reinterpret_cast<base::Feature*>(native_feature_pointer);
24   return base::GetFieldTrialParamByFeatureAsBool(feature, param_name,
25                                                  jdefault_value);
26 }
27 
JNI_Features_GetFieldTrialParamByFeatureAsString(JNIEnv * env,jlong native_feature_pointer,std::string & param_name)28 std::string JNI_Features_GetFieldTrialParamByFeatureAsString(
29     JNIEnv* env,
30     jlong native_feature_pointer,
31     std::string& param_name) {
32   const base::Feature& feature =
33       *reinterpret_cast<base::Feature*>(native_feature_pointer);
34   return base::GetFieldTrialParamValueByFeature(feature, param_name);
35 }
36 
37 }  // namespace android
38 }  // namespace base
39