// Copyright 2016 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "base/android/unguessable_token_android.h" #include "jni/UnguessableToken_jni.h" namespace base { namespace android { ScopedJavaLocalRef UnguessableTokenAndroid::Create( JNIEnv* env, const base::UnguessableToken& token) { const uint64_t high = token.GetHighForSerialization(); const uint64_t low = token.GetLowForSerialization(); DCHECK(high); DCHECK(low); return Java_UnguessableToken_create(env, high, low); } base::UnguessableToken UnguessableTokenAndroid::FromJavaUnguessableToken( JNIEnv* env, const JavaRef& token) { const uint64_t high = Java_UnguessableToken_getHighForSerialization(env, token); const uint64_t low = Java_UnguessableToken_getLowForSerialization(env, token); DCHECK(high); DCHECK(low); return base::UnguessableToken::Deserialize(high, low); } ScopedJavaLocalRef UnguessableTokenAndroid::ParcelAndUnparcelForTesting( JNIEnv* env, const JavaRef& token) { return Java_UnguessableToken_parcelAndUnparcelForTesting(env, token); } } // namespace android } // namespace base