From 579440982795defcf74cc83f1bf4e77c79e5a53e Mon Sep 17 00:00:00 2001 From: AlexeyBarabash Date: Fri, 13 Mar 2026 12:41:31 +0200 Subject: [PATCH] [cr148][Android] FragmentDependencyProvider.ctor windowAndroidSupplierarg changed From `MonotonicObservableSupplier` to `OneshotSupplier` Chromim change: https://source.chromium.org/chromium/chromium/src/+/1886db4b40ccf9dfad5270be7861fefbb44c5ed3 commit 1886db4b40ccf9dfad5270be7861fefbb44c5ed3 Author: Anton Goncharenko Date: Tue Mar 10 17:49:16 2026 -0700 [Signin][Android] SafetyHub: Wait for UI dependencies before initializing sign-in coordinator. For consistency with other fragments' provided dependencies, pass Suppliers to SafetyHubModuleDelegateImpl rather than assuming the Suppliers have already been initialized. Able to repro a NullPointerException (WindowAndroid not being initialized) during Activity recreation when killing Chrome during the "add new account" sign-in flow (see repro steps in crbug.com/479179162). Bug: 479179162 Change-Id: I8a37a6a532cf5d4650849ec86151e1ee9c9ee0f2 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7642808 Reviewed-by: Menghan Yang Commit-Queue: Anton Goncharenko Reviewed-by: Zaina Al-Mashni Reviewed-by: Jinsuk Kim Cr-Commit-Position: refs/heads/main@{#1597438} --- .../browser/settings/BraveFragmentDependencyProvider.java | 2 +- android/javatests/org/chromium/chrome/browser/BytecodeTest.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/android/java/org/chromium/chrome/browser/settings/BraveFragmentDependencyProvider.java b/android/java/org/chromium/chrome/browser/settings/BraveFragmentDependencyProvider.java index 73db4f92472..e48fac977f9 100644 --- a/android/java/org/chromium/chrome/browser/settings/BraveFragmentDependencyProvider.java +++ b/android/java/org/chromium/chrome/browser/settings/BraveFragmentDependencyProvider.java @@ -34,7 +34,7 @@ public class BraveFragmentDependencyProvider extends FragmentDependencyProvider public BraveFragmentDependencyProvider( Activity activity, Profile profile, - MonotonicObservableSupplier windowAndroidSupplier, + OneshotSupplier windowAndroidSupplier, ActivityResultTracker activityResultTracker, OneshotSupplier snackbarManagerSupplier, OneshotSupplier bottomSheetControllerSupplier, diff --git a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java index 635445a27d2..5edd4c116f6 100644 --- a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java +++ b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java @@ -2053,7 +2053,7 @@ public class BytecodeTest { "org/chromium/chrome/browser/settings/BraveFragmentDependencyProvider", Activity.class, Profile.class, - MonotonicObservableSupplier.class, + OneshotSupplier.class, ActivityResultTracker.class, OneshotSupplier.class, OneshotSupplier.class,