1116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Copyright 2014 The Chromium Authors. All rights reserved.
2116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Use of this source code is governed by a BSD-style license that can be
3116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// found in the LICENSE file.
4116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
5116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "components/variations/android/variations_associated_data_android.h"
6116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
7116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include <string>
8116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
9116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "base/android/jni_string.h"
10116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "components/variations/variations_associated_data.h"
11116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "jni/VariationsAssociatedData_jni.h"
12116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
13116680a4aac90f2aa7413d9095a592090648e557Ben Murdochusing base::android::ConvertJavaStringToUTF8;
14116680a4aac90f2aa7413d9095a592090648e557Ben Murdochusing base::android::ConvertUTF8ToJavaString;
15116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
16116680a4aac90f2aa7413d9095a592090648e557Ben Murdochnamespace variations {
17116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
18116680a4aac90f2aa7413d9095a592090648e557Ben Murdochnamespace android {
19116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
20116680a4aac90f2aa7413d9095a592090648e557Ben Murdochjstring GetVariationParamValue(JNIEnv* env,
21116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch                               jclass clazz,
22116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch                               jstring jtrial_name,
23116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch                               jstring jparam_name) {
24116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  std::string trial_name(ConvertJavaStringToUTF8(env, jtrial_name));
25116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  std::string param_name(ConvertJavaStringToUTF8(env, jparam_name));
26116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  std::string param_value =
275f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)      variations::GetVariationParamValue(trial_name, param_name);
28116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  return ConvertUTF8ToJavaString(env, param_value).Release();
29116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}
30116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
31116680a4aac90f2aa7413d9095a592090648e557Ben Murdochbool RegisterVariationsAssociatedData(JNIEnv* env) {
32116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  return RegisterNativesImpl(env);
33116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}
34116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
35116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}  // namespace android
36116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
37116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}  // namespace variations
38