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" | |
19 #include "sync/test/fake_server/fake_server.h" | 17 #include "sync/test/fake_server/fake_server.h" |
20 #include "sync/test/fake_server/fake_server_network_resources.h" | 18 #include "sync/test/fake_server/fake_server_network_resources.h" |
21 #include "sync/test/fake_server/fake_server_verifier.h" | 19 #include "sync/test/fake_server/fake_server_verifier.h" |
22 #include "sync/test/fake_server/unique_client_entity.h" | 20 #include "sync/test/fake_server/unique_client_entity.h" |
23 #include "testing/gtest/include/gtest/gtest.h" | 21 #include "testing/gtest/include/gtest/gtest.h" |
24 #include "url/gurl.h" | |
25 | 22 |
26 FakeServerHelperAndroid::FakeServerHelperAndroid(JNIEnv* env, jobject obj) { | 23 FakeServerHelperAndroid::FakeServerHelperAndroid(JNIEnv* env, jobject obj) { |
27 } | 24 } |
28 | 25 |
29 FakeServerHelperAndroid::~FakeServerHelperAndroid() { } | 26 FakeServerHelperAndroid::~FakeServerHelperAndroid() { } |
30 | 27 |
31 static jlong Init(JNIEnv* env, jobject obj) { | 28 static jlong Init(JNIEnv* env, jobject obj) { |
32 FakeServerHelperAndroid* fake_server_android = | 29 FakeServerHelperAndroid* fake_server_android = |
33 new FakeServerHelperAndroid(env, obj); | 30 new FakeServerHelperAndroid(env, obj); |
34 return reinterpret_cast<intptr_t>(fake_server_android); | 31 return reinterpret_cast<intptr_t>(fake_server_android); |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
101 sync_pb::EntitySpecifics entity_specifics; | 98 sync_pb::EntitySpecifics entity_specifics; |
102 if (!entity_specifics.ParseFromString(specifics_string)) | 99 if (!entity_specifics.ParseFromString(specifics_string)) |
103 NOTREACHED() << "Could not deserialize EntitySpecifics"; | 100 NOTREACHED() << "Could not deserialize EntitySpecifics"; |
104 | 101 |
105 fake_server_ptr->InjectEntity( | 102 fake_server_ptr->InjectEntity( |
106 fake_server::UniqueClientEntity::CreateForInjection( | 103 fake_server::UniqueClientEntity::CreateForInjection( |
107 base::android::ConvertJavaStringToUTF8(env, name), | 104 base::android::ConvertJavaStringToUTF8(env, name), |
108 entity_specifics)); | 105 entity_specifics)); |
109 } | 106 } |
110 | 107 |
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 | |
149 // static | 108 // static |
150 bool FakeServerHelperAndroid::Register(JNIEnv* env) { | 109 bool FakeServerHelperAndroid::Register(JNIEnv* env) { |
151 return RegisterNativesImpl(env); | 110 return RegisterNativesImpl(env); |
152 } | 111 } |
OLD | NEW |