Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(449)

Unified Diff: chrome/browser/android/signin/signin_manager_android.cc

Issue 2014833002: Show dialogs for syncing to managed accounts. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Replace getContext with getActivity in AccountManagementFragment. Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/android/javatests/src/org/chromium/chrome/browser/signin/SigninTest.java ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/android/signin/signin_manager_android.cc
diff --git a/chrome/browser/android/signin/signin_manager_android.cc b/chrome/browser/android/signin/signin_manager_android.cc
index c1e5d83aad8473e074333d2b69fe98479b5f4af9..21fc75293a924d9cd9b1995f157753e4da081b41 100644
--- a/chrome/browser/android/signin/signin_manager_android.cc
+++ b/chrome/browser/android/signin/signin_manager_android.cc
@@ -6,6 +6,7 @@
#include "chrome/browser/android/signin/signin_manager_android.h"
+#include "base/android/callback_android.h"
#include "base/android/jni_android.h"
#include "base/android/jni_array.h"
#include "base/android/jni_string.h"
@@ -78,6 +79,12 @@ class ProfileDataRemover : public BrowsingDataRemover::Observer {
DISALLOW_COPY_AND_ASSIGN(ProfileDataRemover);
};
+void UserManagementDomainFetched(
+ base::android::ScopedJavaGlobalRef<jobject> callback,
+ const std::string& dm_token, const std::string& client_id) {
+ base::android::RunCallbackAndroid(callback, !dm_token.empty());
+}
+
} // namespace
SigninManagerAndroid::SigninManagerAndroid(JNIEnv* env, jobject obj)
@@ -298,13 +305,42 @@ static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj) {
static jboolean ShouldLoadPolicyForUser(
JNIEnv* env,
- const JavaParamRef<jobject>& obj,
+ const JavaParamRef<jclass>& clazz,
const JavaParamRef<jstring>& j_username) {
std::string username =
base::android::ConvertJavaStringToUTF8(env, j_username);
return !policy::BrowserPolicyConnector::IsNonEnterpriseUser(username);
}
+static void IsUserManaged(
+ JNIEnv* env,
+ const JavaParamRef<jclass>& clazz,
+ const JavaParamRef<jstring>& j_username,
+ const JavaParamRef<jobject>& j_callback) {
+ base::android::ScopedJavaGlobalRef<jobject> callback(env, j_callback);
+
+ Profile* profile = ProfileManager::GetActiveUserProfile();
+ std::string username =
+ base::android::ConvertJavaStringToUTF8(env, j_username);
+ policy::UserPolicySigninService* service =
+ policy::UserPolicySigninServiceFactory::GetForProfile(profile);
+ service->RegisterForPolicy(
+ username, AccountTrackerServiceFactory::GetForProfile(profile)
+ ->FindAccountInfoByEmail(username)
+ .account_id,
+ base::Bind(&UserManagementDomainFetched, callback));
+}
+
+base::android::ScopedJavaLocalRef<jstring>
+ExtractDomainName(
+ JNIEnv *env,
+ const JavaParamRef<jclass>& clazz,
+ const JavaParamRef<jstring>& j_email) {
+ std::string email = base::android::ConvertJavaStringToUTF8(env, j_email);
+ std::string domain = gaia::ExtractDomainName(email);
+ return base::android::ConvertUTF8ToJavaString(env, domain);
+}
+
// static
bool SigninManagerAndroid::Register(JNIEnv* env) {
return RegisterNativesImpl(env);
« no previous file with comments | « chrome/android/javatests/src/org/chromium/chrome/browser/signin/SigninTest.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698