Index: components/variations/android/variations_seed_bridge.cc |
diff --git a/components/variations/android/variations_seed_bridge.cc b/components/variations/android/variations_seed_bridge.cc |
index 16dfecaf0a55f0273567b6f779085e699fa3c912..9016692ba9e10c06411073778e583de09c4bb62f 100644 |
--- a/components/variations/android/variations_seed_bridge.cc |
+++ b/components/variations/android/variations_seed_bridge.cc |
@@ -15,6 +15,7 @@ |
using base::android::AttachCurrentThread; |
using base::android::ConvertJavaStringToUTF8; |
+using base::android::ConvertUTF8ToJavaString; |
using base::android::GetApplicationContext; |
using base::android::ScopedJavaLocalRef; |
@@ -28,6 +29,13 @@ std::string JavaByteArrayToString(JNIEnv* env, jbyteArray byte_array) { |
return std::string(array_data.begin(), array_data.end()); |
} |
+ScopedJavaLocalRef<jbyteArray> StringToJavaByteArray( |
+ JNIEnv* env, |
+ const std::string& str_data) { |
+ std::vector<uint8> array_data(str_data.begin(), str_data.end()); |
+ return base::android::ToJavaByteArray(env, array_data); |
+} |
+ |
} // namespace |
namespace variations { |
@@ -76,5 +84,19 @@ void MarkVariationsSeedAsStored() { |
GetApplicationContext()); |
} |
+void SetJavaFirstRunPrefsForTesting(const std::string& seed_data, |
+ const std::string& seed_signature, |
+ const std::string& seed_country, |
+ const std::string& response_date, |
+ bool is_gzip_compressed) { |
+ JNIEnv* env = AttachCurrentThread(); |
+ Java_VariationsSeedBridge_setVariationsFirstRunSeed( |
+ env, GetApplicationContext(), StringToJavaByteArray(env, seed_data).obj(), |
+ ConvertUTF8ToJavaString(env, seed_signature).obj(), |
+ ConvertUTF8ToJavaString(env, seed_country).obj(), |
+ ConvertUTF8ToJavaString(env, response_date).obj(), |
+ static_cast<jboolean>(is_gzip_compressed)); |
+} |
+ |
} // namespace android |
} // namespace variations |