OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "chrome/browser/sync/profile_sync_service_android.h" | 5 #include "chrome/browser/sync/profile_sync_service_android.h" |
6 | 6 |
7 #include "base/android/jni_android.h" | 7 #include "base/android/jni_android.h" |
8 #include "base/android/jni_array.h" | 8 #include "base/android/jni_array.h" |
9 #include "base/android/jni_string.h" | 9 #include "base/android/jni_string.h" |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
117 void ProfileSyncServiceAndroid::OnStateChanged() { | 117 void ProfileSyncServiceAndroid::OnStateChanged() { |
118 // Notify the java world that our sync state has changed. | 118 // Notify the java world that our sync state has changed. |
119 JNIEnv* env = AttachCurrentThread(); | 119 JNIEnv* env = AttachCurrentThread(); |
120 Java_ProfileSyncService_syncStateChanged( | 120 Java_ProfileSyncService_syncStateChanged( |
121 env, weak_java_profile_sync_service_.get(env).obj()); | 121 env, weak_java_profile_sync_service_.get(env).obj()); |
122 } | 122 } |
123 | 123 |
124 // Pure ProfileSyncService calls. | 124 // Pure ProfileSyncService calls. |
125 | 125 |
126 jboolean ProfileSyncServiceAndroid::IsSyncRequested( | 126 jboolean ProfileSyncServiceAndroid::IsSyncRequested( |
127 JNIEnv* env, jobject obj) { | 127 JNIEnv* env, |
| 128 const JavaParamRef<jobject>& obj) { |
128 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 129 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
129 return sync_service_->IsSyncRequested(); | 130 return sync_service_->IsSyncRequested(); |
130 } | 131 } |
131 | 132 |
132 void ProfileSyncServiceAndroid::RequestStart(JNIEnv* env, jobject) { | 133 void ProfileSyncServiceAndroid::RequestStart(JNIEnv* env, |
| 134 const JavaParamRef<jobject>&) { |
133 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 135 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
134 sync_service_->RequestStart(); | 136 sync_service_->RequestStart(); |
135 } | 137 } |
136 | 138 |
137 void ProfileSyncServiceAndroid::RequestStop(JNIEnv* env, jobject) { | 139 void ProfileSyncServiceAndroid::RequestStop(JNIEnv* env, |
| 140 const JavaParamRef<jobject>&) { |
138 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 141 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
139 sync_service_->RequestStop(ProfileSyncService::KEEP_DATA); | 142 sync_service_->RequestStop(ProfileSyncService::KEEP_DATA); |
140 } | 143 } |
141 | 144 |
142 void ProfileSyncServiceAndroid::SignOutSync(JNIEnv* env, jobject) { | 145 void ProfileSyncServiceAndroid::SignOutSync(JNIEnv* env, |
| 146 const JavaParamRef<jobject>&) { |
143 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 147 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
144 DCHECK(profile_); | 148 DCHECK(profile_); |
145 sync_service_->RequestStop(ProfileSyncService::CLEAR_DATA); | 149 sync_service_->RequestStop(ProfileSyncService::CLEAR_DATA); |
146 } | 150 } |
147 | 151 |
148 jboolean ProfileSyncServiceAndroid::IsSyncActive(JNIEnv* env, jobject obj) { | 152 jboolean ProfileSyncServiceAndroid::IsSyncActive( |
| 153 JNIEnv* env, |
| 154 const JavaParamRef<jobject>& obj) { |
149 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 155 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
150 return sync_service_->IsSyncActive(); | 156 return sync_service_->IsSyncActive(); |
151 } | 157 } |
152 | 158 |
153 jboolean ProfileSyncServiceAndroid::IsBackendInitialized(JNIEnv* env, jobject) { | 159 jboolean ProfileSyncServiceAndroid::IsBackendInitialized( |
| 160 JNIEnv* env, |
| 161 const JavaParamRef<jobject>&) { |
154 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 162 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
155 return sync_service_->IsBackendInitialized(); | 163 return sync_service_->IsBackendInitialized(); |
156 } | 164 } |
157 | 165 |
158 jboolean ProfileSyncServiceAndroid::IsFirstSetupInProgress( | 166 jboolean ProfileSyncServiceAndroid::IsFirstSetupInProgress( |
159 JNIEnv* env, jobject) { | 167 JNIEnv* env, |
| 168 const JavaParamRef<jobject>&) { |
160 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 169 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
161 return sync_service_->IsFirstSetupInProgress(); | 170 return sync_service_->IsFirstSetupInProgress(); |
162 } | 171 } |
163 | 172 |
164 void ProfileSyncServiceAndroid::SetSetupInProgress( | 173 void ProfileSyncServiceAndroid::SetSetupInProgress( |
165 JNIEnv* env, jobject obj, jboolean in_progress) { | 174 JNIEnv* env, |
| 175 const JavaParamRef<jobject>& obj, |
| 176 jboolean in_progress) { |
166 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 177 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
167 sync_service_->SetSetupInProgress(in_progress); | 178 sync_service_->SetSetupInProgress(in_progress); |
168 } | 179 } |
169 | 180 |
170 jboolean ProfileSyncServiceAndroid::HasSyncSetupCompleted( | 181 jboolean ProfileSyncServiceAndroid::HasSyncSetupCompleted( |
171 JNIEnv* env, jobject obj) { | 182 JNIEnv* env, |
| 183 const JavaParamRef<jobject>& obj) { |
172 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 184 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
173 return sync_service_->HasSyncSetupCompleted(); | 185 return sync_service_->HasSyncSetupCompleted(); |
174 } | 186 } |
175 | 187 |
176 void ProfileSyncServiceAndroid::SetSyncSetupCompleted( | 188 void ProfileSyncServiceAndroid::SetSyncSetupCompleted( |
177 JNIEnv* env, jobject obj) { | 189 JNIEnv* env, |
| 190 const JavaParamRef<jobject>& obj) { |
178 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 191 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
179 sync_service_->SetSyncSetupCompleted(); | 192 sync_service_->SetSyncSetupCompleted(); |
180 } | 193 } |
181 | 194 |
182 ScopedJavaLocalRef<jintArray> ProfileSyncServiceAndroid::GetActiveDataTypes( | 195 ScopedJavaLocalRef<jintArray> ProfileSyncServiceAndroid::GetActiveDataTypes( |
183 JNIEnv* env, jobject obj) { | 196 JNIEnv* env, |
| 197 const JavaParamRef<jobject>& obj) { |
184 syncer::ModelTypeSet types = sync_service_->GetActiveDataTypes(); | 198 syncer::ModelTypeSet types = sync_service_->GetActiveDataTypes(); |
185 return ModelTypeSetToJavaIntArray(env, types); | 199 return ModelTypeSetToJavaIntArray(env, types); |
186 } | 200 } |
187 | 201 |
188 ScopedJavaLocalRef<jintArray> ProfileSyncServiceAndroid::GetPreferredDataTypes( | 202 ScopedJavaLocalRef<jintArray> ProfileSyncServiceAndroid::GetPreferredDataTypes( |
189 JNIEnv* env, jobject obj) { | 203 JNIEnv* env, |
| 204 const JavaParamRef<jobject>& obj) { |
190 syncer::ModelTypeSet types = sync_service_->GetPreferredDataTypes(); | 205 syncer::ModelTypeSet types = sync_service_->GetPreferredDataTypes(); |
191 return ModelTypeSetToJavaIntArray(env, types); | 206 return ModelTypeSetToJavaIntArray(env, types); |
192 } | 207 } |
193 | 208 |
194 void ProfileSyncServiceAndroid::SetPreferredDataTypes( | 209 void ProfileSyncServiceAndroid::SetPreferredDataTypes( |
195 JNIEnv* env, jobject obj, | 210 JNIEnv* env, |
| 211 const JavaParamRef<jobject>& obj, |
196 jboolean sync_everything, | 212 jboolean sync_everything, |
197 jintArray model_type_array) { | 213 const JavaParamRef<jintArray>& model_type_array) { |
198 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 214 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
199 std::vector<int> types_vector; | 215 std::vector<int> types_vector; |
200 base::android::JavaIntArrayToIntVector(env, model_type_array, &types_vector); | 216 base::android::JavaIntArrayToIntVector(env, model_type_array, &types_vector); |
201 syncer::ModelTypeSet types; | 217 syncer::ModelTypeSet types; |
202 for (size_t i = 0; i < types_vector.size(); i++) { | 218 for (size_t i = 0; i < types_vector.size(); i++) { |
203 types.Put(static_cast<syncer::ModelType>(types_vector[i])); | 219 types.Put(static_cast<syncer::ModelType>(types_vector[i])); |
204 } | 220 } |
205 sync_service_->OnUserChoseDatatypes(sync_everything, types); | 221 sync_service_->OnUserChoseDatatypes(sync_everything, types); |
206 } | 222 } |
207 | 223 |
208 jboolean ProfileSyncServiceAndroid::IsCryptographerReady(JNIEnv* env, jobject) { | 224 jboolean ProfileSyncServiceAndroid::IsCryptographerReady( |
| 225 JNIEnv* env, |
| 226 const JavaParamRef<jobject>&) { |
209 syncer::ReadTransaction trans(FROM_HERE, sync_service_->GetUserShare()); | 227 syncer::ReadTransaction trans(FROM_HERE, sync_service_->GetUserShare()); |
210 return sync_service_->IsCryptographerReady(&trans); | 228 return sync_service_->IsCryptographerReady(&trans); |
211 } | 229 } |
212 | 230 |
213 jboolean ProfileSyncServiceAndroid::IsEncryptEverythingAllowed( | 231 jboolean ProfileSyncServiceAndroid::IsEncryptEverythingAllowed( |
214 JNIEnv* env, jobject obj) { | 232 JNIEnv* env, |
| 233 const JavaParamRef<jobject>& obj) { |
215 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 234 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
216 return sync_service_->IsEncryptEverythingAllowed(); | 235 return sync_service_->IsEncryptEverythingAllowed(); |
217 } | 236 } |
218 | 237 |
219 jboolean ProfileSyncServiceAndroid::IsEncryptEverythingEnabled( | 238 jboolean ProfileSyncServiceAndroid::IsEncryptEverythingEnabled( |
220 JNIEnv* env, jobject) { | 239 JNIEnv* env, |
| 240 const JavaParamRef<jobject>&) { |
221 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 241 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
222 return sync_service_->IsEncryptEverythingEnabled(); | 242 return sync_service_->IsEncryptEverythingEnabled(); |
223 } | 243 } |
224 | 244 |
225 void ProfileSyncServiceAndroid::EnableEncryptEverything( | 245 void ProfileSyncServiceAndroid::EnableEncryptEverything( |
226 JNIEnv* env, jobject obj) { | 246 JNIEnv* env, |
| 247 const JavaParamRef<jobject>& obj) { |
227 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 248 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
228 sync_service_->EnableEncryptEverything(); | 249 sync_service_->EnableEncryptEverything(); |
229 } | 250 } |
230 | 251 |
231 jboolean ProfileSyncServiceAndroid::IsPassphraseRequired(JNIEnv* env, jobject) { | 252 jboolean ProfileSyncServiceAndroid::IsPassphraseRequired(JNIEnv* env, jobject) { |
232 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 253 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
233 return sync_service_->IsPassphraseRequired(); | 254 return sync_service_->IsPassphraseRequired(); |
234 } | 255 } |
235 | 256 |
236 jboolean ProfileSyncServiceAndroid::IsPassphraseRequiredForDecryption( | 257 jboolean ProfileSyncServiceAndroid::IsPassphraseRequiredForDecryption( |
237 JNIEnv* env, jobject obj) { | 258 JNIEnv* env, |
| 259 const JavaParamRef<jobject>& obj) { |
238 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 260 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
239 return sync_service_->IsPassphraseRequiredForDecryption(); | 261 return sync_service_->IsPassphraseRequiredForDecryption(); |
240 } | 262 } |
241 | 263 |
242 jboolean ProfileSyncServiceAndroid::IsUsingSecondaryPassphrase( | 264 jboolean ProfileSyncServiceAndroid::IsUsingSecondaryPassphrase( |
243 JNIEnv* env, jobject) { | 265 JNIEnv* env, |
| 266 const JavaParamRef<jobject>&) { |
244 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 267 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
245 return sync_service_->IsUsingSecondaryPassphrase(); | 268 return sync_service_->IsUsingSecondaryPassphrase(); |
246 } | 269 } |
247 | 270 |
248 ScopedJavaLocalRef<jbyteArray> | 271 ScopedJavaLocalRef<jbyteArray> |
249 ProfileSyncServiceAndroid::GetCustomPassphraseKey(JNIEnv* env, jobject obj) { | 272 ProfileSyncServiceAndroid::GetCustomPassphraseKey( |
| 273 JNIEnv* env, |
| 274 const JavaParamRef<jobject>& obj) { |
250 std::string key = sync_service_->GetCustomPassphraseKey(); | 275 std::string key = sync_service_->GetCustomPassphraseKey(); |
251 return base::android::ToJavaByteArray( | 276 return base::android::ToJavaByteArray( |
252 env, reinterpret_cast<const uint8_t*>(key.data()), key.size()); | 277 env, reinterpret_cast<const uint8_t*>(key.data()), key.size()); |
253 } | 278 } |
254 | 279 |
255 jint ProfileSyncServiceAndroid::GetPassphraseType(JNIEnv* env, jobject) { | 280 jint ProfileSyncServiceAndroid::GetPassphraseType( |
| 281 JNIEnv* env, |
| 282 const JavaParamRef<jobject>&) { |
256 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 283 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
257 return sync_service_->GetPassphraseType(); | 284 return sync_service_->GetPassphraseType(); |
258 } | 285 } |
259 | 286 |
260 void ProfileSyncServiceAndroid::SetEncryptionPassphrase( | 287 void ProfileSyncServiceAndroid::SetEncryptionPassphrase( |
261 JNIEnv* env, jobject obj, jstring passphrase) { | 288 JNIEnv* env, |
| 289 const JavaParamRef<jobject>& obj, |
| 290 const JavaParamRef<jstring>& passphrase) { |
262 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 291 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
263 std::string key = ConvertJavaStringToUTF8(env, passphrase); | 292 std::string key = ConvertJavaStringToUTF8(env, passphrase); |
264 sync_service_->SetEncryptionPassphrase(key, ProfileSyncService::EXPLICIT); | 293 sync_service_->SetEncryptionPassphrase(key, ProfileSyncService::EXPLICIT); |
265 } | 294 } |
266 | 295 |
267 jboolean ProfileSyncServiceAndroid::SetDecryptionPassphrase( | 296 jboolean ProfileSyncServiceAndroid::SetDecryptionPassphrase( |
268 JNIEnv* env, jobject obj, jstring passphrase) { | 297 JNIEnv* env, |
| 298 const JavaParamRef<jobject>& obj, |
| 299 const JavaParamRef<jstring>& passphrase) { |
269 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 300 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
270 std::string key = ConvertJavaStringToUTF8(env, passphrase); | 301 std::string key = ConvertJavaStringToUTF8(env, passphrase); |
271 return sync_service_->SetDecryptionPassphrase(key); | 302 return sync_service_->SetDecryptionPassphrase(key); |
272 } | 303 } |
273 | 304 |
274 jboolean ProfileSyncServiceAndroid::HasExplicitPassphraseTime( | 305 jboolean ProfileSyncServiceAndroid::HasExplicitPassphraseTime( |
275 JNIEnv* env, jobject) { | 306 JNIEnv* env, |
| 307 const JavaParamRef<jobject>&) { |
276 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 308 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
277 base::Time passphrase_time = sync_service_->GetExplicitPassphraseTime(); | 309 base::Time passphrase_time = sync_service_->GetExplicitPassphraseTime(); |
278 return !passphrase_time.is_null(); | 310 return !passphrase_time.is_null(); |
279 } | 311 } |
280 | 312 |
281 jlong ProfileSyncServiceAndroid::GetExplicitPassphraseTime( | 313 jlong ProfileSyncServiceAndroid::GetExplicitPassphraseTime( |
282 JNIEnv* env, jobject) { | 314 JNIEnv* env, |
| 315 const JavaParamRef<jobject>&) { |
283 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 316 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
284 base::Time passphrase_time = sync_service_->GetExplicitPassphraseTime(); | 317 base::Time passphrase_time = sync_service_->GetExplicitPassphraseTime(); |
285 return passphrase_time.ToJavaTime(); | 318 return passphrase_time.ToJavaTime(); |
286 } | 319 } |
287 | 320 |
288 void ProfileSyncServiceAndroid::FlushDirectory(JNIEnv* env, jobject) { | 321 void ProfileSyncServiceAndroid::FlushDirectory(JNIEnv* env, |
| 322 const JavaParamRef<jobject>&) { |
289 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 323 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
290 sync_service_->FlushDirectory(); | 324 sync_service_->FlushDirectory(); |
291 } | 325 } |
292 | 326 |
293 ScopedJavaLocalRef<jstring> ProfileSyncServiceAndroid::QuerySyncStatusSummary( | 327 ScopedJavaLocalRef<jstring> ProfileSyncServiceAndroid::QuerySyncStatusSummary( |
294 JNIEnv* env, jobject) { | 328 JNIEnv* env, |
| 329 const JavaParamRef<jobject>&) { |
295 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 330 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
296 DCHECK(profile_); | 331 DCHECK(profile_); |
297 std::string status(sync_service_->QuerySyncStatusSummaryString()); | 332 std::string status(sync_service_->QuerySyncStatusSummaryString()); |
298 return ConvertUTF8ToJavaString(env, status); | 333 return ConvertUTF8ToJavaString(env, status); |
299 } | 334 } |
300 | 335 |
301 void ProfileSyncServiceAndroid::GetAllNodes(JNIEnv* env, | 336 void ProfileSyncServiceAndroid::GetAllNodes( |
302 jobject obj, | 337 JNIEnv* env, |
303 jobject callback) { | 338 const JavaParamRef<jobject>& obj, |
| 339 const JavaParamRef<jobject>& callback) { |
304 base::android::ScopedJavaGlobalRef<jobject> java_callback; | 340 base::android::ScopedJavaGlobalRef<jobject> java_callback; |
305 java_callback.Reset(env, callback); | 341 java_callback.Reset(env, callback); |
306 | 342 |
307 base::Callback<void(scoped_ptr<base::ListValue>)> native_callback = | 343 base::Callback<void(scoped_ptr<base::ListValue>)> native_callback = |
308 base::Bind(&NativeGetAllNodesCallback, java_callback); | 344 base::Bind(&NativeGetAllNodesCallback, java_callback); |
309 sync_service_->GetAllNodes(native_callback); | 345 sync_service_->GetAllNodes(native_callback); |
310 } | 346 } |
311 | 347 |
312 jint ProfileSyncServiceAndroid::GetAuthError(JNIEnv* env, jobject) { | 348 jint ProfileSyncServiceAndroid::GetAuthError(JNIEnv* env, |
| 349 const JavaParamRef<jobject>&) { |
313 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 350 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
314 return sync_service_->GetAuthError().state(); | 351 return sync_service_->GetAuthError().state(); |
315 } | 352 } |
316 | 353 |
317 jboolean ProfileSyncServiceAndroid::HasUnrecoverableError( | 354 jboolean ProfileSyncServiceAndroid::HasUnrecoverableError( |
318 JNIEnv* env, jobject) { | 355 JNIEnv* env, |
| 356 const JavaParamRef<jobject>&) { |
319 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 357 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
320 return sync_service_->HasUnrecoverableError(); | 358 return sync_service_->HasUnrecoverableError(); |
321 } | 359 } |
322 | 360 |
323 // Pure SyncPrefs calls. | 361 // Pure SyncPrefs calls. |
324 | 362 |
325 jboolean ProfileSyncServiceAndroid::IsPassphrasePrompted(JNIEnv* env, | 363 jboolean ProfileSyncServiceAndroid::IsPassphrasePrompted( |
326 jobject obj) { | 364 JNIEnv* env, |
| 365 const JavaParamRef<jobject>& obj) { |
327 return sync_prefs_->IsPassphrasePrompted(); | 366 return sync_prefs_->IsPassphrasePrompted(); |
328 } | 367 } |
329 | 368 |
330 void ProfileSyncServiceAndroid::SetPassphrasePrompted(JNIEnv* env, | 369 void ProfileSyncServiceAndroid::SetPassphrasePrompted( |
331 jobject obj, | 370 JNIEnv* env, |
332 jboolean prompted) { | 371 const JavaParamRef<jobject>& obj, |
| 372 jboolean prompted) { |
333 sync_prefs_->SetPassphrasePrompted(prompted); | 373 sync_prefs_->SetPassphrasePrompted(prompted); |
334 } | 374 } |
335 | 375 |
336 void ProfileSyncServiceAndroid::SetSyncSessionsId( | 376 void ProfileSyncServiceAndroid::SetSyncSessionsId( |
337 JNIEnv* env, jobject obj, jstring tag) { | 377 JNIEnv* env, |
| 378 const JavaParamRef<jobject>& obj, |
| 379 const JavaParamRef<jstring>& tag) { |
338 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 380 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
339 DCHECK(profile_); | 381 DCHECK(profile_); |
340 std::string machine_tag = ConvertJavaStringToUTF8(env, tag); | 382 std::string machine_tag = ConvertJavaStringToUTF8(env, tag); |
341 sync_prefs_->SetSyncSessionsGUID(machine_tag); | 383 sync_prefs_->SetSyncSessionsGUID(machine_tag); |
342 } | 384 } |
343 | 385 |
344 jboolean ProfileSyncServiceAndroid::HasKeepEverythingSynced( | 386 jboolean ProfileSyncServiceAndroid::HasKeepEverythingSynced( |
345 JNIEnv* env, jobject) { | 387 JNIEnv* env, |
| 388 const JavaParamRef<jobject>&) { |
346 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 389 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
347 return sync_prefs_->HasKeepEverythingSynced(); | 390 return sync_prefs_->HasKeepEverythingSynced(); |
348 } | 391 } |
349 | 392 |
350 // UI string getters. | 393 // UI string getters. |
351 | 394 |
352 ScopedJavaLocalRef<jstring> | 395 ScopedJavaLocalRef<jstring> |
353 ProfileSyncServiceAndroid::GetSyncEnterGooglePassphraseBodyWithDateText( | 396 ProfileSyncServiceAndroid::GetSyncEnterGooglePassphraseBodyWithDateText( |
354 JNIEnv* env, jobject) { | 397 JNIEnv* env, |
| 398 const JavaParamRef<jobject>&) { |
355 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 399 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
356 base::Time passphrase_time = sync_service_->GetExplicitPassphraseTime(); | 400 base::Time passphrase_time = sync_service_->GetExplicitPassphraseTime(); |
357 base::string16 passphrase_time_str = | 401 base::string16 passphrase_time_str = |
358 base::TimeFormatShortDate(passphrase_time); | 402 base::TimeFormatShortDate(passphrase_time); |
359 return base::android::ConvertUTF16ToJavaString(env, | 403 return base::android::ConvertUTF16ToJavaString(env, |
360 l10n_util::GetStringFUTF16( | 404 l10n_util::GetStringFUTF16( |
361 IDS_SYNC_ENTER_GOOGLE_PASSPHRASE_BODY_WITH_DATE, | 405 IDS_SYNC_ENTER_GOOGLE_PASSPHRASE_BODY_WITH_DATE, |
362 passphrase_time_str)); | 406 passphrase_time_str)); |
363 } | 407 } |
364 | 408 |
365 ScopedJavaLocalRef<jstring> | 409 ScopedJavaLocalRef<jstring> |
366 ProfileSyncServiceAndroid::GetSyncEnterCustomPassphraseBodyWithDateText( | 410 ProfileSyncServiceAndroid::GetSyncEnterCustomPassphraseBodyWithDateText( |
367 JNIEnv* env, jobject) { | 411 JNIEnv* env, |
| 412 const JavaParamRef<jobject>&) { |
368 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 413 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
369 base::Time passphrase_time = sync_service_->GetExplicitPassphraseTime(); | 414 base::Time passphrase_time = sync_service_->GetExplicitPassphraseTime(); |
370 base::string16 passphrase_time_str = | 415 base::string16 passphrase_time_str = |
371 base::TimeFormatShortDate(passphrase_time); | 416 base::TimeFormatShortDate(passphrase_time); |
372 return base::android::ConvertUTF16ToJavaString(env, | 417 return base::android::ConvertUTF16ToJavaString(env, |
373 l10n_util::GetStringFUTF16(IDS_SYNC_ENTER_PASSPHRASE_BODY_WITH_DATE, | 418 l10n_util::GetStringFUTF16(IDS_SYNC_ENTER_PASSPHRASE_BODY_WITH_DATE, |
374 passphrase_time_str)); | 419 passphrase_time_str)); |
375 } | 420 } |
376 | 421 |
377 ScopedJavaLocalRef<jstring> | 422 ScopedJavaLocalRef<jstring> |
378 ProfileSyncServiceAndroid::GetCurrentSignedInAccountText( | 423 ProfileSyncServiceAndroid::GetCurrentSignedInAccountText( |
379 JNIEnv* env, jobject) { | 424 JNIEnv* env, |
| 425 const JavaParamRef<jobject>&) { |
380 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 426 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
381 const std::string& sync_username = | 427 const std::string& sync_username = |
382 SigninManagerFactory::GetForProfile(profile_) | 428 SigninManagerFactory::GetForProfile(profile_) |
383 ->GetAuthenticatedAccountInfo() | 429 ->GetAuthenticatedAccountInfo() |
384 .email; | 430 .email; |
385 return base::android::ConvertUTF16ToJavaString(env, | 431 return base::android::ConvertUTF16ToJavaString(env, |
386 l10n_util::GetStringFUTF16( | 432 l10n_util::GetStringFUTF16( |
387 IDS_SYNC_ACCOUNT_SYNCING_TO_USER, | 433 IDS_SYNC_ACCOUNT_SYNCING_TO_USER, |
388 base::ASCIIToUTF16(sync_username))); | 434 base::ASCIIToUTF16(sync_username))); |
389 } | 435 } |
390 | 436 |
391 ScopedJavaLocalRef<jstring> | 437 ScopedJavaLocalRef<jstring> |
392 ProfileSyncServiceAndroid::GetSyncEnterCustomPassphraseBodyText( | 438 ProfileSyncServiceAndroid::GetSyncEnterCustomPassphraseBodyText( |
393 JNIEnv* env, jobject) { | 439 JNIEnv* env, |
| 440 const JavaParamRef<jobject>&) { |
394 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 441 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
395 return ConvertUTF8ToJavaString( | 442 return ConvertUTF8ToJavaString( |
396 env, l10n_util::GetStringUTF8(IDS_SYNC_ENTER_PASSPHRASE_BODY)); | 443 env, l10n_util::GetStringUTF8(IDS_SYNC_ENTER_PASSPHRASE_BODY)); |
397 } | 444 } |
398 | 445 |
399 // Functionality only available for testing purposes. | 446 // Functionality only available for testing purposes. |
400 | 447 |
401 ScopedJavaLocalRef<jstring> ProfileSyncServiceAndroid::GetAboutInfoForTest( | 448 ScopedJavaLocalRef<jstring> ProfileSyncServiceAndroid::GetAboutInfoForTest( |
402 JNIEnv* env, jobject) { | 449 JNIEnv* env, |
| 450 const JavaParamRef<jobject>&) { |
403 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 451 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
404 | 452 |
405 scoped_ptr<base::DictionaryValue> about_info = | 453 scoped_ptr<base::DictionaryValue> about_info = |
406 sync_driver::sync_ui_util::ConstructAboutInformation( | 454 sync_driver::sync_ui_util::ConstructAboutInformation( |
407 sync_service_, sync_service_->signin(), chrome::GetChannel()); | 455 sync_service_, sync_service_->signin(), chrome::GetChannel()); |
408 std::string about_info_json; | 456 std::string about_info_json; |
409 base::JSONWriter::Write(*about_info, &about_info_json); | 457 base::JSONWriter::Write(*about_info, &about_info_json); |
410 | 458 |
411 return ConvertUTF8ToJavaString(env, about_info_json); | 459 return ConvertUTF8ToJavaString(env, about_info_json); |
412 } | 460 } |
413 | 461 |
414 jlong ProfileSyncServiceAndroid::GetLastSyncedTimeForTest( | 462 jlong ProfileSyncServiceAndroid::GetLastSyncedTimeForTest( |
415 JNIEnv* env, jobject obj) { | 463 JNIEnv* env, |
| 464 const JavaParamRef<jobject>& obj) { |
416 // Use profile preferences here instead of SyncPrefs to avoid an extra | 465 // Use profile preferences here instead of SyncPrefs to avoid an extra |
417 // conversion, since SyncPrefs::GetLastSyncedTime() converts the stored value | 466 // conversion, since SyncPrefs::GetLastSyncedTime() converts the stored value |
418 // to to base::Time. | 467 // to to base::Time. |
419 return static_cast<jlong>( | 468 return static_cast<jlong>( |
420 profile_->GetPrefs()->GetInt64(sync_driver::prefs::kSyncLastSyncedTime)); | 469 profile_->GetPrefs()->GetInt64(sync_driver::prefs::kSyncLastSyncedTime)); |
421 } | 470 } |
422 | 471 |
423 void ProfileSyncServiceAndroid::OverrideNetworkResourcesForTest( | 472 void ProfileSyncServiceAndroid::OverrideNetworkResourcesForTest( |
424 JNIEnv* env, | 473 JNIEnv* env, |
425 jobject obj, | 474 const JavaParamRef<jobject>& obj, |
426 jlong network_resources) { | 475 jlong network_resources) { |
427 syncer::NetworkResources* resources = | 476 syncer::NetworkResources* resources = |
428 reinterpret_cast<syncer::NetworkResources*>(network_resources); | 477 reinterpret_cast<syncer::NetworkResources*>(network_resources); |
429 sync_service_->OverrideNetworkResourcesForTest( | 478 sync_service_->OverrideNetworkResourcesForTest( |
430 make_scoped_ptr<syncer::NetworkResources>(resources)); | 479 make_scoped_ptr<syncer::NetworkResources>(resources)); |
431 } | 480 } |
432 | 481 |
433 // static | 482 // static |
434 ProfileSyncServiceAndroid* | 483 ProfileSyncServiceAndroid* |
435 ProfileSyncServiceAndroid::GetProfileSyncServiceAndroid() { | 484 ProfileSyncServiceAndroid::GetProfileSyncServiceAndroid() { |
(...skipping 10 matching lines...) Expand all Loading... |
446 static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj) { | 495 static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj) { |
447 ProfileSyncServiceAndroid* profile_sync_service_android = | 496 ProfileSyncServiceAndroid* profile_sync_service_android = |
448 new ProfileSyncServiceAndroid(env, obj); | 497 new ProfileSyncServiceAndroid(env, obj); |
449 if (profile_sync_service_android->Init()) { | 498 if (profile_sync_service_android->Init()) { |
450 return reinterpret_cast<intptr_t>(profile_sync_service_android); | 499 return reinterpret_cast<intptr_t>(profile_sync_service_android); |
451 } else { | 500 } else { |
452 delete profile_sync_service_android; | 501 delete profile_sync_service_android; |
453 return 0; | 502 return 0; |
454 } | 503 } |
455 } | 504 } |
OLD | NEW |