diff --git a/android/java/apk_for_test.flags b/android/java/apk_for_test.flags index f857d515e69..ee402dadc4c 100644 --- a/android/java/apk_for_test.flags +++ b/android/java/apk_for_test.flags @@ -940,6 +940,7 @@ *** mMinimizationManagerHolder; *** getAppHeaderCoordinator(...); *** getBrowserServicesThemeColorProvider(...); + *** getClientPackageNameProvider(...); public (...); } diff --git a/android/java/org/chromium/chrome/browser/customtabs/FullScreenCustomTabActivity.java b/android/java/org/chromium/chrome/browser/customtabs/FullScreenCustomTabActivity.java index e15d02abb23..95ea807a427 100644 --- a/android/java/org/chromium/chrome/browser/customtabs/FullScreenCustomTabActivity.java +++ b/android/java/org/chromium/chrome/browser/customtabs/FullScreenCustomTabActivity.java @@ -30,6 +30,7 @@ import androidx.core.content.ContextCompat; import org.chromium.base.IntentUtils; import org.chromium.chrome.R; import org.chromium.chrome.browser.browserservices.intents.BrowserServicesIntentDataProvider; +import org.chromium.chrome.browser.browserservices.ui.controller.trustedwebactivity.ClientPackageNameProvider; import org.chromium.chrome.browser.customtabs.content.CustomTabActivityTabController; import org.chromium.chrome.browser.customtabs.features.minimizedcustomtab.CustomTabMinimizationManagerHolder; import org.chromium.chrome.browser.customtabs.features.toolbar.BrowserServicesThemeColorProvider; @@ -233,7 +234,8 @@ public class FullScreenCustomTabActivity extends CustomTabActivity { () -> getCustomTabActivityNavigationController().openCurrentUrlInBrowser(), getEdgeToEdgeManager(), getAppHeaderCoordinator(), - this::getBrowserServicesThemeColorProvider); + this::getBrowserServicesThemeColorProvider, + getClientPackageNameProvider().get()); return mBaseCustomTabRootUiCoordinator; } @@ -246,4 +248,9 @@ public class FullScreenCustomTabActivity extends CustomTabActivity { assert false : "This methos should be overridden via bytecode manipulation!"; return null; } + + private ClientPackageNameProvider getClientPackageNameProvider() { + assert false : "This method should be overridden via bytecode manipulation!"; + return null; + } } diff --git a/android/java/org/chromium/chrome/browser/customtabs/FullScreenCustomTabRootUiCoordinator.java b/android/java/org/chromium/chrome/browser/customtabs/FullScreenCustomTabRootUiCoordinator.java index f92d9fa271b..9270b2c6109 100644 --- a/android/java/org/chromium/chrome/browser/customtabs/FullScreenCustomTabRootUiCoordinator.java +++ b/android/java/org/chromium/chrome/browser/customtabs/FullScreenCustomTabRootUiCoordinator.java @@ -94,7 +94,8 @@ public class FullScreenCustomTabRootUiCoordinator extends BaseCustomTabRootUiCoo @NonNull Runnable openInBrowserRunnable, @NonNull EdgeToEdgeManager edgeToEdgeManager, @Nullable DesktopWindowStateManager desktopWindowStateManager, - @Nullable Supplier webAppThemeColorProvider) { + @Nullable Supplier webAppThemeColorProvider, + @Nullable String clientPackageName) { super( activity, shareDelegateSupplier, @@ -135,7 +136,8 @@ public class FullScreenCustomTabRootUiCoordinator extends BaseCustomTabRootUiCoo openInBrowserRunnable, edgeToEdgeManager, desktopWindowStateManager, - webAppThemeColorProvider); + webAppThemeColorProvider, + clientPackageName); } @Override diff --git a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java index b9310ed183c..1472a6900b8 100644 --- a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java +++ b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java @@ -62,6 +62,7 @@ import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider import org.chromium.chrome.browser.browser_controls.BrowserStateBrowserControlsVisibilityDelegate; import org.chromium.chrome.browser.browser_controls.TopControlsStacker; import org.chromium.chrome.browser.browserservices.intents.BrowserServicesIntentDataProvider; +import org.chromium.chrome.browser.browserservices.ui.controller.trustedwebactivity.ClientPackageNameProvider; import org.chromium.chrome.browser.compositor.CompositorViewHolder; import org.chromium.chrome.browser.compositor.layouts.LayoutRenderHost; import org.chromium.chrome.browser.compositor.layouts.LayoutUpdateHost; @@ -1019,6 +1020,12 @@ public class BytecodeTest { "getBrowserServicesThemeColorProvider", MethodModifier.REGULAR, BrowserServicesThemeColorProvider.class)); + Assert.assertTrue( + methodExists( + "org/chromium/chrome/browser/customtabs/BaseCustomTabActivity", + "getClientPackageNameProvider", + MethodModifier.REGULAR, + ClientPackageNameProvider.class)); Assert.assertTrue( methodExists( "org/chromium/chrome/browser/ChromeTabbedActivity", diff --git a/build/android/bytecode/java/org/brave/bytecode/BraveBaseCustomTabActivityClassAdapter.java b/build/android/bytecode/java/org/brave/bytecode/BraveBaseCustomTabActivityClassAdapter.java index b82b85c00d0..17db8a906bc 100644 --- a/build/android/bytecode/java/org/brave/bytecode/BraveBaseCustomTabActivityClassAdapter.java +++ b/build/android/bytecode/java/org/brave/bytecode/BraveBaseCustomTabActivityClassAdapter.java @@ -36,5 +36,8 @@ public class BraveBaseCustomTabActivityClassAdapter extends BraveClassVisitor { deleteMethod(sFullScreenCustomTabActivityClassName, "getBrowserServicesThemeColorProvider"); makePublicMethod(sBaseCustomTabActivityClassName, "getBrowserServicesThemeColorProvider"); + + deleteMethod(sFullScreenCustomTabActivityClassName, "getClientPackageNameProvider"); + makePublicMethod(sBaseCustomTabActivityClassName, "getClientPackageNameProvider"); } }