diff --git a/android/java/apk_for_test.flags b/android/java/apk_for_test.flags index 8cb7dbbfaf8..e5121a5dd2c 100644 --- a/android/java/apk_for_test.flags +++ b/android/java/apk_for_test.flags @@ -358,7 +358,11 @@ -keep class org.chromium.chrome.browser.search_engines.settings.BraveBaseSearchEngineAdapter --keep class org.chromium.chrome.browser.ChromeTabbedActivity +-keep class org.chromium.components.browser_ui.util.motion.MotionEventInfo + +-keep class org.chromium.chrome.browser.ChromeTabbedActivity { + boolean onMenuOrKeyboardAction(int, boolean, org.chromium.components.browser_ui.util.motion.MotionEventInfo); +} -keep class org.chromium.chrome.browser.app.BraveActivity diff --git a/android/java/org/chromium/chrome/browser/app/BraveActivity.java b/android/java/org/chromium/chrome/browser/app/BraveActivity.java index 28179ef755e..b6d0951c606 100644 --- a/android/java/org/chromium/chrome/browser/app/BraveActivity.java +++ b/android/java/org/chromium/chrome/browser/app/BraveActivity.java @@ -209,6 +209,7 @@ import org.chromium.chrome.browser.vpn.utils.BraveVpnUtils; import org.chromium.chrome.browser.vpn.wireguard.WireguardConfigUtils; import org.chromium.chrome.browser.widget.quickactionsearchandbookmark.promo.SearchWidgetPromoPanel; import org.chromium.components.browser_ui.settings.SettingsNavigation; +import org.chromium.components.browser_ui.util.motion.MotionEventInfo; import org.chromium.components.embedder_support.util.UrlConstants; import org.chromium.components.embedder_support.util.UrlUtilities; import org.chromium.components.prefs.PrefChangeRegistrar; @@ -406,7 +407,8 @@ public abstract class BraveActivity extends ChromeActivity } @Override - public boolean onMenuOrKeyboardAction(int id, boolean fromMenu) { + public boolean onMenuOrKeyboardAction( + int id, boolean fromMenu, @Nullable MotionEventInfo triggeringMotion) { final Tab currentTab = getActivityTab(); // Handle items replaced by Brave. if (id == R.id.info_menu_id && currentTab != null) { @@ -417,7 +419,7 @@ public abstract class BraveActivity extends ChromeActivity setComesFromNewTab(true); } - if (super.onMenuOrKeyboardAction(id, fromMenu)) { + if (super.onMenuOrKeyboardAction(id, fromMenu, triggeringMotion)) { return true; } @@ -748,7 +750,8 @@ public abstract class BraveActivity extends ChromeActivity } @Override - public boolean onOptionsItemSelected(int itemId, @Nullable Bundle menuItemData) { + public boolean onOptionsItemSelected( + int itemId, @Nullable Bundle menuItemData, @Nullable MotionEventInfo triggeringMotion) { if (itemId == R.id.new_tab_menu_id) { LayoutManagerChrome layoutManager = (LayoutManagerChrome) @@ -765,7 +768,7 @@ public abstract class BraveActivity extends ChromeActivity ((BraveToolbarManager) getToolbarManager()).openHomepage(); } } - return super.onOptionsItemSelected(itemId, menuItemData); + return super.onOptionsItemSelected(itemId, menuItemData, triggeringMotion); } @Override diff --git a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java index 08467db6697..5aa0fe9c78d 100644 --- a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java +++ b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java @@ -159,6 +159,7 @@ import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory; import org.chromium.components.browser_ui.site_settings.Website; import org.chromium.components.browser_ui.site_settings.WebsiteAddress; import org.chromium.components.browser_ui.site_settings.WebsitePermissionsFetcher.WebsitePermissionsType; +import org.chromium.components.browser_ui.util.motion.MotionEventInfo; import org.chromium.components.browser_ui.widget.MenuOrKeyboardActionController; import org.chromium.components.browser_ui.widget.RadioButtonWithDescription; import org.chromium.components.browser_ui.widget.RadioButtonWithEditText; @@ -978,6 +979,15 @@ public class BytecodeTest { "getBrowserServicesThemeColorProvider", MethodModifier.REGULAR, BrowserServicesThemeColorProvider.class)); + Assert.assertTrue( + methodExists( + "org/chromium/chrome/browser/ChromeTabbedActivity", + "onMenuOrKeyboardAction", + MethodModifier.REGULAR, + boolean.class, + int.class, + boolean.class, + MotionEventInfo.class)); } @Test