OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "sync/test/fake_server/android/fake_server_helper_android.h" | 5 #include "sync/test/fake_server/android/fake_server_helper_android.h" |
6 | 6 |
7 #include <jni.h> | 7 #include <jni.h> |
8 | 8 |
9 #include "base/android/jni_string.h" | 9 #include "base/android/jni_string.h" |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
11 #include "base/logging.h" | 11 #include "base/logging.h" |
12 #include "base/memory/scoped_ptr.h" | 12 #include "base/memory/scoped_ptr.h" |
13 #include "jni/FakeServerHelper_jni.h" | 13 #include "jni/FakeServerHelper_jni.h" |
14 #include "sync/internal_api/public/base/model_type.h" | 14 #include "sync/internal_api/public/base/model_type.h" |
15 #include "sync/internal_api/public/network_resources.h" | 15 #include "sync/internal_api/public/network_resources.h" |
16 #include "sync/protocol/sync.pb.h" | 16 #include "sync/protocol/sync.pb.h" |
| 17 #include "sync/test/fake_server/bookmark_entity_builder.h" |
| 18 #include "sync/test/fake_server/entity_builder_factory.h" |
17 #include "sync/test/fake_server/fake_server.h" | 19 #include "sync/test/fake_server/fake_server.h" |
18 #include "sync/test/fake_server/fake_server_network_resources.h" | 20 #include "sync/test/fake_server/fake_server_network_resources.h" |
19 #include "sync/test/fake_server/fake_server_verifier.h" | 21 #include "sync/test/fake_server/fake_server_verifier.h" |
20 #include "sync/test/fake_server/unique_client_entity.h" | 22 #include "sync/test/fake_server/unique_client_entity.h" |
21 #include "testing/gtest/include/gtest/gtest.h" | 23 #include "testing/gtest/include/gtest/gtest.h" |
| 24 #include "url/gurl.h" |
22 | 25 |
23 FakeServerHelperAndroid::FakeServerHelperAndroid(JNIEnv* env, jobject obj) { | 26 FakeServerHelperAndroid::FakeServerHelperAndroid(JNIEnv* env, jobject obj) { |
24 } | 27 } |
25 | 28 |
26 FakeServerHelperAndroid::~FakeServerHelperAndroid() { } | 29 FakeServerHelperAndroid::~FakeServerHelperAndroid() { } |
27 | 30 |
28 static jlong Init(JNIEnv* env, jobject obj) { | 31 static jlong Init(JNIEnv* env, jobject obj) { |
29 FakeServerHelperAndroid* fake_server_android = | 32 FakeServerHelperAndroid* fake_server_android = |
30 new FakeServerHelperAndroid(env, obj); | 33 new FakeServerHelperAndroid(env, obj); |
31 return reinterpret_cast<intptr_t>(fake_server_android); | 34 return reinterpret_cast<intptr_t>(fake_server_android); |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 sync_pb::EntitySpecifics entity_specifics; | 101 sync_pb::EntitySpecifics entity_specifics; |
99 if (!entity_specifics.ParseFromString(specifics_string)) | 102 if (!entity_specifics.ParseFromString(specifics_string)) |
100 NOTREACHED() << "Could not deserialize EntitySpecifics"; | 103 NOTREACHED() << "Could not deserialize EntitySpecifics"; |
101 | 104 |
102 fake_server_ptr->InjectEntity( | 105 fake_server_ptr->InjectEntity( |
103 fake_server::UniqueClientEntity::CreateForInjection( | 106 fake_server::UniqueClientEntity::CreateForInjection( |
104 base::android::ConvertJavaStringToUTF8(env, name), | 107 base::android::ConvertJavaStringToUTF8(env, name), |
105 entity_specifics)); | 108 entity_specifics)); |
106 } | 109 } |
107 | 110 |
| 111 void FakeServerHelperAndroid::InjectBookmarkEntity( |
| 112 JNIEnv* env, |
| 113 jobject obj, |
| 114 jlong fake_server, |
| 115 jstring title, |
| 116 jstring url, |
| 117 jstring parent_id) { |
| 118 fake_server::FakeServer* fake_server_ptr = |
| 119 reinterpret_cast<fake_server::FakeServer*>(fake_server); |
| 120 |
| 121 std::string url_as_string = base::android::ConvertJavaStringToUTF8(env, url); |
| 122 GURL gurl = GURL(url_as_string); |
| 123 if (!gurl.is_valid()) { |
| 124 NOTREACHED() << "The given string (" << url_as_string |
| 125 << ") is not a valid URL."; |
| 126 } |
| 127 |
| 128 fake_server::EntityBuilderFactory entity_builder_factory; |
| 129 fake_server::BookmarkEntityBuilder bookmark_builder = |
| 130 entity_builder_factory.NewBookmarkEntityBuilder( |
| 131 base::android::ConvertJavaStringToUTF8(env, title), gurl); |
| 132 bookmark_builder.SetParentId( |
| 133 base::android::ConvertJavaStringToUTF8(env, parent_id)); |
| 134 scoped_ptr<fake_server::FakeServerEntity> bookmark = bookmark_builder.Build(); |
| 135 fake_server_ptr->InjectEntity(bookmark.Pass()); |
| 136 } |
| 137 |
| 138 base::android::ScopedJavaLocalRef<jstring> |
| 139 FakeServerHelperAndroid::GetBookmarkBarFolderId( |
| 140 JNIEnv* env, |
| 141 jobject obj, |
| 142 jlong fake_server) { |
| 143 fake_server::FakeServer* fake_server_ptr = |
| 144 reinterpret_cast<fake_server::FakeServer*>(fake_server); |
| 145 return base::android::ConvertUTF8ToJavaString( |
| 146 env, fake_server_ptr->GetBookmarkBarFolderId()); |
| 147 } |
| 148 |
108 // static | 149 // static |
109 bool FakeServerHelperAndroid::Register(JNIEnv* env) { | 150 bool FakeServerHelperAndroid::Register(JNIEnv* env) { |
110 return RegisterNativesImpl(env); | 151 return RegisterNativesImpl(env); |
111 } | 152 } |
OLD | NEW |