Skip to content

Commit

Permalink
Merge pull request #10664 from brave/cr97
Browse files Browse the repository at this point in the history
  • Loading branch information
bridiver authored and mkarolin committed Dec 14, 2021
1 parent 26282ec commit 60c86e0
Show file tree
Hide file tree
Showing 522 changed files with 2,585 additions and 2,716 deletions.
2 changes: 2 additions & 0 deletions android/brave_java_sources.gni
Original file line number Diff line number Diff line change
Expand Up @@ -131,11 +131,13 @@ brave_java_sources = [
"../../brave/android/java/org/chromium/chrome/browser/download/settings/BraveDownloadSettings.java",
"../../brave/android/java/org/chromium/chrome/browser/externalnav/BraveExternalNavigationHandler.java",
"../../brave/android/java/org/chromium/chrome/browser/feedback/BraveHelpAndFeedbackLauncherImpl.java",
"../../brave/android/java/org/chromium/chrome/browser/firstrun/BraveFirstRunFlowSequencer.java",
"../../brave/android/java/org/chromium/chrome/browser/firstrun/BraveFreIntentCreator.java",
"../../brave/android/java/org/chromium/chrome/browser/firstrun/P3aOnboardingActivity.java",
"../../brave/android/java/org/chromium/chrome/browser/help/BraveHelpAndFeedbackLauncher.java",
"../../brave/android/java/org/chromium/chrome/browser/homepage/BraveHomepageManager.java",
"../../brave/android/java/org/chromium/chrome/browser/homepage/settings/BraveHomepageSettings.java",
"../../brave/android/java/org/chromium/chrome/browser/infobar/BraveInfoBarIdentifier.java",
"../../brave/android/java/org/chromium/chrome/browser/informers/BraveAndroidSyncDisabledInformer.java",
"../../brave/android/java/org/chromium/chrome/browser/language/settings/BraveLanguageSettings.java",
"../../brave/android/java/org/chromium/chrome/browser/local_database/BraveStatsTable.java",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,17 @@

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.Px;

import org.chromium.base.ApiCompatibilityUtils;
import org.chromium.base.supplier.Supplier;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.bookmarks.BookmarkBridge;
import org.chromium.chrome.browser.feed.shared.FeedSurfaceDelegate;
import org.chromium.chrome.browser.feed.hooks.FeedHooks;
import org.chromium.chrome.browser.feed.sections.SectionHeaderView;
import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncher;
import org.chromium.chrome.browser.native_page.NativePageNavigationDelegate;
import org.chromium.chrome.browser.ntp.NewTabPageLaunchOrigin;
import org.chromium.chrome.browser.ntp.SnapScrollHelper;
import org.chromium.chrome.browser.ntp.snippets.SectionHeaderView;
import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManagerImpl;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.share.ShareDelegate;
Expand All @@ -42,24 +43,24 @@ public class BraveFeedSurfaceCoordinator extends FeedSurfaceCoordinator {

public BraveFeedSurfaceCoordinator(Activity activity, SnackbarManager snackbarManager,
WindowAndroid windowAndroid, @Nullable SnapScrollHelper snapScrollHelper,
@Nullable View ntpHeader, @Nullable SectionHeaderView sectionHeaderView,
boolean showDarkBackground, FeedSurfaceDelegate delegate,
@Nullable NativePageNavigationDelegate pageNavigationDelegate, Profile profile,
boolean isPlaceholderShownInitially, BottomSheetController bottomSheetController,
@Nullable View ntpHeader, @Px int toolbarHeight, boolean showDarkBackground,
FeedSurfaceDelegate delegate, Profile profile, boolean isPlaceholderShownInitially,
BottomSheetController bottomSheetController,
Supplier<ShareDelegate> shareDelegateSupplier,
@Nullable ScrollableContainerDelegate externalScrollableContainerDelegate,
@NewTabPageLaunchOrigin int launchOrigin,
PrivacyPreferencesManagerImpl privacyPreferencesManager,
@NonNull Supplier<Toolbar> toolbarSupplier,
FeedLaunchReliabilityLoggingState launchReliabilityLoggingState,
@Nullable FeedSwipeRefreshLayout swipeRefreshLayout, boolean overScrollDisabled,
@Nullable ViewGroup viewportView, @NonNull BookmarkBridge bookmarkBridge) {
super(activity, snackbarManager, windowAndroid, snapScrollHelper, ntpHeader,
sectionHeaderView, showDarkBackground, delegate, pageNavigationDelegate, profile,
isPlaceholderShownInitially, bottomSheetController, shareDelegateSupplier,
externalScrollableContainerDelegate, launchOrigin, privacyPreferencesManager,
toolbarSupplier, launchReliabilityLoggingState, swipeRefreshLayout,
overScrollDisabled, viewportView, bookmarkBridge);
@Nullable ViewGroup viewportView, FeedActionDelegate actionDelegate,
HelpAndFeedbackLauncher helpAndFeedbackLauncher, FeedHooks feedHooks) {
super(activity, snackbarManager, windowAndroid, snapScrollHelper, ntpHeader, toolbarHeight,
showDarkBackground, delegate, profile, isPlaceholderShownInitially,
bottomSheetController, shareDelegateSupplier, externalScrollableContainerDelegate,
launchOrigin, privacyPreferencesManager, toolbarSupplier,
launchReliabilityLoggingState, swipeRefreshLayout, overScrollDisabled, viewportView,
actionDelegate, helpAndFeedbackLauncher, feedHooks);
}

@Override
Expand Down
3 changes: 2 additions & 1 deletion android/java/apk_for_test.flags
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,10 @@

-keep class org.chromium.chrome.browser.ntp.NewTabPage {
public <init>(...);
*** mBrowserControlsStateProvider;
*** mNewTabPageLayout;
*** mFeedSurfaceProvider;
*** mToolbarSupplier;
}

-keep class org.chromium.chrome.browser.ntp.BraveNewTabPage {
Expand Down Expand Up @@ -136,7 +138,6 @@
*** mOverviewModeBehaviorSupplier;
*** mSnackbarManager;
*** onOrientationChange(...);
*** updateButtonStatus(...);
*** updateBookmarkButtonStatus(...);
*** updateReloadState(...);
}
Expand Down
12 changes: 4 additions & 8 deletions android/java/org/chromium/chrome/browser/BraveSyncInformers.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
import org.chromium.chrome.R;
import org.chromium.chrome.browser.BraveSyncWorker;
import org.chromium.chrome.browser.app.BraveActivity;
import org.chromium.chrome.browser.infobar.InfoBarIdentifier;
import org.chromium.chrome.browser.infobar.BraveInfoBarIdentifier;
import org.chromium.chrome.browser.preferences.BravePrefServiceBridge;
import org.chromium.chrome.browser.settings.BraveSyncScreensPreference;
import org.chromium.chrome.browser.settings.SettingsLauncherImpl;
Expand Down Expand Up @@ -81,15 +81,11 @@ public boolean onInfoBarLinkClicked() {
return false;
}
},
// must be SYNC_V2_MIGRATE_INFOBAR_DELEGATE, but now it is introduced through
// src/brave/chromium_src/components/infobars/core/infobar_delegate.h and
// java enums are generated by //components/infobars/core:infobar_generated_enums
// who does not understand `brave/chromium_src`
InfoBarIdentifier.INLINE_UPDATE_READY_INFOBAR_ANDROID,
activity,
BraveInfoBarIdentifier.SYNC_V2_MIGRATE_INFOBAR_DELEGATE, activity,
R.drawable.sync_icon /* drawableId */,
activity.getString(R.string.brave_sync_v2_migrate_infobar_message) /* message */,
activity.getString(R.string.brave_sync_v2_migrate_infobar_command) /* primaryText */,
activity.getString(
R.string.brave_sync_v2_migrate_infobar_command) /* primaryText */,
null /* secondaryText */, null /* linkText */, false /* autoExpire */);
BraveSyncWorker.get().setSyncV2MigrateNoticeDismissed(true);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,8 @@ private void updateBookmarkMenuItem(BookmarkBridge bookmarkBridge, Tab currentTa
mBookmarkButton.setImageResource(R.drawable.btn_star_filled);
mBookmarkButton.setContentDescription(getContext().getString(R.string.edit_bookmark));
ApiCompatibilityUtils.setImageTintList(mBookmarkButton,
AppCompatResources.getColorStateList(getContext(), R.color.blue_mode_tint));
AppCompatResources.getColorStateList(
getContext(), R.color.default_icon_color_accent1_tint_list));
} else {
mBookmarkButton.setImageResource(R.drawable.btn_star);
mBookmarkButton.setContentDescription(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,8 @@

public class BraveTabbedAppMenuPropertiesDelegate extends TabbedAppMenuPropertiesDelegate {
private Menu mMenu;
AppMenuDelegate mAppMenuDelegate;
private AppMenuDelegate mAppMenuDelegate;
private ObservableSupplier<BookmarkBridge> mBookmarkBridgeSupplier;

public BraveTabbedAppMenuPropertiesDelegate(Context context,
ActivityTabProvider activityTabProvider,
Expand All @@ -65,6 +66,7 @@ public BraveTabbedAppMenuPropertiesDelegate(Context context,
snackbarManager);

mAppMenuDelegate = appMenuDelegate;
mBookmarkBridgeSupplier = bookmarkBridgeSupplier;
}

@Override
Expand Down Expand Up @@ -158,11 +160,11 @@ public void prepareMenu(Menu menu, AppMenuHandler handler) {
shareItem.setIcon(AppCompatResources.getDrawable(mContext, R.drawable.share_icon));
}

// By this we forcibly initialize mBookmarkBridge
// By this we forcibly initialize BookmarkBridge
MenuItem bookmarkItem = menu.findItem(R.id.bookmark_this_page_id);
Tab currentTab = mActivityTabProvider.get();
if (bookmarkItem != null && currentTab != null) {
updateBookmarkMenuItem(bookmarkItem, currentTab);
updateBookmarkMenuItemShortcut(bookmarkItem, currentTab);
}
}

Expand All @@ -181,7 +183,7 @@ public void onMenuDismissed() {
@Override
public void onFooterViewInflated(AppMenuHandler appMenuHandler, View view) {
// If it's still null, just hide the whole view
if (mBookmarkBridge == null) {
if (mBookmarkBridgeSupplier.get() == null) {
if (view != null) {
view.setVisibility(View.GONE);
}
Expand All @@ -193,8 +195,8 @@ public void onFooterViewInflated(AppMenuHandler appMenuHandler, View view) {

if (view instanceof AppMenuIconRowFooter) {
((AppMenuIconRowFooter) view)
.initialize(appMenuHandler, mBookmarkBridge, mActivityTabProvider.get(),
mAppMenuDelegate);
.initialize(appMenuHandler, mBookmarkBridgeSupplier.get(),
mActivityTabProvider.get(), mAppMenuDelegate);
}

// Hide bookmark button if bottom toolbar is enabled
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/* 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.firstrun;

import android.app.Activity;

public abstract class BraveFirstRunFlowSequencer extends FirstRunFlowSequencer {
public BraveFirstRunFlowSequencer(Activity activity) {
super(activity);
}

@Override
public void start() {
super.start();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
/* 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.infobar;

import androidx.annotation.IntDef;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

// Reflects enum items from chromium_src/components/infobars/core/infobar_delegate.h

@IntDef({BraveInfoBarIdentifier.INVALID, BraveInfoBarIdentifier.BRAVE_CONFIRM_P3A_INFOBAR_DELEGATE,
BraveInfoBarIdentifier.WAYBACK_MACHINE_INFOBAR_DELEGATE,
BraveInfoBarIdentifier.SYNC_V2_MIGRATE_INFOBAR_DELEGATE,
BraveInfoBarIdentifier.ANDROID_SYSTEM_SYNC_DISABLED_INFOBAR})

@Retention(RetentionPolicy.SOURCE)
public @interface BraveInfoBarIdentifier {
int INVALID = -1;
int BRAVE_CONFIRM_P3A_INFOBAR_DELEGATE = 500;
int WAYBACK_MACHINE_INFOBAR_DELEGATE = 502;
int SYNC_V2_MIGRATE_INFOBAR_DELEGATE = 503;
int ANDROID_SYSTEM_SYNC_DISABLED_INFOBAR = 504;
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
import org.chromium.base.Log;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.app.BraveActivity;
import org.chromium.chrome.browser.infobar.InfoBarIdentifier;
import org.chromium.chrome.browser.infobar.BraveInfoBarIdentifier;
import org.chromium.chrome.browser.sync.SyncService;
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.ui.messages.infobar.BraveSimpleConfirmInfoBarBuilder;
Expand Down Expand Up @@ -92,11 +92,7 @@ public boolean onInfoBarLinkClicked() {
return false;
}
},
// must be enum from
// src/brave/chromium_src/components/infobars/core/infobar_delegate.h and java enums
// are generated by //components/infobars/core:infobar_generated_enums who does not
// understand `brave/chromium_src`
InfoBarIdentifier.INLINE_UPDATE_READY_INFOBAR_ANDROID, activity,
BraveInfoBarIdentifier.ANDROID_SYSTEM_SYNC_DISABLED_INFOBAR, activity,
R.drawable.ic_warning_circle,
activity.getString(R.string.brave_sync_android_sync_disabled),
activity.getString(R.string.brave_open_system_sync_settings),
Expand Down
27 changes: 16 additions & 11 deletions android/java/org/chromium/chrome/browser/ntp/BraveNewTabPage.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,12 @@
import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider;
import org.chromium.chrome.browser.compositor.layouts.OverviewModeBehavior;
import org.chromium.chrome.browser.feed.BraveFeedSurfaceCoordinator;
import org.chromium.chrome.browser.feed.FeedFeatures;
import org.chromium.chrome.browser.feed.FeedLaunchReliabilityLoggingState;
import org.chromium.chrome.browser.feed.FeedSurfaceProvider;
import org.chromium.chrome.browser.feed.FeedSwipeRefreshLayout;
import org.chromium.chrome.browser.feed.shared.FeedFeatures;
import org.chromium.chrome.browser.feed.shared.FeedSurfaceProvider;
import org.chromium.chrome.browser.feed.hooks.FeedHooksImpl;
import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl;
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManagerImpl;
import org.chromium.chrome.browser.profiles.Profile;
Expand All @@ -29,13 +32,16 @@
import org.chromium.chrome.browser.toolbar.top.Toolbar;
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
import org.chromium.chrome.browser.ui.native_page.NativePageHost;
import org.chromium.chrome.browser.xsurface.FeedLaunchReliabilityLogger.SurfaceType;
import org.chromium.components.browser_ui.bottomsheet.BottomSheetController;
import org.chromium.ui.base.WindowAndroid;

public class BraveNewTabPage extends NewTabPage {
private Supplier<Toolbar> mToolbarSupplier;
// To delete in bytecode, members from parent class will be used instead.
private BrowserControlsStateProvider mBrowserControlsStateProvider;
private NewTabPageLayout mNewTabPageLayout;
private FeedSurfaceProvider mFeedSurfaceProvider;
private Supplier<Toolbar> mToolbarSupplier;

public BraveNewTabPage(Activity activity,
BrowserControlsStateProvider browserControlsStateProvider,
Expand All @@ -55,8 +61,6 @@ public BraveNewTabPage(Activity activity,
if (mNewTabPageLayout instanceof BraveNewTabPageLayout) {
((BraveNewTabPageLayout) mNewTabPageLayout).setTab(tab);
}

mToolbarSupplier = toolbarSupplier;
}

@Override
Expand All @@ -71,16 +75,17 @@ protected void initializeMainView(Activity activity, WindowAndroid windowAndroid

assert !FeedFeatures.isFeedEnabled();
mFeedSurfaceProvider = new BraveFeedSurfaceCoordinator(activity, snackbarManager,
windowAndroid, new SnapScrollHelper(mNewTabPageManager, mNewTabPageLayout),
mNewTabPageLayout, null, isInNightMode, this,
mNewTabPageManager.getNavigationDelegate(), profile,
windowAndroid, new SnapScrollHelperImpl(mNewTabPageManager, mNewTabPageLayout),
mNewTabPageLayout, mBrowserControlsStateProvider.getTopControlsHeight(),
isInNightMode, this, profile,
/* isPlaceholderShownInitially= */ false, bottomSheetController,
shareDelegateSupplier, /* externalScrollableContainerDelegate= */ null,
NewTabPageUtils.decodeOriginFromNtpUrl(url),
PrivacyPreferencesManagerImpl.getInstance(), mToolbarSupplier,
/* FeedLaunchReliabilityLoggingState */ null,
new FeedLaunchReliabilityLoggingState(SurfaceType.NEW_TAB_PAGE, mConstructedTimeNs),
FeedSwipeRefreshLayout.create(activity, R.id.toolbar_container),
/* overScrollDisabled= */ false,
/* viewportView= */ null, new BookmarkBridge(profile));
/* overScrollDisabled= */ false, /* viewportView= */ null,
/* actionDelegate= */ null, HelpAndFeedbackLauncherImpl.getInstance(),
FeedHooksImpl.getInstance());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
import org.chromium.chrome.browser.custom_layout.VerticalViewPager;
import org.chromium.chrome.browser.explore_sites.ExploreSitesBridge;
import org.chromium.chrome.browser.feed.FeedSurfaceScrollDelegate;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
import org.chromium.chrome.browser.local_database.DatabaseHelper;
Expand Down Expand Up @@ -1211,7 +1212,7 @@ private void processFeed() {
@Override
public void initialize(NewTabPageManager manager, Activity activity,
TileGroup.Delegate tileGroupDelegate, boolean searchProviderHasLogo,
boolean searchProviderIsGoogle, ScrollDelegate scrollDelegate,
boolean searchProviderIsGoogle, FeedSurfaceScrollDelegate scrollDelegate,
ContextMenuManager contextMenuManager, UiConfig uiConfig, Supplier<Tab> tabProvider,
ActivityLifecycleDispatcher lifecycleDispatcher, NewTabPageUma uma, boolean isIncognito,
WindowAndroid windowAndroid) {
Expand Down
Loading

0 comments on commit 60c86e0

Please sign in to comment.