Home | History | Annotate | Download | only in signin
      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
     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 
     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
     38 bool AccountManagementScreenHelper::Register(JNIEnv* env) {
     39   return RegisterNativesImpl(env);
     40 }
     41