diff --git a/android/java/org/chromium/chrome/browser/homepage/BraveHomepageManager.java b/android/java/org/chromium/chrome/browser/homepage/BraveHomepageManager.java index 11d7cd02a99..cce044f3307 100644 --- a/android/java/org/chromium/chrome/browser/homepage/BraveHomepageManager.java +++ b/android/java/org/chromium/chrome/browser/homepage/BraveHomepageManager.java @@ -8,8 +8,9 @@ import org.chromium.chrome.browser.partnercustomizations.CloseBraveManager; // see org.brave.bytecode.BraveHomepageManagerClassAdapter -public class BraveHomepageManager { - public static boolean shouldCloseAppWithZeroTabs() { +public class BraveHomepageManager extends HomepageManager { + @Override + public boolean shouldCloseAppWithZeroTabs() { return CloseBraveManager.shouldCloseAppWithZeroTabs(); } } diff --git a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java index 33f22f23821..fdba549110f 100644 --- a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java +++ b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java @@ -369,7 +369,7 @@ public void testMethodsExist() throws Exception { methodExists( "org/chromium/chrome/browser/homepage/HomepageManager", "shouldCloseAppWithZeroTabs", - MethodModifier.STATIC, + MethodModifier.REGULAR, false, null)); diff --git a/build/android/bytecode/java/org/brave/bytecode/BraveHomepageManagerClassAdapter.java b/build/android/bytecode/java/org/brave/bytecode/BraveHomepageManagerClassAdapter.java index 2ae9c6d280b..38f129f77cb 100644 --- a/build/android/bytecode/java/org/brave/bytecode/BraveHomepageManagerClassAdapter.java +++ b/build/android/bytecode/java/org/brave/bytecode/BraveHomepageManagerClassAdapter.java @@ -8,11 +8,14 @@ import org.objectweb.asm.ClassVisitor; public class BraveHomepageManagerClassAdapter extends BraveClassVisitor { - static String sHomepageManagerClassName = "org/chromium/chrome/browser/homepage/HomepageManager"; - static String sBraveHomepageManagerClassName = "org/chromium/chrome/browser/homepage/BraveHomepageManager"; + static String sHomepageManagerClassName = + "org/chromium/chrome/browser/homepage/HomepageManager"; + static String sBraveHomepageManagerClassName = + "org/chromium/chrome/browser/homepage/BraveHomepageManager"; public BraveHomepageManagerClassAdapter(ClassVisitor visitor) { super(visitor); - changeMethodOwner(sHomepageManagerClassName, "shouldCloseAppWithZeroTabs", sBraveHomepageManagerClassName); + + redirectConstructor(sHomepageManagerClassName, sBraveHomepageManagerClassName); } } diff --git a/patches/chrome-android-java-src-org-chromium-chrome-browser-homepage-HomepageManager.java.patch b/patches/chrome-android-java-src-org-chromium-chrome-browser-homepage-HomepageManager.java.patch new file mode 100644 index 00000000000..790a946c32c --- /dev/null +++ b/patches/chrome-android-java-src-org-chromium-chrome-browser-homepage-HomepageManager.java.patch @@ -0,0 +1,13 @@ +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java +index de101add328a69dd406b9ce34881f76feb21ae23..c58148164d7f7dc931154cfd55d55ba053a4becd 100644 +--- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java +@@ -50,7 +50,7 @@ public class HomepageManager + private final ObserverList mHomepageStateListeners; + private SettingsLauncher mSettingsLauncher; + +- private HomepageManager() { ++ HomepageManager() { + mSharedPreferencesManager = ChromeSharedPreferences.getInstance(); + mHomepageStateListeners = new ObserverList<>(); + HomepagePolicyManager.getInstance().addListener(this);