• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.
4 
5 #include "chrome/browser/android/signin/account_management_screen_helper.h"
6 
7 #include "base/android/jni_android.h"
8 #include "base/android/jni_string.h"
9 #include "chrome/browser/profiles/profile.h"
10 #include "chrome/browser/profiles/profile_android.h"
11 #include "chrome/browser/profiles/profile_metrics.h"
12 #include "jni/AccountManagementScreenHelper_jni.h"
13 
14 // static
OpenAccountManagementScreen(Profile * profile,signin::GAIAServiceType service_type)15 void AccountManagementScreenHelper::OpenAccountManagementScreen(
16     Profile* profile,
17     signin::GAIAServiceType service_type) {
18   DCHECK(profile);
19   DCHECK(ProfileAndroid::FromProfile(profile));
20 
21   Java_AccountManagementScreenHelper_openAccountManagementScreen(
22       base::android::AttachCurrentThread(),
23       base::android::GetApplicationContext(),
24       ProfileAndroid::FromProfile(profile)->GetJavaObject().obj(),
25       static_cast<int>(service_type));
26 }
27 
LogEvent(JNIEnv * env,jclass clazz,jint metric,jint gaiaServiceType)28 static void LogEvent(JNIEnv* env,
29                      jclass clazz,
30                      jint metric,
31                      jint gaiaServiceType) {
32   ProfileMetrics::LogProfileAndroidAccountManagementMenu(
33       static_cast<ProfileMetrics::ProfileAndroidAccountManagementMenu>(metric),
34       static_cast<signin::GAIAServiceType>(gaiaServiceType));
35 }
36 
37 // static
Register(JNIEnv * env)38 bool AccountManagementScreenHelper::Register(JNIEnv* env) {
39   return RegisterNativesImpl(env);
40 }
41