Commit 14722e08 authored by Pâris MEULEMAN's avatar Pâris MEULEMAN Committed by Commit Bot

Add reloadAccountsFromSystem on IdentityManager.java

This adds reloadAccountsFromSystem on IdentityManager.java and updates
SigninManager.java to use this instead of going through
signin_manager_android.cc. This is the last IdentityManager access from
signin_manager_android.cc remaining except for the construction of
SigninManager.java.

Bug: 934688
Change-Id: I3280102e03cb7b67b0f5ab3c569929854cc647bc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1789385
Commit-Queue: Pâris Meuleman <pmeuleman@chromium.org>
Reviewed-by: default avatarBoris Sazonov <bsazonov@chromium.org>
Reviewed-by: default avatarSylvain Defresne <sdefresne@chromium.org>
Auto-Submit: Pâris Meuleman <pmeuleman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#695978}
parent 4313f778
...@@ -34,7 +34,7 @@ import org.chromium.components.signin.ChromeSigninController; ...@@ -34,7 +34,7 @@ import org.chromium.components.signin.ChromeSigninController;
import org.chromium.components.signin.identitymanager.ClearAccountsAction; import org.chromium.components.signin.identitymanager.ClearAccountsAction;
import org.chromium.components.signin.identitymanager.CoreAccountInfo; import org.chromium.components.signin.identitymanager.CoreAccountInfo;
import org.chromium.components.signin.identitymanager.IdentityManager; import org.chromium.components.signin.identitymanager.IdentityManager;
import org.chromium.components.signin.identitymanager.PrimaryAccountMutator; import org.chromium.components.signin.identitymanager.IdentityMutator;
import org.chromium.components.signin.metrics.SigninAccessPoint; import org.chromium.components.signin.metrics.SigninAccessPoint;
import org.chromium.components.signin.metrics.SigninReason; import org.chromium.components.signin.metrics.SigninReason;
import org.chromium.components.signin.metrics.SignoutDelete; import org.chromium.components.signin.metrics.SignoutDelete;
...@@ -200,7 +200,7 @@ public class SigninManager ...@@ -200,7 +200,7 @@ public class SigninManager
private final Context mContext; private final Context mContext;
private final AccountTrackerService mAccountTrackerService; private final AccountTrackerService mAccountTrackerService;
private final IdentityManager mIdentityManager; private final IdentityManager mIdentityManager;
private final PrimaryAccountMutator mPrimaryAccountMutator; private final IdentityMutator mIdentityMutator;
private final AndroidSyncSettings mAndroidSyncSettings; private final AndroidSyncSettings mAndroidSyncSettings;
private final ObserverList<SignInStateObserver> mSignInStateObservers = new ObserverList<>(); private final ObserverList<SignInStateObserver> mSignInStateObservers = new ObserverList<>();
private final ObserverList<SignInAllowedObserver> mSignInAllowedObservers = private final ObserverList<SignInAllowedObserver> mSignInAllowedObservers =
...@@ -255,7 +255,7 @@ public class SigninManager ...@@ -255,7 +255,7 @@ public class SigninManager
mNativeSigninManagerAndroid = nativeSigninManagerAndroid; mNativeSigninManagerAndroid = nativeSigninManagerAndroid;
mAccountTrackerService = accountTrackerService; mAccountTrackerService = accountTrackerService;
mIdentityManager = identityManager; mIdentityManager = identityManager;
mPrimaryAccountMutator = identityManager.getPrimaryAccountMutator(); mIdentityMutator = identityManager.getIdentityMutator();
mAndroidSyncSettings = androidSyncSettings; mAndroidSyncSettings = androidSyncSettings;
mSigninAllowedByPolicy = mSigninAllowedByPolicy =
...@@ -502,7 +502,7 @@ public class SigninManager ...@@ -502,7 +502,7 @@ public class SigninManager
// This method should be called at most once per sign-in flow. // This method should be called at most once per sign-in flow.
assert mSignInState != null && mSignInState.mCoreAccountInfo != null; assert mSignInState != null && mSignInState.mCoreAccountInfo != null;
if (!mPrimaryAccountMutator.setPrimaryAccount(mSignInState.mCoreAccountInfo.getId())) { if (!mIdentityMutator.setPrimaryAccount(mSignInState.mCoreAccountInfo.getId())) {
Log.w(TAG, "Failed to set the PrimaryAccount in IdentityManager, aborting signin"); Log.w(TAG, "Failed to set the PrimaryAccount in IdentityManager, aborting signin");
abortSignIn(); abortSignIn();
return; return;
...@@ -519,7 +519,7 @@ public class SigninManager ...@@ -519,7 +519,7 @@ public class SigninManager
} }
// Trigger token requests via native. // Trigger token requests via native.
logInSignedInUser(); mIdentityMutator.reloadAccountsFromSystem();
if (mSignInState.isInteractive()) { if (mSignInState.isInteractive()) {
// If signin was a user action, record that it succeeded. // If signin was a user action, record that it succeeded.
...@@ -545,7 +545,7 @@ public class SigninManager ...@@ -545,7 +545,7 @@ public class SigninManager
* Implements {@link IdentityManager.Observer}: take action when primary account is set. * Implements {@link IdentityManager.Observer}: take action when primary account is set.
* Simply verify that the request is ongoing (mSignInState != null), as only SigninManager * Simply verify that the request is ongoing (mSignInState != null), as only SigninManager
* should update IdentityManager. This is triggered by the call to * should update IdentityManager. This is triggered by the call to
* PrimaryAccountMutator.setPrimaryAccount * IdentityMutator.setPrimaryAccount
*/ */
@VisibleForTesting @VisibleForTesting
@Override @Override
...@@ -637,7 +637,7 @@ public class SigninManager ...@@ -637,7 +637,7 @@ public class SigninManager
// User data will be wiped in disableSyncAndWipeData(), called from // User data will be wiped in disableSyncAndWipeData(), called from
// onPrimaryAccountcleared(). // onPrimaryAccountcleared().
mPrimaryAccountMutator.clearPrimaryAccount(ClearAccountsAction.DEFAULT, signoutSource, mIdentityMutator.clearPrimaryAccount(ClearAccountsAction.DEFAULT, signoutSource,
// Always use IGNORE_METRIC for the profile deletion argument. Chrome // Always use IGNORE_METRIC for the profile deletion argument. Chrome
// Android has just a single-profile which is never deleted upon // Android has just a single-profile which is never deleted upon
// sign-out. // sign-out.
...@@ -651,11 +651,6 @@ public class SigninManager ...@@ -651,11 +651,6 @@ public class SigninManager
return SigninManagerJni.get().getManagementDomain(mNativeSigninManagerAndroid); return SigninManagerJni.get().getManagementDomain(mNativeSigninManagerAndroid);
} }
@VisibleForTesting
void logInSignedInUser() {
SigninManagerJni.get().logInSignedInUser(mNativeSigninManagerAndroid);
}
public void clearLastSignedInUser() { public void clearLastSignedInUser() {
SigninManagerJni.get().clearLastSignedInUser(mNativeSigninManagerAndroid); SigninManagerJni.get().clearLastSignedInUser(mNativeSigninManagerAndroid);
} }
...@@ -801,8 +796,6 @@ public class SigninManager ...@@ -801,8 +796,6 @@ public class SigninManager
void clearLastSignedInUser(long nativeSigninManagerAndroid); void clearLastSignedInUser(long nativeSigninManagerAndroid);
void logInSignedInUser(long nativeSigninManagerAndroid);
String extractDomainName(String email); String extractDomainName(String email);
boolean isMobileIdentityConsistencyEnabled(); boolean isMobileIdentityConsistencyEnabled();
......
...@@ -37,7 +37,7 @@ import org.chromium.components.signin.AccountTrackerService; ...@@ -37,7 +37,7 @@ import org.chromium.components.signin.AccountTrackerService;
import org.chromium.components.signin.identitymanager.CoreAccountId; import org.chromium.components.signin.identitymanager.CoreAccountId;
import org.chromium.components.signin.identitymanager.CoreAccountInfo; import org.chromium.components.signin.identitymanager.CoreAccountInfo;
import org.chromium.components.signin.identitymanager.IdentityManager; import org.chromium.components.signin.identitymanager.IdentityManager;
import org.chromium.components.signin.identitymanager.PrimaryAccountMutator; import org.chromium.components.signin.identitymanager.IdentityMutator;
import org.chromium.components.signin.metrics.SignoutReason; import org.chromium.components.signin.metrics.SignoutReason;
import org.chromium.components.sync.AndroidSyncSettings; import org.chromium.components.sync.AndroidSyncSettings;
...@@ -55,7 +55,7 @@ public class SigninManagerTest { ...@@ -55,7 +55,7 @@ public class SigninManagerTest {
private AccountTrackerService mAccountTrackerService; private AccountTrackerService mAccountTrackerService;
private IdentityManager mIdentityManager; private IdentityManager mIdentityManager;
private PrimaryAccountMutator mPrimaryAccountMutator; private IdentityMutator mIdentityMutator;
private SigninManager mSigninManager; private SigninManager mSigninManager;
private CoreAccountInfo mAccount; private CoreAccountInfo mAccount;
...@@ -69,10 +69,10 @@ public class SigninManagerTest { ...@@ -69,10 +69,10 @@ public class SigninManagerTest {
mAccountTrackerService = mock(AccountTrackerService.class); mAccountTrackerService = mock(AccountTrackerService.class);
mPrimaryAccountMutator = mock(PrimaryAccountMutator.class); mIdentityMutator = mock(IdentityMutator.class);
mIdentityManager = mIdentityManager =
spy(new IdentityManager(0 /* nativeIdentityManager */, mPrimaryAccountMutator)); spy(new IdentityManager(0 /* nativeIdentityManager */, mIdentityMutator));
AndroidSyncSettings androidSyncSettings = mock(AndroidSyncSettings.class); AndroidSyncSettings androidSyncSettings = mock(AndroidSyncSettings.class);
...@@ -192,7 +192,7 @@ public class SigninManagerTest { ...@@ -192,7 +192,7 @@ public class SigninManagerTest {
mIdentityManager.onPrimaryAccountCleared(mAccount); mIdentityManager.onPrimaryAccountCleared(mAccount);
return null; return null;
}) })
.when(mPrimaryAccountMutator) .when(mIdentityMutator)
.clearPrimaryAccount(anyInt(), anyInt(), anyInt()); .clearPrimaryAccount(anyInt(), anyInt(), anyInt());
mSigninManager.signOut(SignoutReason.SIGNOUT_TEST); mSigninManager.signOut(SignoutReason.SIGNOUT_TEST);
...@@ -221,8 +221,8 @@ public class SigninManagerTest { ...@@ -221,8 +221,8 @@ public class SigninManagerTest {
doReturn(account) doReturn(account)
.when(mIdentityManager) .when(mIdentityManager)
.findExtendedAccountInfoForAccountWithRefreshTokenByEmailAddress(any()); .findExtendedAccountInfoForAccountWithRefreshTokenByEmailAddress(any());
doReturn(true).when(mPrimaryAccountMutator).setPrimaryAccount(any()); doReturn(true).when(mIdentityMutator).setPrimaryAccount(any());
doNothing().when(mNativeMock).logInSignedInUser(anyLong()); doNothing().when(mIdentityMutator).reloadAccountsFromSystem();
mSigninManager.onFirstRunCheckDone(); // Allow sign-in. mSigninManager.onFirstRunCheckDone(); // Allow sign-in.
......
...@@ -165,13 +165,6 @@ void SigninManagerAndroid::ClearLastSignedInUser(JNIEnv* env) { ...@@ -165,13 +165,6 @@ void SigninManagerAndroid::ClearLastSignedInUser(JNIEnv* env) {
ClearLastSignedInUserForProfile(profile_); ClearLastSignedInUserForProfile(profile_);
} }
void SigninManagerAndroid::LogInSignedInUser(JNIEnv* env) {
// With the account consistency enabled let the account Reconcilor handles
// everything.
// TODO(https://crbug.com/930094): Determine the right long-term flow here.
identity_manager_->LegacyReloadAccountsFromSystem();
}
bool SigninManagerAndroid::IsSigninAllowed() const { bool SigninManagerAndroid::IsSigninAllowed() const {
return signin_allowed_.GetValue(); return signin_allowed_.GetValue();
} }
......
...@@ -45,8 +45,6 @@ class SigninManagerAndroid : public KeyedService { ...@@ -45,8 +45,6 @@ class SigninManagerAndroid : public KeyedService {
base::android::ScopedJavaLocalRef<jobject> GetJavaObject(); base::android::ScopedJavaLocalRef<jobject> GetJavaObject();
void LogInSignedInUser(JNIEnv* env);
void ClearLastSignedInUser(JNIEnv* env); void ClearLastSignedInUser(JNIEnv* env);
jboolean IsSigninAllowedByPolicy(JNIEnv* env) const; jboolean IsSigninAllowedByPolicy(JNIEnv* env) const;
......
...@@ -6,6 +6,6 @@ generate_jni("jni_headers") { ...@@ -6,6 +6,6 @@ generate_jni("jni_headers") {
"//components/signin/public/identity_manager/android/java/src/org/chromium/components/signin/identitymanager/CoreAccountId.java", "//components/signin/public/identity_manager/android/java/src/org/chromium/components/signin/identitymanager/CoreAccountId.java",
"//components/signin/public/identity_manager/android/java/src/org/chromium/components/signin/identitymanager/CoreAccountInfo.java", "//components/signin/public/identity_manager/android/java/src/org/chromium/components/signin/identitymanager/CoreAccountInfo.java",
"//components/signin/public/identity_manager/android/java/src/org/chromium/components/signin/identitymanager/IdentityManager.java", "//components/signin/public/identity_manager/android/java/src/org/chromium/components/signin/identitymanager/IdentityManager.java",
"//components/signin/public/identity_manager/android/java/src/org/chromium/components/signin/identitymanager/PrimaryAccountMutator.java", "//components/signin/public/identity_manager/android/java/src/org/chromium/components/signin/identitymanager/IdentityMutator.java",
] ]
} }
...@@ -18,7 +18,7 @@ android_library("java") { ...@@ -18,7 +18,7 @@ android_library("java") {
"java/src/org/chromium/components/signin/identitymanager/CoreAccountId.java", "java/src/org/chromium/components/signin/identitymanager/CoreAccountId.java",
"java/src/org/chromium/components/signin/identitymanager/CoreAccountInfo.java", "java/src/org/chromium/components/signin/identitymanager/CoreAccountInfo.java",
"java/src/org/chromium/components/signin/identitymanager/IdentityManager.java", "java/src/org/chromium/components/signin/identitymanager/IdentityManager.java",
"java/src/org/chromium/components/signin/identitymanager/PrimaryAccountMutator.java", "java/src/org/chromium/components/signin/identitymanager/IdentityMutator.java",
] ]
annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ] annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
......
...@@ -37,27 +37,26 @@ public class IdentityManager { ...@@ -37,27 +37,26 @@ public class IdentityManager {
} }
private long mNativeIdentityManager; private long mNativeIdentityManager;
private PrimaryAccountMutator mPrimaryAccountMutator; private IdentityMutator mIdentityMutator;
private final ObserverList<Observer> mObservers = new ObserverList<>(); private final ObserverList<Observer> mObservers = new ObserverList<>();
/** /**
* Called by native to create an instance of IdentityManager. * Called by native to create an instance of IdentityManager.
* @param primaryAccountMutator can be null if native's IdentityManager received a null * @param identityMutator can be null if native's IdentityManager received a null
* PrimaryAccountMutator, this happens in tests. * IdentityMutator, this happens in tests.
*/ */
@CalledByNative @CalledByNative
static private IdentityManager create( static private IdentityManager create(
long nativeIdentityManager, @Nullable PrimaryAccountMutator primaryAccountMutator) { long nativeIdentityManager, @Nullable IdentityMutator identityMutator) {
assert nativeIdentityManager != 0; assert nativeIdentityManager != 0;
return new IdentityManager(nativeIdentityManager, primaryAccountMutator); return new IdentityManager(nativeIdentityManager, identityMutator);
} }
@VisibleForTesting @VisibleForTesting
public IdentityManager( public IdentityManager(long nativeIdentityManager, IdentityMutator identityMutator) {
long nativeIdentityManager, PrimaryAccountMutator primaryAccountMutator) {
mNativeIdentityManager = nativeIdentityManager; mNativeIdentityManager = nativeIdentityManager;
mPrimaryAccountMutator = primaryAccountMutator; mIdentityMutator = identityMutator;
} }
/** /**
...@@ -125,8 +124,8 @@ public class IdentityManager { ...@@ -125,8 +124,8 @@ public class IdentityManager {
* Returns pointer to the object used to change the signed-in state of the * Returns pointer to the object used to change the signed-in state of the
* primary account. * primary account.
*/ */
public PrimaryAccountMutator getPrimaryAccountMutator() { public IdentityMutator getIdentityMutator() {
return mPrimaryAccountMutator; return mIdentityMutator;
} }
@NativeMethods @NativeMethods
......
...@@ -10,18 +10,21 @@ import org.chromium.components.signin.metrics.SignoutDelete; ...@@ -10,18 +10,21 @@ import org.chromium.components.signin.metrics.SignoutDelete;
import org.chromium.components.signin.metrics.SignoutReason; import org.chromium.components.signin.metrics.SignoutReason;
/** /**
* PrimaryAccountMutator is the interface to set and clear the primary account (see IdentityManager * IdentityMutator is the write interface of IdentityManager, see identity_manager.h and
* for more information). * primary_account_mutator.h for more information.
*/ */
public class PrimaryAccountMutator { public class IdentityMutator {
private static final String TAG = "PrimaryAccountMuta"; private static final String TAG = "IdentityMutator";
private final long mNativePrimaryAccountMutator; private final long mNativePrimaryAccountMutator;
private final long mNativeIdentityManager;
@CalledByNative @CalledByNative
private PrimaryAccountMutator(long nativePrimaryAccountMutator) { private IdentityMutator(long nativePrimaryAccountMutator, long nativeIdentityManager) {
assert nativePrimaryAccountMutator != 0; assert nativePrimaryAccountMutator != 0;
assert nativeIdentityManager != 0;
mNativePrimaryAccountMutator = nativePrimaryAccountMutator; mNativePrimaryAccountMutator = nativePrimaryAccountMutator;
mNativeIdentityManager = nativeIdentityManager;
} }
/** /**
...@@ -33,8 +36,7 @@ public class PrimaryAccountMutator { ...@@ -33,8 +36,7 @@ public class PrimaryAccountMutator {
* - there is not already a primary account set. * - there is not already a primary account set.
*/ */
public boolean setPrimaryAccount(CoreAccountId accountId) { public boolean setPrimaryAccount(CoreAccountId accountId) {
return PrimaryAccountMutatorJni.get().setPrimaryAccount( return IdentityMutatorJni.get().setPrimaryAccount(mNativePrimaryAccountMutator, accountId);
mNativePrimaryAccountMutator, accountId);
} }
/** /**
...@@ -43,15 +45,24 @@ public class PrimaryAccountMutator { ...@@ -43,15 +45,24 @@ public class PrimaryAccountMutator {
*/ */
public boolean clearPrimaryAccount(@ClearAccountsAction int action, public boolean clearPrimaryAccount(@ClearAccountsAction int action,
@SignoutReason int sourceMetric, @SignoutDelete int deleteMetric) { @SignoutReason int sourceMetric, @SignoutDelete int deleteMetric) {
return PrimaryAccountMutatorJni.get().clearPrimaryAccount( return IdentityMutatorJni.get().clearPrimaryAccount(
mNativePrimaryAccountMutator, action, sourceMetric, deleteMetric); mNativePrimaryAccountMutator, action, sourceMetric, deleteMetric);
} }
/**
* Reloads the accounts in the token service from the system accounts. This API calls
* ProfileOAuth2TokenServiceDelegate::ReloadAccountsFromSystem.
*/
public void reloadAccountsFromSystem() {
IdentityMutatorJni.get().reloadAccountsFromSystem(mNativeIdentityManager);
}
@NativeMethods @NativeMethods
interface Natives { interface Natives {
public boolean setPrimaryAccount(long nativePrimaryAccountMutator, CoreAccountId accountId); public boolean setPrimaryAccount(long nativePrimaryAccountMutator, CoreAccountId accountId);
public boolean clearPrimaryAccount(long nativePrimaryAccountMutator, public boolean clearPrimaryAccount(long nativePrimaryAccountMutator,
@ClearAccountsAction int action, @SignoutReason int sourceMetric, @ClearAccountsAction int action, @SignoutReason int sourceMetric,
@SignoutDelete int deleteMetric); @SignoutDelete int deleteMetric);
public void reloadAccountsFromSystem(long nativeIdentityManager);
} }
} }
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
#include "base/android/jni_string.h" #include "base/android/jni_string.h"
#include "components/signin/internal/identity_manager/android/jni_headers/IdentityManager_jni.h" #include "components/signin/internal/identity_manager/android/jni_headers/IdentityManager_jni.h"
#include "components/signin/internal/identity_manager/android/jni_headers/IdentityMutator_jni.h"
#include "components/signin/internal/identity_manager/oauth2_token_service_delegate_android.h" #include "components/signin/internal/identity_manager/oauth2_token_service_delegate_android.h"
#elif !defined(OS_IOS) #elif !defined(OS_IOS)
#include "components/signin/internal/identity_manager/mutable_profile_oauth2_token_service_delegate.h" #include "components/signin/internal/identity_manager/mutable_profile_oauth2_token_service_delegate.h"
...@@ -105,12 +106,17 @@ IdentityManager::IdentityManager( ...@@ -105,12 +106,17 @@ IdentityManager::IdentityManager(
UpdateUnconsentedPrimaryAccount(); UpdateUnconsentedPrimaryAccount();
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
base::android::ScopedJavaLocalRef<jobject> java_primary_account_mutator = base::android::ScopedJavaLocalRef<jobject> java_identity_mutator =
primary_account_mutator_ ? primary_account_mutator_->GetJavaObject() primary_account_mutator_
: nullptr; ? Java_IdentityMutator_Constructor(
base::android::AttachCurrentThread(),
reinterpret_cast<intptr_t>(primary_account_mutator_.get()),
reinterpret_cast<intptr_t>(this))
: nullptr;
java_identity_manager_ = Java_IdentityManager_create( java_identity_manager_ = Java_IdentityManager_create(
base::android::AttachCurrentThread(), reinterpret_cast<intptr_t>(this), base::android::AttachCurrentThread(), reinterpret_cast<intptr_t>(this),
java_primary_account_mutator); java_identity_mutator);
#endif #endif
} }
...@@ -448,6 +454,10 @@ base::android::ScopedJavaLocalRef<jobject> IdentityManager:: ...@@ -448,6 +454,10 @@ base::android::ScopedJavaLocalRef<jobject> IdentityManager::
return nullptr; return nullptr;
return ConvertToJavaCoreAccountInfo(env, account_info.value()); return ConvertToJavaCoreAccountInfo(env, account_info.value());
} }
void IdentityManager::ReloadAccountsFromSystem(JNIEnv* env) {
LegacyReloadAccountsFromSystem();
}
#endif #endif
PrimaryAccountManager* IdentityManager::GetPrimaryAccountManager() { PrimaryAccountManager* IdentityManager::GetPrimaryAccountManager() {
......
...@@ -464,6 +464,8 @@ class IdentityManager : public KeyedService, ...@@ -464,6 +464,8 @@ class IdentityManager : public KeyedService,
FindExtendedAccountInfoForAccountWithRefreshTokenByEmailAddress( FindExtendedAccountInfoForAccountWithRefreshTokenByEmailAddress(
JNIEnv* env, JNIEnv* env,
const base::android::JavaParamRef<jstring>& j_email) const; const base::android::JavaParamRef<jstring>& j_email) const;
void ReloadAccountsFromSystem(JNIEnv* env);
#endif #endif
private: private:
......
...@@ -8,17 +8,11 @@ ...@@ -8,17 +8,11 @@
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
#include "base/android/jni_string.h" #include "base/android/jni_string.h"
#include "components/signin/internal/identity_manager/android/jni_headers/PrimaryAccountMutator_jni.h"
#endif #endif
namespace signin { namespace signin {
PrimaryAccountMutator::PrimaryAccountMutator() { PrimaryAccountMutator::PrimaryAccountMutator() {}
#if defined(OS_ANDROID)
java_primary_account_mutator_ = Java_PrimaryAccountMutator_Constructor(
base::android::AttachCurrentThread(), reinterpret_cast<intptr_t>(this));
#endif
}
PrimaryAccountMutator::~PrimaryAccountMutator() {} PrimaryAccountMutator::~PrimaryAccountMutator() {}
...@@ -38,13 +32,6 @@ bool PrimaryAccountMutator::ClearPrimaryAccount(JNIEnv* env, ...@@ -38,13 +32,6 @@ bool PrimaryAccountMutator::ClearPrimaryAccount(JNIEnv* env,
static_cast<signin_metrics::ProfileSignout>(source_metric), static_cast<signin_metrics::ProfileSignout>(source_metric),
static_cast<signin_metrics::SignoutDelete>(delete_metric)); static_cast<signin_metrics::SignoutDelete>(delete_metric));
} }
base::android::ScopedJavaLocalRef<jobject>
PrimaryAccountMutator::GetJavaObject() {
DCHECK(java_primary_account_mutator_);
return base::android::ScopedJavaLocalRef<jobject>(
java_primary_account_mutator_);
}
#endif #endif
} // namespace signin } // namespace signin
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment