[Android] Changes for search engine logo
Chromium change: https://chromium.googlesource.com/chromium/src/+/ea3ad04f98806c71fa5d7ed91faa1afeb1f61cd1 Remove search engine logo feature flag and cleanup surrounding code - Simplified the logo/no-logo padding cases and removed associated plumbing (mostly in LocationBarMediator/Phone). - Simplified SearchEngineLogoUtils as the feature is enabled by default. - Removed search engine logo feature flag. - Move ReturnToChromeExperimentsUtil#isCanonicalizedNTPUrl to UrlUtilities and generalize it a bit. Bug: 1178959
This commit is contained in:
@@ -113,6 +113,7 @@ brave_java_sources = [
|
||||
"../../brave/android/java/org/chromium/chrome/browser/ntp_background_images/util/NTPUtil.java",
|
||||
"../../brave/android/java/org/chromium/chrome/browser/ntp_background_images/util/NewTabPageListener.java",
|
||||
"../../brave/android/java/org/chromium/chrome/browser/ntp_background_images/util/SponsoredImageUtil.java",
|
||||
"../../brave/android/java/org/chromium/chrome/browser/omnibox/status/BraveStatusMediator.java",
|
||||
"../../brave/android/java/org/chromium/chrome/browser/omnibox/suggestions/editurl/BraveEditUrlSuggestionProcessor.java",
|
||||
"../../brave/android/java/org/chromium/chrome/browser/onboarding/BraveRewardsOnboardingFragment.java",
|
||||
"../../brave/android/java/org/chromium/chrome/browser/onboarding/OnViewPagerAction.java",
|
||||
|
||||
@@ -299,4 +299,12 @@
|
||||
|
||||
-keep class org.chromium.chrome.browser.notifications.BraveNotificationManagerProxyImpl {
|
||||
public <init>(...);
|
||||
}
|
||||
|
||||
-keep class org.chromium.chrome.browser.omnibox.status.StatusMediator {
|
||||
public <init>(...);
|
||||
}
|
||||
|
||||
-keep class org.chromium.chrome.browser.omnibox.status.BraveStatusMediator {
|
||||
public <init>(...);
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
/* Copyright (c) 2021 The Brave Authors. All rights reserved.
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* 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.omnibox.status;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
|
||||
import org.chromium.base.supplier.OneshotSupplier;
|
||||
import org.chromium.base.supplier.Supplier;
|
||||
import org.chromium.chrome.browser.omnibox.LocationBarDataProvider;
|
||||
import org.chromium.chrome.browser.omnibox.SearchEngineLogoUtils;
|
||||
import org.chromium.chrome.browser.omnibox.UrlBarEditingTextStateProvider;
|
||||
import org.chromium.chrome.browser.profiles.Profile;
|
||||
import org.chromium.components.permissions.PermissionDialogController;
|
||||
import org.chromium.components.search_engines.TemplateUrlService;
|
||||
import org.chromium.ui.base.WindowAndroid;
|
||||
import org.chromium.ui.modelutil.PropertyModel;
|
||||
|
||||
public class BraveStatusMediator extends StatusMediator {
|
||||
// To delete in bytecode, members from parent class will be used instead.
|
||||
private boolean mUrlHasFocus;
|
||||
|
||||
public BraveStatusMediator(PropertyModel model, Resources resources, Context context,
|
||||
UrlBarEditingTextStateProvider urlBarEditingTextStateProvider, boolean isTablet,
|
||||
LocationBarDataProvider locationBarDataProvider,
|
||||
PermissionDialogController permissionDialogController,
|
||||
SearchEngineLogoUtils searchEngineLogoUtils,
|
||||
OneshotSupplier<TemplateUrlService> templateUrlServiceSupplier,
|
||||
Supplier<Profile> profileSupplier, PageInfoIPHController pageInfoIPHController,
|
||||
WindowAndroid windowAndroid) {
|
||||
super(model, resources, context, urlBarEditingTextStateProvider, isTablet,
|
||||
locationBarDataProvider, permissionDialogController, searchEngineLogoUtils,
|
||||
templateUrlServiceSupplier, profileSupplier, pageInfoIPHController, windowAndroid);
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean shouldDisplaySearchEngineIcon() {
|
||||
return super.shouldDisplaySearchEngineIcon() && mUrlHasFocus;
|
||||
}
|
||||
}
|
||||
@@ -7,6 +7,7 @@ package org.chromium.chrome.browser;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.support.test.filters.SmallTest;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
@@ -33,6 +34,10 @@ import org.chromium.chrome.browser.identity_disc.IdentityDiscController;
|
||||
import org.chromium.chrome.browser.init.StartupTabPreloader;
|
||||
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
|
||||
import org.chromium.chrome.browser.multiwindow.MultiWindowModeStateDispatcher;
|
||||
import org.chromium.chrome.browser.omnibox.LocationBarDataProvider;
|
||||
import org.chromium.chrome.browser.omnibox.SearchEngineLogoUtils;
|
||||
import org.chromium.chrome.browser.omnibox.UrlBarEditingTextStateProvider;
|
||||
import org.chromium.chrome.browser.omnibox.status.PageInfoIPHController;
|
||||
import org.chromium.chrome.browser.tab.Tab;
|
||||
import org.chromium.chrome.browser.tabmodel.AsyncTabParamsManager;
|
||||
import org.chromium.chrome.browser.tabmodel.ChromeTabCreator;
|
||||
@@ -49,6 +54,7 @@ import org.chromium.chrome.browser.ui.system.StatusBarColorController;
|
||||
import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
|
||||
import org.chromium.components.browser_ui.widget.scrim.ScrimCoordinator;
|
||||
import org.chromium.components.embedder_support.browser_context.BrowserContextHandle;
|
||||
import org.chromium.components.permissions.PermissionDialogController;
|
||||
import org.chromium.ui.base.WindowAndroid;
|
||||
import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||
import org.chromium.ui.modelutil.PropertyModel;
|
||||
@@ -159,6 +165,9 @@ public class BytecodeTest {
|
||||
"org/chromium/chrome/browser/tasks/tab_management/TabUiFeatureUtilities"));
|
||||
Assert.assertTrue(classExists(
|
||||
"org/chromium/chrome/browser/tasks/tab_management/BraveTabUiFeatureUtilities"));
|
||||
Assert.assertTrue(classExists("org/chromium/chrome/browser/omnibox/status/StatusMediator"));
|
||||
Assert.assertTrue(
|
||||
classExists("org/chromium/chrome/browser/omnibox/status/BraveStatusMediator"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -311,6 +320,14 @@ public class BytecodeTest {
|
||||
"org/chromium/components/browser_ui/notifications/NotificationManagerProxyImpl",
|
||||
"org/chromium/chrome/browser/notifications/BraveNotificationManagerProxyImpl",
|
||||
Context.class));
|
||||
Assert.assertTrue(
|
||||
constructorsMatch("org/chromium/chrome/browser/omnibox/status/StatusMediator",
|
||||
"org/chromium/chrome/browser/omnibox/status/BraveStatusMediator",
|
||||
PropertyModel.class, Resources.class, Context.class,
|
||||
UrlBarEditingTextStateProvider.class, boolean.class,
|
||||
LocationBarDataProvider.class, PermissionDialogController.class,
|
||||
SearchEngineLogoUtils.class, OneshotSupplier.class, Supplier.class,
|
||||
PageInfoIPHController.class, WindowAndroid.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -38,6 +38,7 @@ java_binary("java_bytecode_rewriter") {
|
||||
"//brave/build/android/bytecode/java/org/brave/bytecode/BraveSettingsLauncherImplClassAdapter.java",
|
||||
"//brave/build/android/bytecode/java/org/brave/bytecode/BraveSingleCategorySettingsClassAdapter.java",
|
||||
"//brave/build/android/bytecode/java/org/brave/bytecode/BraveSiteSettingsDelegateClassAdapter.java",
|
||||
"//brave/build/android/bytecode/java/org/brave/bytecode/BraveStatusMediatorClassAdapter.java",
|
||||
"//brave/build/android/bytecode/java/org/brave/bytecode/BraveTabGroupUiCoordinatorClassAdapter.java",
|
||||
"//brave/build/android/bytecode/java/org/brave/bytecode/BraveTabSwitcherModeTTCoordinatorPhoneClassAdapter.java",
|
||||
"//brave/build/android/bytecode/java/org/brave/bytecode/BraveTabSwitcherModeTTPhoneClassAdapter.java",
|
||||
|
||||
@@ -37,6 +37,7 @@ public class BraveClassAdapter {
|
||||
chain = new BraveSettingsLauncherImplClassAdapter(chain);
|
||||
chain = new BraveSingleCategorySettingsClassAdapter(chain);
|
||||
chain = new BraveSiteSettingsDelegateClassAdapter(chain);
|
||||
chain = new BraveStatusMediatorClassAdapter(chain);
|
||||
chain = new BraveTabbedActivityClassAdapter(chain);
|
||||
chain = new BraveTabGroupUiCoordinatorClassAdapter(chain);
|
||||
chain = new BraveTabSwitcherModeTTCoordinatorPhoneClassAdapter(chain);
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
/* Copyright (c) 2021 The Brave Authors. All rights reserved.
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* 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.brave.bytecode;
|
||||
|
||||
import org.objectweb.asm.ClassVisitor;
|
||||
|
||||
public class BraveStatusMediatorClassAdapter extends BraveClassVisitor {
|
||||
static String sStatusMediatorClassName =
|
||||
"org/chromium/chrome/browser/omnibox/status/StatusMediator";
|
||||
static String sBraveStatusMediatorClassName =
|
||||
"org/chromium/chrome/browser/omnibox/status/BraveStatusMediator";
|
||||
|
||||
public BraveStatusMediatorClassAdapter(ClassVisitor visitor) {
|
||||
super(visitor);
|
||||
|
||||
redirectConstructor(sStatusMediatorClassName, sBraveStatusMediatorClassName);
|
||||
|
||||
deleteField(sBraveStatusMediatorClassName, "mUrlHasFocus");
|
||||
makeProtectedField(sStatusMediatorClassName, "mUrlHasFocus");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user