features_jni.cc 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. // Copyright 2021 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "base/base_jni_headers/Features_jni.h"
  5. #include "base/android/jni_string.h"
  6. #include "base/feature_list.h"
  7. #include "base/metrics/field_trial_params.h"
  8. namespace base {
  9. namespace android {
  10. jboolean JNI_Features_IsEnabled(JNIEnv* env, jlong native_feature_pointer) {
  11. return base::FeatureList::IsEnabled(
  12. *reinterpret_cast<base::Feature*>(native_feature_pointer));
  13. }
  14. jboolean JNI_Features_GetFieldTrialParamByFeatureAsBoolean(
  15. JNIEnv* env,
  16. jlong native_feature_pointer,
  17. const JavaParamRef<jstring>& jparam_name,
  18. const jboolean jdefault_value) {
  19. const base::Feature& feature =
  20. *reinterpret_cast<base::Feature*>(native_feature_pointer);
  21. const std::string& param_name = ConvertJavaStringToUTF8(env, jparam_name);
  22. return base::GetFieldTrialParamByFeatureAsBool(feature, param_name,
  23. jdefault_value);
  24. }
  25. } // namespace android
  26. } // namespace base