From 72f2b6e50779b849f3aa2827a6835eed0f2730d3 Mon Sep 17 00:00:00 2001 From: Artem Samoilenko Date: Fri, 3 Jan 2025 15:24:05 -0500 Subject: [PATCH] [Android] Add JniType for IdentityManager Chromium change: https://chromium.googlesource.com/chromium/src/+/bc4938e69e604e0029b414bf1e247099272efe50 [Signin][Android] Add JniType for IdentityManager Adds support for JniType annotations for IdentityManager and migrates some of the JNI methods that are using this class. Also, leverages the existing JniType annotations for Profile to simplify IdentityServicesProvider. Bug: 348373729 --- .../chromium/chrome/browser/signin/BraveSigninManager.java | 5 +++-- .../chrome/browser/signin/android/signin_manager_android.cc | 3 +++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/android/java/org/chromium/chrome/browser/signin/BraveSigninManager.java b/android/java/org/chromium/chrome/browser/signin/BraveSigninManager.java index 6d636dd2fa5..f5a69bc3fb9 100644 --- a/android/java/org/chromium/chrome/browser/signin/BraveSigninManager.java +++ b/android/java/org/chromium/chrome/browser/signin/BraveSigninManager.java @@ -11,6 +11,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import org.jni_zero.CalledByNative; +import org.jni_zero.JniType; import org.chromium.base.Callback; import org.chromium.chrome.browser.profiles.Profile; @@ -96,8 +97,8 @@ public class BraveSigninManager implements SigninManager { @CalledByNative static SigninManager create( long nativeSigninManagerAndroid, - Profile profile, - IdentityManager identityManager, + @JniType("Profile*") Profile profile, + @JniType("signin::IdentityManager*") IdentityManager identityManager, IdentityMutator identityMutator, SyncService syncService) { AccountInfoServiceProvider.init(identityManager); diff --git a/chromium_src/chrome/browser/signin/android/signin_manager_android.cc b/chromium_src/chrome/browser/signin/android/signin_manager_android.cc index 2573e6dae17..1ab306d30cc 100644 --- a/chromium_src/chrome/browser/signin/android/signin_manager_android.cc +++ b/chromium_src/chrome/browser/signin/android/signin_manager_android.cc @@ -7,6 +7,9 @@ #include "base/android/callback_android.h" #include "base/android/jni_string.h" +#include "components/signin/public/identity_manager/identity_manager.h" + +// Must come after all headers that specialize FromJniType() / ToJniType(). #include "brave/build/android/jni_headers/BraveSigninManager_jni.h" #include "chrome/android/chrome_jni_headers/SigninManagerImpl_jni.h"