Add play service mojom code in toolbar for ref
Remove dcheck for tab webcontents
This commit is contained in:
@@ -50,6 +50,7 @@ import androidx.core.content.ContextCompat;
|
||||
import androidx.core.content.res.ResourcesCompat;
|
||||
|
||||
import org.chromium.base.ApiCompatibilityUtils;
|
||||
import org.chromium.base.BraveFeatureList;
|
||||
import org.chromium.base.BravePreferenceKeys;
|
||||
import org.chromium.base.BraveReflectionUtil;
|
||||
import org.chromium.base.ContextUtils;
|
||||
@@ -75,6 +76,7 @@ import org.chromium.chrome.browser.custom_layout.popup_window_tooltip.PopupWindo
|
||||
import org.chromium.chrome.browser.customtabs.CustomTabActivity;
|
||||
import org.chromium.chrome.browser.customtabs.features.toolbar.CustomTabToolbar;
|
||||
import org.chromium.chrome.browser.dialogs.BraveAdsSignupDialog;
|
||||
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
import org.chromium.chrome.browser.lifecycle.ConfigurationChangedObserver;
|
||||
import org.chromium.chrome.browser.local_database.BraveStatsTable;
|
||||
import org.chromium.chrome.browser.local_database.DatabaseHelper;
|
||||
@@ -86,6 +88,7 @@ import org.chromium.chrome.browser.onboarding.OnboardingPrefManager;
|
||||
import org.chromium.chrome.browser.onboarding.SearchActivity;
|
||||
import org.chromium.chrome.browser.onboarding.v2.HighlightItem;
|
||||
import org.chromium.chrome.browser.onboarding.v2.HighlightView;
|
||||
import org.chromium.chrome.browser.playlist.PlaylistServiceFactoryAndroid;
|
||||
import org.chromium.chrome.browser.preferences.BravePref;
|
||||
import org.chromium.chrome.browser.preferences.BravePrefServiceBridge;
|
||||
import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
|
||||
@@ -128,6 +131,9 @@ import org.chromium.components.user_prefs.UserPrefs;
|
||||
import org.chromium.content_public.browser.NavigationHandle;
|
||||
import org.chromium.mojo.bindings.ConnectionErrorHandler;
|
||||
import org.chromium.mojo.system.MojoException;
|
||||
import org.chromium.playlist.mojom.Playlist;
|
||||
import org.chromium.playlist.mojom.PlaylistItem;
|
||||
import org.chromium.playlist.mojom.PlaylistService;
|
||||
import org.chromium.ui.UiUtils;
|
||||
import org.chromium.ui.base.ViewUtils;
|
||||
import org.chromium.ui.interpolators.BakedBezierInterpolator;
|
||||
@@ -200,6 +206,7 @@ public abstract class BraveToolbarLayoutImpl extends ToolbarLayout
|
||||
Collections.synchronizedSet(new HashSet<Integer>());
|
||||
|
||||
private CookieListOptInPageAndroidHandler mCookieListOptInPageAndroidHandler;
|
||||
private PlaylistService mPlaylistService;
|
||||
|
||||
private enum BIGTECH_COMPANY { Google, Facebook, Amazon }
|
||||
|
||||
@@ -215,6 +222,10 @@ public abstract class BraveToolbarLayoutImpl extends ToolbarLayout
|
||||
if (mCookieListOptInPageAndroidHandler != null) {
|
||||
mCookieListOptInPageAndroidHandler.close();
|
||||
}
|
||||
if (ChromeFeatureList.isEnabled(BraveFeatureList.BRAVE_PLAYLIST)
|
||||
&& mPlaylistService != null) {
|
||||
mPlaylistService.close();
|
||||
}
|
||||
super.destroy();
|
||||
if (mBraveRewardsNativeWorker != null) {
|
||||
mBraveRewardsNativeWorker.RemoveObserver(this);
|
||||
@@ -356,6 +367,10 @@ public abstract class BraveToolbarLayoutImpl extends ToolbarLayout
|
||||
public void onConnectionError(MojoException e) {
|
||||
mCookieListOptInPageAndroidHandler = null;
|
||||
initCookieListOptInPageAndroidHandler();
|
||||
if (ChromeFeatureList.isEnabled(BraveFeatureList.BRAVE_PLAYLIST)) {
|
||||
mPlaylistService = null;
|
||||
initPlaylistService();
|
||||
}
|
||||
}
|
||||
|
||||
private void initCookieListOptInPageAndroidHandler() {
|
||||
@@ -368,10 +383,21 @@ public abstract class BraveToolbarLayoutImpl extends ToolbarLayout
|
||||
this);
|
||||
}
|
||||
|
||||
private void initPlaylistService() {
|
||||
if (mPlaylistService != null) {
|
||||
return;
|
||||
}
|
||||
|
||||
mPlaylistService = PlaylistServiceFactoryAndroid.getInstance().getPlaylistService(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onNativeLibraryReady() {
|
||||
super.onNativeLibraryReady();
|
||||
initCookieListOptInPageAndroidHandler();
|
||||
if (ChromeFeatureList.isEnabled(BraveFeatureList.BRAVE_PLAYLIST)) {
|
||||
initPlaylistService();
|
||||
}
|
||||
mBraveShieldsContentSettings = BraveShieldsContentSettings.getInstance();
|
||||
mBraveShieldsContentSettings.addObserver(mBraveShieldsContentSettingsObserver);
|
||||
|
||||
@@ -487,6 +513,12 @@ public abstract class BraveToolbarLayoutImpl extends ToolbarLayout
|
||||
&& mBraveRewardsNativeWorker.IsSupported()) {
|
||||
showBraveRewardsOnboardingModal();
|
||||
}
|
||||
if (ChromeFeatureList.isEnabled(BraveFeatureList.BRAVE_PLAYLIST)
|
||||
&& !tab.getUrl().getSpec().startsWith(UrlConstants.CHROME_SCHEME)
|
||||
&& !UrlUtilities.isNTPUrl(tab.getUrl().getSpec())
|
||||
&& tab.getUrl().domainIs(YOUTUBE_DOMAIN) && mPlaylistService != null) {
|
||||
// TODO DEEP : find contents from the page and show the playlist button
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -25,7 +25,6 @@ void BraveShieldsWebContentsObserver::DispatchBlockedEventForWebContents(
|
||||
|
||||
int tabId = 0;
|
||||
TabAndroid* tab = TabAndroid::FromWebContents(web_contents);
|
||||
DCHECK(tab);
|
||||
if (tab) {
|
||||
tabId = tab->GetAndroidId();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user