diff --git a/android/brave_java_sources.gni b/android/brave_java_sources.gni index cf694b0e17ee..6731b71318b4 100644 --- a/android/brave_java_sources.gni +++ b/android/brave_java_sources.gni @@ -16,7 +16,6 @@ brave_java_sources = [ "../../brave/android/java/org/chromium/chrome/browser/BraveAppHooks.java", "../../brave/android/java/org/chromium/chrome/browser/BraveApplicationImplBase.java", "../../brave/android/java/org/chromium/chrome/browser/BraveBadge.java", - "../../brave/android/java/org/chromium/chrome/browser/BraveFeatureList.java", "../../brave/android/java/org/chromium/chrome/browser/BraveHelper.java", "../../brave/android/java/org/chromium/chrome/browser/BraveIntentHandler.java", "../../brave/android/java/org/chromium/chrome/browser/BraveLaunchIntentDispatcher.java", @@ -415,6 +414,7 @@ brave_browser_ui_android_toolbar_sources = [ brave_java_base_sources = [ "//brave/android/java/org/chromium/base/BraveCommandLineInitUtil.java", + "//brave/android/java/org/chromium/base/BraveFeatureList.java", "//brave/android/java/org/chromium/base/BraveReflectionUtil.java", ] diff --git a/android/java/apk_for_test.flags b/android/java/apk_for_test.flags index edcc6ea38259..cf1076fdcd77 100644 --- a/android/java/apk_for_test.flags +++ b/android/java/apk_for_test.flags @@ -448,8 +448,17 @@ public (...); } +-keep class org.chromium.chrome.browser.omnibox.suggestions.AutocompleteCoordinator { + *** createViewProvider(...); +} + +-keep class org.chromium.chrome.browser.omnibox.suggestions.BraveAutocompleteCoordinator { + *** createViewProvider(...); +} + -keep class org.chromium.chrome.browser.omnibox.suggestions.AutocompleteMediator { *** mNativeInitialized; + *** mDropdownViewInfoListManager; public (...); } @@ -457,6 +466,27 @@ public (...); } +-keep class org.chromium.chrome.browser.omnibox.suggestions.DropdownItemViewInfoListBuilder { + *** mDropdownHeight; + *** mPriorityOrderedSuggestionProcessors; + public (...); + *** getVisibleSuggestionsCount(...); + *** getProcessorForSuggestion(...); +} + +-keep class org.chromium.chrome.browser.omnibox.suggestions.BraveDropdownItemViewInfoListBuilder { + public (...); +} + +-keep class org.chromium.chrome.browser.omnibox.suggestions.DropdownItemViewInfoListManager { + (...); + *** removeSuggestionsForGroup(...); +} + +-keep class org.chromium.chrome.browser.omnibox.suggestions.BraveDropdownItemViewInfoListManager { + (...); +} + -keep class org.chromium.chrome.browser.ui.default_browser_promo.BraveDefaultBrowserPromoUtils { *** prepareLaunchPromoIfNeeded(...); } diff --git a/android/java/org/chromium/chrome/browser/BraveFeatureList.java b/android/java/org/chromium/base/BraveFeatureList.java similarity index 92% rename from android/java/org/chromium/chrome/browser/BraveFeatureList.java rename to android/java/org/chromium/base/BraveFeatureList.java index e5bbd8baec7d..fded65749651 100644 --- a/android/java/org/chromium/chrome/browser/BraveFeatureList.java +++ b/android/java/org/chromium/base/BraveFeatureList.java @@ -3,7 +3,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ -package org.chromium.chrome.browser; +package org.chromium.base; import org.chromium.base.annotations.JNINamespace; import org.chromium.base.annotations.NativeMethods; @@ -19,6 +19,7 @@ public abstract class BraveFeatureList { public static final String ENABLE_TAB_GROUPS = "enable-tab-groups"; public static final String ENABLE_TAB_GRID = "enable-tab-grid-layout"; public static final String BRAVE_WALLET_SOLANA = "BraveWalletSolana"; + public static final String BRAVE_SEARCH_OMNIBOX_BANNER = "BraveSearchOmniboxBanner"; public static void enableFeature( String featureName, boolean enabled, boolean fallbackToDefault) { diff --git a/android/java/org/chromium/chrome/browser/BraveRewardsHelper.java b/android/java/org/chromium/chrome/browser/BraveRewardsHelper.java index 6d98676c034f..9dc54e4b5d7c 100644 --- a/android/java/org/chromium/chrome/browser/BraveRewardsHelper.java +++ b/android/java/org/chromium/chrome/browser/BraveRewardsHelper.java @@ -25,10 +25,10 @@ import androidx.annotation.Nullable; +import org.chromium.base.BraveFeatureList; import org.chromium.base.ContextUtils; import org.chromium.base.annotations.CalledByNative; import org.chromium.chrome.R; -import org.chromium.chrome.browser.BraveFeatureList; import org.chromium.chrome.browser.ChromeTabbedActivity; import org.chromium.chrome.browser.app.BraveActivity; import org.chromium.chrome.browser.flags.ChromeFeatureList; diff --git a/android/java/org/chromium/chrome/browser/BraveRewardsPanelPopup.java b/android/java/org/chromium/chrome/browser/BraveRewardsPanelPopup.java index 9644dacd1548..b8bbd7a9a985 100644 --- a/android/java/org/chromium/chrome/browser/BraveRewardsPanelPopup.java +++ b/android/java/org/chromium/chrome/browser/BraveRewardsPanelPopup.java @@ -62,13 +62,13 @@ import org.json.JSONException; +import org.chromium.base.BraveFeatureList; import org.chromium.base.BraveReflectionUtil; import org.chromium.base.ContextUtils; import org.chromium.base.Log; import org.chromium.base.SysUtils; import org.chromium.chrome.R; import org.chromium.chrome.browser.BraveAdsNativeHelper; -import org.chromium.chrome.browser.BraveFeatureList; import org.chromium.chrome.browser.BraveRewardsBalance; import org.chromium.chrome.browser.BraveRewardsExternalWallet; import org.chromium.chrome.browser.BraveRewardsExternalWallet.WalletStatus; diff --git a/android/java/org/chromium/chrome/browser/app/domain/CryptoModel.java b/android/java/org/chromium/chrome/browser/app/domain/CryptoModel.java index 9602940dd7df..04a67e4892c5 100644 --- a/android/java/org/chromium/chrome/browser/app/domain/CryptoModel.java +++ b/android/java/org/chromium/chrome/browser/app/domain/CryptoModel.java @@ -12,6 +12,7 @@ import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.Transformations; +import org.chromium.base.BraveFeatureList; import org.chromium.brave_wallet.mojom.AccountInfo; import org.chromium.brave_wallet.mojom.AssetRatioService; import org.chromium.brave_wallet.mojom.BlockchainRegistry; @@ -31,7 +32,6 @@ import org.chromium.brave_wallet.mojom.TransactionStatus; import org.chromium.brave_wallet.mojom.TxService; import org.chromium.chrome.R; -import org.chromium.chrome.browser.BraveFeatureList; import org.chromium.chrome.browser.crypto_wallet.activities.BraveWalletDAppsActivity; import org.chromium.chrome.browser.crypto_wallet.model.CryptoAccountTypeInfo; import org.chromium.chrome.browser.crypto_wallet.util.PendingTxHelper; diff --git a/android/java/org/chromium/chrome/browser/appmenu/BraveTabbedAppMenuPropertiesDelegate.java b/android/java/org/chromium/chrome/browser/appmenu/BraveTabbedAppMenuPropertiesDelegate.java index f25a99e6ee9d..bccc19190505 100644 --- a/android/java/org/chromium/chrome/browser/appmenu/BraveTabbedAppMenuPropertiesDelegate.java +++ b/android/java/org/chromium/chrome/browser/appmenu/BraveTabbedAppMenuPropertiesDelegate.java @@ -16,12 +16,12 @@ import androidx.annotation.Nullable; import androidx.appcompat.content.res.AppCompatResources; +import org.chromium.base.BraveFeatureList; import org.chromium.base.supplier.ObservableSupplier; import org.chromium.base.supplier.OneshotSupplier; import org.chromium.chrome.R; import org.chromium.chrome.browser.ActivityTabProvider; import org.chromium.chrome.browser.BraveConfig; -import org.chromium.chrome.browser.BraveFeatureList; import org.chromium.chrome.browser.app.appmenu.AppMenuIconRowFooter; import org.chromium.chrome.browser.bookmarks.BookmarkBridge; import org.chromium.chrome.browser.feed.webfeed.WebFeedBridge; diff --git a/android/java/org/chromium/chrome/browser/notifications/retention/RetentionNotificationPublisher.java b/android/java/org/chromium/chrome/browser/notifications/retention/RetentionNotificationPublisher.java index 457238ac4a24..29a75b3b7ff8 100644 --- a/android/java/org/chromium/chrome/browser/notifications/retention/RetentionNotificationPublisher.java +++ b/android/java/org/chromium/chrome/browser/notifications/retention/RetentionNotificationPublisher.java @@ -14,11 +14,11 @@ import android.net.Uri; import org.chromium.base.ApplicationStatus; +import org.chromium.base.BraveFeatureList; import org.chromium.base.Log; import org.chromium.base.ThreadUtils; import org.chromium.base.task.AsyncTask; import org.chromium.chrome.browser.BraveAdsNativeHelper; -import org.chromium.chrome.browser.BraveFeatureList; import org.chromium.chrome.browser.app.BraveActivity; import org.chromium.chrome.browser.brave_stats.BraveStatsUtil; import org.chromium.chrome.browser.flags.ChromeFeatureList; diff --git a/android/java/org/chromium/chrome/browser/ntp/BraveNewTabPageLayout.java b/android/java/org/chromium/chrome/browser/ntp/BraveNewTabPageLayout.java index 321a7baf2d42..c28308bec774 100644 --- a/android/java/org/chromium/chrome/browser/ntp/BraveNewTabPageLayout.java +++ b/android/java/org/chromium/chrome/browser/ntp/BraveNewTabPageLayout.java @@ -48,6 +48,7 @@ import com.bumptech.glide.Glide; import com.google.android.material.floatingactionbutton.FloatingActionButton; +import org.chromium.base.BraveFeatureList; import org.chromium.base.ContextUtils; import org.chromium.base.ThreadUtils; import org.chromium.base.supplier.Supplier; @@ -62,7 +63,6 @@ import org.chromium.brave_news.mojom.FeedPageItem; import org.chromium.chrome.R; import org.chromium.chrome.browser.BraveAdsNativeHelper; -import org.chromium.chrome.browser.BraveFeatureList; import org.chromium.chrome.browser.BraveRewardsHelper; import org.chromium.chrome.browser.app.BraveActivity; import org.chromium.chrome.browser.brave_news.BraveNewsControllerFactory; diff --git a/android/java/org/chromium/chrome/browser/ntp_background_images/NTPBackgroundImagesBridge.java b/android/java/org/chromium/chrome/browser/ntp_background_images/NTPBackgroundImagesBridge.java index f081f396867b..a1ae4d572ddd 100644 --- a/android/java/org/chromium/chrome/browser/ntp_background_images/NTPBackgroundImagesBridge.java +++ b/android/java/org/chromium/chrome/browser/ntp_background_images/NTPBackgroundImagesBridge.java @@ -7,11 +7,11 @@ import androidx.annotation.Nullable; +import org.chromium.base.BraveFeatureList; import org.chromium.base.ObserverList; import org.chromium.base.ThreadUtils; import org.chromium.base.annotations.CalledByNative; import org.chromium.base.annotations.NativeMethods; -import org.chromium.chrome.browser.BraveFeatureList; import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.ntp_background_images.model.BackgroundImage; import org.chromium.chrome.browser.ntp_background_images.model.ImageCredit; diff --git a/android/java/org/chromium/chrome/browser/ntp_background_images/util/NTPUtil.java b/android/java/org/chromium/chrome/browser/ntp_background_images/util/NTPUtil.java index a4182d616fb4..bffad6f39e3e 100644 --- a/android/java/org/chromium/chrome/browser/ntp_background_images/util/NTPUtil.java +++ b/android/java/org/chromium/chrome/browser/ntp_background_images/util/NTPUtil.java @@ -35,7 +35,6 @@ import org.chromium.base.Log; import org.chromium.chrome.R; import org.chromium.chrome.browser.BraveAdsNativeHelper; -import org.chromium.chrome.browser.BraveFeatureList; import org.chromium.chrome.browser.BraveRewardsHelper; import org.chromium.chrome.browser.BraveRewardsNativeWorker; import org.chromium.chrome.browser.app.BraveActivity; diff --git a/android/java/org/chromium/chrome/browser/onboarding/OnboardingPrefManager.java b/android/java/org/chromium/chrome/browser/onboarding/OnboardingPrefManager.java index 0403ab1b44d6..a53faafb38ef 100644 --- a/android/java/org/chromium/chrome/browser/onboarding/OnboardingPrefManager.java +++ b/android/java/org/chromium/chrome/browser/onboarding/OnboardingPrefManager.java @@ -16,7 +16,6 @@ import org.chromium.base.ContextUtils; import org.chromium.chrome.browser.BraveAdsNativeHelper; -import org.chromium.chrome.browser.BraveFeatureList; import org.chromium.chrome.browser.BraveRewardsPanelPopup; import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.notifications.BraveOnboardingNotification; diff --git a/android/java/org/chromium/chrome/browser/rewards/BraveRewardsPanel.java b/android/java/org/chromium/chrome/browser/rewards/BraveRewardsPanel.java index 01c62ae7cb8b..32fd269b9f1b 100644 --- a/android/java/org/chromium/chrome/browser/rewards/BraveRewardsPanel.java +++ b/android/java/org/chromium/chrome/browser/rewards/BraveRewardsPanel.java @@ -64,13 +64,13 @@ import org.json.JSONException; +import org.chromium.base.BraveFeatureList; import org.chromium.base.BraveReflectionUtil; import org.chromium.base.ContextUtils; import org.chromium.base.Log; import org.chromium.base.SysUtils; import org.chromium.chrome.R; import org.chromium.chrome.browser.BraveAdsNativeHelper; -import org.chromium.chrome.browser.BraveFeatureList; import org.chromium.chrome.browser.BraveRewardsBalance; import org.chromium.chrome.browser.BraveRewardsExternalWallet; import org.chromium.chrome.browser.BraveRewardsExternalWallet.WalletStatus; diff --git a/android/java/org/chromium/chrome/browser/settings/AppearancePreferences.java b/android/java/org/chromium/chrome/browser/settings/AppearancePreferences.java index 67a3339f66e5..cb2081d1ecb4 100644 --- a/android/java/org/chromium/chrome/browser/settings/AppearancePreferences.java +++ b/android/java/org/chromium/chrome/browser/settings/AppearancePreferences.java @@ -12,9 +12,9 @@ import androidx.preference.Preference; +import org.chromium.base.BraveFeatureList; import org.chromium.base.ContextUtils; import org.chromium.chrome.R; -import org.chromium.chrome.browser.BraveFeatureList; import org.chromium.chrome.browser.BraveRelaunchUtils; import org.chromium.chrome.browser.BraveRewardsNativeWorker; import org.chromium.chrome.browser.BraveRewardsObserver; diff --git a/android/java/org/chromium/chrome/browser/settings/BraveMainPreferencesBase.java b/android/java/org/chromium/chrome/browser/settings/BraveMainPreferencesBase.java index c6293f6386a7..eccc49517596 100644 --- a/android/java/org/chromium/chrome/browser/settings/BraveMainPreferencesBase.java +++ b/android/java/org/chromium/chrome/browser/settings/BraveMainPreferencesBase.java @@ -14,10 +14,10 @@ import androidx.preference.Preference; +import org.chromium.base.BraveFeatureList; import org.chromium.base.Log; import org.chromium.chrome.R; import org.chromium.chrome.browser.BraveConfig; -import org.chromium.chrome.browser.BraveFeatureList; import org.chromium.chrome.browser.BraveRelaunchUtils; import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.homepage.settings.BraveHomepageSettings; diff --git a/android/java/org/chromium/chrome/browser/settings/BravePreferenceFragment.java b/android/java/org/chromium/chrome/browser/settings/BravePreferenceFragment.java index 9d98eadf7b5c..704d97bb9179 100644 --- a/android/java/org/chromium/chrome/browser/settings/BravePreferenceFragment.java +++ b/android/java/org/chromium/chrome/browser/settings/BravePreferenceFragment.java @@ -6,19 +6,20 @@ package org.chromium.chrome.browser.settings; import android.content.Context; +import android.content.Intent; import android.content.pm.PackageManager; -import android.os.Bundle; -import androidx.preference.Preference; -import androidx.preference.PreferenceFragmentCompat; import android.os.Build; +import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; -import android.content.Intent; -import org.chromium.chrome.R; +import androidx.preference.Preference; +import androidx.preference.PreferenceFragmentCompat; + +import org.chromium.base.BraveFeatureList; import org.chromium.base.ContextUtils; -import org.chromium.chrome.browser.BraveFeatureList; +import org.chromium.chrome.R; import org.chromium.chrome.browser.ChromeTabbedActivity; import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.preferences.BravePrefServiceBridge; diff --git a/android/java/org/chromium/chrome/browser/toolbar/top/BraveToolbarLayoutImpl.java b/android/java/org/chromium/chrome/browser/toolbar/top/BraveToolbarLayoutImpl.java index 7f8f59a834c8..9c477c0e9c56 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/top/BraveToolbarLayoutImpl.java +++ b/android/java/org/chromium/chrome/browser/toolbar/top/BraveToolbarLayoutImpl.java @@ -50,6 +50,7 @@ import androidx.core.content.res.ResourcesCompat; import org.chromium.base.ApiCompatibilityUtils; +import org.chromium.base.BraveFeatureList; import org.chromium.base.BraveReflectionUtil; import org.chromium.base.ContextUtils; import org.chromium.base.MathUtils; @@ -59,7 +60,6 @@ import org.chromium.base.task.AsyncTask; import org.chromium.chrome.R; import org.chromium.chrome.browser.BraveAdsNativeHelper; -import org.chromium.chrome.browser.BraveFeatureList; import org.chromium.chrome.browser.BraveRelaunchUtils; import org.chromium.chrome.browser.BraveRewardsHelper; import org.chromium.chrome.browser.BraveRewardsNativeWorker; diff --git a/android/java/org/chromium/chrome/browser/upgrade/BraveUpgradeJobIntentServiceImpl.java b/android/java/org/chromium/chrome/browser/upgrade/BraveUpgradeJobIntentServiceImpl.java index 19ac98dd4f43..2ae000fe1b49 100644 --- a/android/java/org/chromium/chrome/browser/upgrade/BraveUpgradeJobIntentServiceImpl.java +++ b/android/java/org/chromium/chrome/browser/upgrade/BraveUpgradeJobIntentServiceImpl.java @@ -10,10 +10,10 @@ import androidx.annotation.NonNull; +import org.chromium.base.BraveFeatureList; import org.chromium.base.Callback; import org.chromium.base.Log; import org.chromium.base.task.PostTask; -import org.chromium.chrome.browser.BraveFeatureList; import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.preferences.BravePrefServiceBridge; import org.chromium.chrome.browser.util.SafetyNetCheck; diff --git a/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java b/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java index 95cb955a34ab..e11d33ae6ff4 100644 --- a/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java +++ b/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java @@ -25,8 +25,8 @@ import com.android.billingclient.api.SkuDetails; import com.android.billingclient.api.SkuDetailsParams; +import org.chromium.base.BraveFeatureList; import org.chromium.chrome.R; -import org.chromium.chrome.browser.BraveFeatureList; import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.vpn.utils.BraveVpnPrefUtils; import org.chromium.chrome.browser.vpn.utils.BraveVpnUtils; diff --git a/android/java/proguard.flags b/android/java/proguard.flags index 52da16babf0f..dcd2dbc22114 100644 --- a/android/java/proguard.flags +++ b/android/java/proguard.flags @@ -9,6 +9,15 @@ *** hideOverview(...); } +-keep class org.chromium.chrome.browser.omnibox.suggestions.AutocompleteCoordinator { + *** createViewProvider(...); +} + +-keep class org.chromium.chrome.browser.omnibox.suggestions.DropdownItemViewInfoListBuilder { + *** getVisibleSuggestionsCount(...); + *** getProcessorForSuggestion(...); +} + -keep class org.chromium.components.browser_ui.site_settings.ContentSettingsResources { *** getResourceItem(...); } diff --git a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java index a7eee44b7641..5747d11265ec 100644 --- a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java +++ b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java @@ -56,6 +56,7 @@ import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteDelegate; import org.chromium.chrome.browser.omnibox.suggestions.OmniboxPedalDelegate; import org.chromium.chrome.browser.omnibox.suggestions.SuggestionHost; +import org.chromium.chrome.browser.omnibox.suggestions.SuggestionProcessor; import org.chromium.chrome.browser.omnibox.suggestions.UrlBarDelegate; import org.chromium.chrome.browser.omnibox.suggestions.basic.BasicSuggestionProcessor.BookmarkState; import org.chromium.chrome.browser.omnibox.suggestions.mostvisited.ExploreIconProvider; @@ -97,10 +98,15 @@ import org.chromium.components.browser_ui.site_settings.WebsiteAddress; import org.chromium.components.browser_ui.widget.displaystyle.UiConfig; import org.chromium.components.browser_ui.widget.scrim.ScrimCoordinator; +import org.chromium.components.omnibox.AutocompleteMatch; +import org.chromium.components.omnibox.AutocompleteResult; import org.chromium.components.permissions.PermissionDialogController; import org.chromium.content_public.browser.BrowserContextHandle; +import org.chromium.ui.ViewProvider; import org.chromium.ui.base.WindowAndroid; import org.chromium.ui.modaldialog.ModalDialogManager; +import org.chromium.ui.modelutil.MVCListAdapter; +import org.chromium.ui.modelutil.MVCListAdapter.ModelList; import org.chromium.ui.modelutil.PropertyModel; import java.lang.reflect.Constructor; @@ -245,6 +251,18 @@ public void testClassesExist() throws Exception { classExists("org/chromium/chrome/browser/dom_distiller/BraveReaderModeManager")); Assert.assertTrue(classExists( "org/chromium/chrome/browser/share/send_tab_to_self/BraveManageAccountDevicesLinkView")); + Assert.assertTrue(classExists( + "org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator")); + Assert.assertTrue(classExists( + "org/chromium/chrome/browser/omnibox/suggestions/BraveAutocompleteCoordinator")); + Assert.assertTrue(classExists( + "org/chromium/chrome/browser/omnibox/suggestions/DropdownItemViewInfoListBuilder")); + Assert.assertTrue(classExists( + "org/chromium/chrome/browser/omnibox/suggestions/BraveDropdownItemViewInfoListBuilder")); + Assert.assertTrue(classExists( + "org/chromium/chrome/browser/omnibox/suggestions/DropdownItemViewInfoListManager")); + Assert.assertTrue(classExists( + "org/chromium/chrome/browser/omnibox/suggestions/BraveDropdownItemViewInfoListManager")); } @Test @@ -381,6 +399,19 @@ public void testMethodsForInvocationExist() throws Exception { Assert.assertTrue(methodExists("org/chromium/chrome/browser/ChromeTabbedActivity", "hideOverview", true, void.class)); + Assert.assertTrue(methodExists( + "org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator", + "createViewProvider", true, ViewProvider.class, Context.class, + MVCListAdapter.ModelList.class)); + + Assert.assertTrue(methodExists( + "org/chromium/chrome/browser/omnibox/suggestions/DropdownItemViewInfoListBuilder", + "getVisibleSuggestionsCount", true, int.class, AutocompleteResult.class)); + Assert.assertTrue(methodExists( + "org/chromium/chrome/browser/omnibox/suggestions/DropdownItemViewInfoListBuilder", + "getProcessorForSuggestion", true, SuggestionProcessor.class, + AutocompleteMatch.class, int.class)); + // Check for method type declaration changes here Assert.assertTrue(methodExists( "org/chromium/components/browser_ui/site_settings/BraveContentSettingsResources", @@ -572,6 +603,15 @@ public void testConstructorsExistAndMatch() throws Exception { Assert.assertTrue(constructorsMatch( "org/chromium/chrome/browser/crash/ChromePureJavaExceptionReporter", "org/chromium/chrome/browser/crash/BravePureJavaExceptionReporter")); + Assert.assertTrue(constructorsMatch( + "org/chromium/chrome/browser/omnibox/suggestions/DropdownItemViewInfoListBuilder", + "org/chromium/chrome/browser/omnibox/suggestions/BraveDropdownItemViewInfoListBuilder", + Supplier.class, BookmarkState.class, ExploreIconProvider.class, + OmniboxPedalDelegate.class)); + Assert.assertTrue(constructorsMatch( + "org/chromium/chrome/browser/omnibox/suggestions/DropdownItemViewInfoListManager", + "org/chromium/chrome/browser/omnibox/suggestions/BraveDropdownItemViewInfoListManager", + ModelList.class, Context.class)); } @Test @@ -724,10 +764,19 @@ public void testFieldsExist() throws Exception { Assert.assertTrue( fieldExists("org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator", "mNativeInitialized", true, boolean.class)); + Assert.assertTrue( + fieldExists("org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator", + "mDropdownViewInfoListManager")); Assert.assertTrue(fieldExists( "org/chromium/chrome/browser/ntp/NewTabPageLayout", "mMvTilesContainerLayout")); Assert.assertTrue( fieldExists("org/chromium/chrome/browser/dom_distiller/ReaderModeManager", "mTab")); + Assert.assertTrue(fieldExists( + "org/chromium/chrome/browser/omnibox/suggestions/DropdownItemViewInfoListBuilder", + "mDropdownHeight")); + Assert.assertTrue(fieldExists( + "org/chromium/chrome/browser/omnibox/suggestions/DropdownItemViewInfoListBuilder", + "mPriorityOrderedSuggestionProcessors")); } @Test @@ -783,6 +832,9 @@ public void testSuperNames() throws Exception { Assert.assertTrue( checkSuperName("org/chromium/chrome/browser/infobar/TranslateCompactInfoBar", "org/chromium/chrome/browser/infobar/BraveTranslateCompactInfoBarBase")); + Assert.assertTrue(checkSuperName( + "org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator", + "org/chromium/chrome/browser/omnibox/suggestions/BraveAutocompleteCoordinator")); } private boolean classExists(String className) { diff --git a/browser/brave_ads/android/java/org/chromium/chrome/browser/dialogs/BraveAdsSignupDialog.java b/browser/brave_ads/android/java/org/chromium/chrome/browser/dialogs/BraveAdsSignupDialog.java index 87055107c205..de7a67ffe52d 100644 --- a/browser/brave_ads/android/java/org/chromium/chrome/browser/dialogs/BraveAdsSignupDialog.java +++ b/browser/brave_ads/android/java/org/chromium/chrome/browser/dialogs/BraveAdsSignupDialog.java @@ -17,12 +17,12 @@ import android.view.View; import android.widget.ImageView; +import org.chromium.base.BraveFeatureList; import org.chromium.base.ContextUtils; import org.chromium.base.IntentUtils; import org.chromium.base.annotations.CalledByNative; import org.chromium.chrome.R; import org.chromium.chrome.browser.BraveAdsNativeHelper; -import org.chromium.chrome.browser.BraveFeatureList; import org.chromium.chrome.browser.BraveRewardsNativeWorker; import org.chromium.chrome.browser.BraveRewardsPanelPopup; import org.chromium.chrome.browser.flags.ChromeFeatureList; diff --git a/browser/ui/android/omnibox/BUILD.gn b/browser/ui/android/omnibox/BUILD.gn index 452ece24aa9a..9e81b8272032 100644 --- a/browser/ui/android/omnibox/BUILD.gn +++ b/browser/ui/android/omnibox/BUILD.gn @@ -8,20 +8,34 @@ import("//chrome/browser/buildflags.gni") android_library("java") { sources = [ + "java/src/org/chromium/chrome/browser/omnibox/OmniboxPrefManager.java", "java/src/org/chromium/chrome/browser/omnibox/status/BraveStatusMediator.java", + "java/src/org/chromium/chrome/browser/omnibox/suggestions/BraveAutocompleteCoordinator.java", "java/src/org/chromium/chrome/browser/omnibox/suggestions/BraveAutocompleteMediator.java", + "java/src/org/chromium/chrome/browser/omnibox/suggestions/BraveDropdownItemViewInfoListBuilder.java", + "java/src/org/chromium/chrome/browser/omnibox/suggestions/BraveDropdownItemViewInfoListManager.java", + "java/src/org/chromium/chrome/browser/omnibox/suggestions/BraveOmniboxSuggestionUiType.java", + "java/src/org/chromium/chrome/browser/omnibox/suggestions/BraveSuggestionHost.java", + "java/src/org/chromium/chrome/browser/omnibox/suggestions/brave_search/BraveSearchBannerProcessor.java", + "java/src/org/chromium/chrome/browser/omnibox/suggestions/brave_search/BraveSearchBannerProperties.java", + "java/src/org/chromium/chrome/browser/omnibox/suggestions/brave_search/BraveSearchBannerViewBinder.java", "java/src/org/chromium/chrome/browser/omnibox/suggestions/editurl/BraveEditUrlSuggestionProcessor.java", ] deps = [ + ":java_resources", "//base:base_java", + "//brave/android/java/org/chromium/chrome/browser/search_engines/settings:java", + "//brave/build/android:android_brave_strings_grd", "//brave/components/p3a_utils", "//chrome/browser/commerce/merchant_viewer/android:java", + "//chrome/browser/flags:java", "//chrome/browser/profiles/android:java", "//chrome/browser/share:java", "//chrome/browser/tab:java", "//chrome/browser/tabmodel:java", "//chrome/browser/ui/android/omnibox:java", + "//chrome/browser/ui/android/omnibox:java_resources", "//components/favicon/android:java", "//components/omnibox/browser:browser_java", "//components/permissions/android:java", @@ -29,6 +43,29 @@ android_library("java") { "//components/search_engines/android:java", "//components/user_prefs/android:java", "//third_party/androidx:androidx_annotation_annotation_java", + "//third_party/androidx:androidx_recyclerview_recyclerview_java", "//ui/android:ui_no_recycler_view_java", ] + + resources_package = "org.chromium.chrome.browser.omnibox" +} + +android_resources("java_resources") { + sources = [ + "java/res/drawable-hdpi/ic_brave_search_banner.png", + "java/res/drawable-mdpi/ic_brave_search_banner.png", + "java/res/drawable-night-hdpi/ic_brave_search_banner.png", + "java/res/drawable-night-mdpi/ic_brave_search_banner.png", + "java/res/drawable-night-xhdpi/ic_brave_search_banner.png", + "java/res/drawable-night-xxhdpi/ic_brave_search_banner.png", + "java/res/drawable-night-xxxhdpi/ic_brave_search_banner.png", + "java/res/drawable-xhdpi/ic_brave_search_banner.png", + "java/res/drawable-xxhdpi/ic_brave_search_banner.png", + "java/res/drawable-xxxhdpi/ic_brave_search_banner.png", + "java/res/drawable/bg_brave_search_banner.xml", + "java/res/layout/omnibox_brave_search_banner.xml", + "java/res/values-night/colors.xml", + "java/res/values/colors.xml", + "java/res/values/dimens.xml", + ] } diff --git a/browser/ui/android/omnibox/java/res/drawable-hdpi/ic_brave_search_banner.png b/browser/ui/android/omnibox/java/res/drawable-hdpi/ic_brave_search_banner.png new file mode 100644 index 000000000000..7a008e1089f4 Binary files /dev/null and b/browser/ui/android/omnibox/java/res/drawable-hdpi/ic_brave_search_banner.png differ diff --git a/browser/ui/android/omnibox/java/res/drawable-mdpi/ic_brave_search_banner.png b/browser/ui/android/omnibox/java/res/drawable-mdpi/ic_brave_search_banner.png new file mode 100644 index 000000000000..fca47ff7c293 Binary files /dev/null and b/browser/ui/android/omnibox/java/res/drawable-mdpi/ic_brave_search_banner.png differ diff --git a/browser/ui/android/omnibox/java/res/drawable-night-hdpi/ic_brave_search_banner.png b/browser/ui/android/omnibox/java/res/drawable-night-hdpi/ic_brave_search_banner.png new file mode 100644 index 000000000000..c001578b15d4 Binary files /dev/null and b/browser/ui/android/omnibox/java/res/drawable-night-hdpi/ic_brave_search_banner.png differ diff --git a/browser/ui/android/omnibox/java/res/drawable-night-mdpi/ic_brave_search_banner.png b/browser/ui/android/omnibox/java/res/drawable-night-mdpi/ic_brave_search_banner.png new file mode 100644 index 000000000000..885c3c6ff096 Binary files /dev/null and b/browser/ui/android/omnibox/java/res/drawable-night-mdpi/ic_brave_search_banner.png differ diff --git a/browser/ui/android/omnibox/java/res/drawable-night-xhdpi/ic_brave_search_banner.png b/browser/ui/android/omnibox/java/res/drawable-night-xhdpi/ic_brave_search_banner.png new file mode 100644 index 000000000000..ae2e8353f2c9 Binary files /dev/null and b/browser/ui/android/omnibox/java/res/drawable-night-xhdpi/ic_brave_search_banner.png differ diff --git a/browser/ui/android/omnibox/java/res/drawable-night-xxhdpi/ic_brave_search_banner.png b/browser/ui/android/omnibox/java/res/drawable-night-xxhdpi/ic_brave_search_banner.png new file mode 100644 index 000000000000..a9c72e21dd39 Binary files /dev/null and b/browser/ui/android/omnibox/java/res/drawable-night-xxhdpi/ic_brave_search_banner.png differ diff --git a/browser/ui/android/omnibox/java/res/drawable-night-xxxhdpi/ic_brave_search_banner.png b/browser/ui/android/omnibox/java/res/drawable-night-xxxhdpi/ic_brave_search_banner.png new file mode 100644 index 000000000000..fe9801f6c468 Binary files /dev/null and b/browser/ui/android/omnibox/java/res/drawable-night-xxxhdpi/ic_brave_search_banner.png differ diff --git a/browser/ui/android/omnibox/java/res/drawable-xhdpi/ic_brave_search_banner.png b/browser/ui/android/omnibox/java/res/drawable-xhdpi/ic_brave_search_banner.png new file mode 100644 index 000000000000..d806a11d9025 Binary files /dev/null and b/browser/ui/android/omnibox/java/res/drawable-xhdpi/ic_brave_search_banner.png differ diff --git a/browser/ui/android/omnibox/java/res/drawable-xxhdpi/ic_brave_search_banner.png b/browser/ui/android/omnibox/java/res/drawable-xxhdpi/ic_brave_search_banner.png new file mode 100644 index 000000000000..702f97cbb728 Binary files /dev/null and b/browser/ui/android/omnibox/java/res/drawable-xxhdpi/ic_brave_search_banner.png differ diff --git a/browser/ui/android/omnibox/java/res/drawable-xxxhdpi/ic_brave_search_banner.png b/browser/ui/android/omnibox/java/res/drawable-xxxhdpi/ic_brave_search_banner.png new file mode 100644 index 000000000000..10e28fe4b68c Binary files /dev/null and b/browser/ui/android/omnibox/java/res/drawable-xxxhdpi/ic_brave_search_banner.png differ diff --git a/browser/ui/android/omnibox/java/res/drawable/bg_brave_search_banner.xml b/browser/ui/android/omnibox/java/res/drawable/bg_brave_search_banner.xml new file mode 100644 index 000000000000..912bdaa6386a --- /dev/null +++ b/browser/ui/android/omnibox/java/res/drawable/bg_brave_search_banner.xml @@ -0,0 +1,16 @@ + + + + + + + + diff --git a/browser/ui/android/omnibox/java/res/layout/omnibox_brave_search_banner.xml b/browser/ui/android/omnibox/java/res/layout/omnibox_brave_search_banner.xml new file mode 100644 index 000000000000..7d7188be45eb --- /dev/null +++ b/browser/ui/android/omnibox/java/res/layout/omnibox_brave_search_banner.xml @@ -0,0 +1,87 @@ + + + + + + + + + + + + + +