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 "chrome/browser/invalidation/invalidation_service_factory_android.h" | 5 #include "chrome/browser/invalidation/invalidation_service_factory_android.h" |
6 | 6 |
7 #include "base/android/jni_android.h" | 7 #include "base/android/jni_android.h" |
8 #include "chrome/browser/invalidation/profile_invalidation_provider_factory.h" | 8 #include "chrome/browser/invalidation/profile_invalidation_provider_factory.h" |
9 #include "chrome/browser/profiles/profile.h" | 9 #include "chrome/browser/profiles/profile.h" |
10 #include "chrome/browser/profiles/profile_android.h" | 10 #include "chrome/browser/profiles/profile_android.h" |
11 #include "components/invalidation/impl/invalidation_service_android.h" | 11 #include "components/invalidation/impl/invalidation_service_android.h" |
12 #include "components/invalidation/impl/profile_invalidation_provider.h" | 12 #include "components/invalidation/impl/profile_invalidation_provider.h" |
13 #include "jni/InvalidationServiceFactory_jni.h" | 13 #include "jni/InvalidationServiceFactory_jni.h" |
14 | 14 |
15 using base::android::JavaParamRef; | 15 using base::android::JavaParamRef; |
| 16 using base::android::JavaRef; |
16 using base::android::ScopedJavaLocalRef; | 17 using base::android::ScopedJavaLocalRef; |
17 | 18 |
18 namespace invalidation { | 19 namespace invalidation { |
19 | 20 |
20 ScopedJavaLocalRef<jobject> InvalidationServiceFactoryAndroid::GetForProfile( | 21 ScopedJavaLocalRef<jobject> InvalidationServiceFactoryAndroid::GetForProfile( |
21 JNIEnv* env, | 22 const JavaRef<jobject>& j_profile) { |
22 jclass clazz, | 23 Profile* profile = ProfileAndroid::FromProfileAndroid(j_profile.obj()); |
23 jobject j_profile) { | |
24 Profile* profile = ProfileAndroid::FromProfileAndroid(j_profile); | |
25 invalidation::ProfileInvalidationProvider* provider = | 24 invalidation::ProfileInvalidationProvider* provider = |
26 ProfileInvalidationProviderFactory::GetForProfile(profile); | 25 ProfileInvalidationProviderFactory::GetForProfile(profile); |
27 InvalidationServiceAndroid* service_android = | 26 InvalidationServiceAndroid* service_android = |
28 static_cast<InvalidationServiceAndroid*>( | 27 static_cast<InvalidationServiceAndroid*>( |
29 provider->GetInvalidationService()); | 28 provider->GetInvalidationService()); |
30 return ScopedJavaLocalRef<jobject>(service_android->java_ref_); | 29 return ScopedJavaLocalRef<jobject>(service_android->java_ref_); |
31 } | 30 } |
32 | 31 |
33 ScopedJavaLocalRef<jobject> InvalidationServiceFactoryAndroid::GetForTest( | 32 ScopedJavaLocalRef<jobject> InvalidationServiceFactoryAndroid::GetForTest( |
34 JNIEnv* env, | 33 const JavaRef<jobject>& j_context) { |
35 jclass clazz, | |
36 jobject j_context) { | |
37 InvalidationServiceAndroid* service_android = | 34 InvalidationServiceAndroid* service_android = |
38 new InvalidationServiceAndroid(j_context); | 35 new InvalidationServiceAndroid(j_context); |
39 return ScopedJavaLocalRef<jobject>(service_android->java_ref_); | 36 return ScopedJavaLocalRef<jobject>(service_android->java_ref_); |
40 } | 37 } |
41 | 38 |
42 ScopedJavaLocalRef<jobject> GetForProfile( | 39 ScopedJavaLocalRef<jobject> GetForProfile( |
43 JNIEnv* env, | 40 JNIEnv* env, |
44 const JavaParamRef<jclass>& clazz, | 41 const JavaParamRef<jclass>& clazz, |
45 const JavaParamRef<jobject>& j_profile) { | 42 const JavaParamRef<jobject>& j_profile) { |
46 return InvalidationServiceFactoryAndroid::GetForProfile(env, clazz, | 43 return InvalidationServiceFactoryAndroid::GetForProfile(j_profile); |
47 j_profile); | |
48 } | 44 } |
49 | 45 |
50 ScopedJavaLocalRef<jobject> GetForTest(JNIEnv* env, | 46 ScopedJavaLocalRef<jobject> GetForTest(JNIEnv* env, |
51 const JavaParamRef<jclass>& clazz, | 47 const JavaParamRef<jclass>& clazz, |
52 const JavaParamRef<jobject>& j_context) { | 48 const JavaParamRef<jobject>& j_context) { |
53 return InvalidationServiceFactoryAndroid::GetForTest(env, clazz, j_context); | 49 return InvalidationServiceFactoryAndroid::GetForTest(j_context); |
54 } | 50 } |
55 | 51 |
56 bool InvalidationServiceFactoryAndroid::Register(JNIEnv* env) { | 52 bool InvalidationServiceFactoryAndroid::Register(JNIEnv* env) { |
57 return RegisterNativesImpl(env); | 53 return RegisterNativesImpl(env); |
58 } | 54 } |
59 | 55 |
60 } // namespace invalidation | 56 } // namespace invalidation |
OLD | NEW |