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

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: Created 4 years, 7 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
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..7515b7aee58f061dd8d5541904a709c2d0f3628c 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"
@@ -298,13 +299,47 @@ 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);
}
+namespace {
Bernhard Bauer 2016/06/03 08:50:06 Move to this the existing anonymous namespace at t
PEConn 2016/06/27 09:34:33 Done.
+
+void UserManagementDomainFetched(
+ base::android::ScopedJavaGlobalRef<jobject> callback,
+ const std::string& dm_token, const std::string& client_id) {
+ base::android::ScopedJavaLocalRef<jstring> j_domain =
+ base::android::ConvertUTF8ToJavaString(
+ base::android::AttachCurrentThread(),
+ dm_token);
+
+ base::android::RunCallbackAndroid(callback, j_domain);
Bernhard Bauer 2016/06/03 08:50:07 As discussed offline, this should be a boolean |is
PEConn 2016/06/27 09:34:33 Done.
+}
+
+} // namespace
+
+static void FetchUserManagementDomain(
+ 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(
Bernhard Bauer 2016/06/03 08:50:07 You are sure that registering for policy without u
Bernhard Bauer 2016/06/29 10:51:26 ^^^
PEConn 2016/06/30 09:26:44 In RegisterForPolicy, the CloudPolicyClient (which
+ username, AccountTrackerServiceFactory::GetForProfile(profile)
+ ->FindAccountInfoByEmail(username)
+ .account_id,
+ base::Bind(&UserManagementDomainFetched, callback));
+}
+
// static
bool SigninManagerAndroid::Register(JNIEnv* env) {
return RegisterNativesImpl(env);

Powered by Google App Engine
This is Rietveld 408576698