Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / chrome / browser / invalidation / invalidation_service_factory_android.cc
blob821d702a6e817ab6f0538be5ab9e6a45f296205c
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
3 // found in the LICENSE file.
5 #include "chrome/browser/invalidation/invalidation_service_factory_android.h"
7 #include "base/android/jni_android.h"
8 #include "chrome/browser/invalidation/profile_invalidation_provider_factory.h"
9 #include "chrome/browser/profiles/profile.h"
10 #include "chrome/browser/profiles/profile_android.h"
11 #include "components/invalidation/impl/invalidation_service_android.h"
12 #include "components/invalidation/impl/profile_invalidation_provider.h"
13 #include "jni/InvalidationServiceFactory_jni.h"
15 using base::android::ScopedJavaLocalRef;
17 namespace invalidation {
19 jobject InvalidationServiceFactoryAndroid::GetForProfile(JNIEnv* env,
20 jclass clazz,
21 jobject j_profile) {
22 Profile* profile = ProfileAndroid::FromProfileAndroid(j_profile);
23 invalidation::ProfileInvalidationProvider* provider =
24 ProfileInvalidationProviderFactory::GetForProfile(profile);
25 InvalidationServiceAndroid* service_android =
26 static_cast<InvalidationServiceAndroid*>(
27 provider->GetInvalidationService());
28 return service_android->java_ref_.obj();
31 jobject InvalidationServiceFactoryAndroid::GetForTest(JNIEnv* env,
32 jclass clazz,
33 jobject j_context) {
34 InvalidationServiceAndroid* service_android =
35 new InvalidationServiceAndroid(j_context);
36 return service_android->java_ref_.obj();
39 jobject GetForProfile(JNIEnv* env, jclass clazz, jobject j_profile) {
40 return InvalidationServiceFactoryAndroid::GetForProfile(
41 env, clazz, j_profile);
44 jobject GetForTest(JNIEnv* env, jclass clazz, jobject j_context) {
45 return InvalidationServiceFactoryAndroid::GetForTest(
46 env, clazz, j_context);
49 bool InvalidationServiceFactoryAndroid::Register(JNIEnv* env) {
50 return RegisterNativesImpl(env);
53 } // namespace invalidation