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
15void 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
28static 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
38bool AccountManagementScreenHelper::Register(JNIEnv* env) {
39  return RegisterNativesImpl(env);
40}
41