fix crash on tablet

This commit is contained in:
Carmelo Messina 2021-11-25 09:38:19 +01:00
parent 785af3a5b2
commit 8d9bed8fcc
No known key found for this signature in database
GPG key ID: 968894BE688289FD

View file

@ -19,6 +19,7 @@ Enable incognito custom tabs and fix crashes for incognito/custom tab intents (c
.../browser/init/StartupTabPreloader.java | 14 +++-
.../privacy/settings/PrivacySettings.java | 37 ++++++++-
.../browser/settings/SettingsActivity.java | 4 +
.../tabbed_mode/TabbedRootUiCoordinator.java | 6 +-
.../browser/tabmodel/ChromeTabCreator.java | 16 +++-
.../browser/tabmodel/TabPersistentStore.java | 10 +++
.../webapps/WebappIntentDataProvider.java | 14 ++++
@ -26,7 +27,7 @@ Enable incognito custom tabs and fix crashes for incognito/custom tab intents (c
.../strings/android_chrome_strings.grd | 13 +++
chrome/browser/ui/messages/android/BUILD.gn | 1 +
.../snackbar/INeedSnackbarManager.java | 27 +++++++
19 files changed, 243 insertions(+), 35 deletions(-)
20 files changed, 248 insertions(+), 36 deletions(-)
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java
create mode 100644 chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/INeedSnackbarManager.java
@ -430,6 +431,33 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
}
@Override
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
@@ -117,6 +117,8 @@ import org.chromium.ui.base.DeviceFormFactor;
import org.chromium.ui.base.IntentRequestTracker;
import org.chromium.ui.modaldialog.ModalDialogManager;
import org.chromium.ui.util.TokenHolder;
+import org.chromium.base.ContextUtils;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
/**
* A {@link RootUiCoordinator} variant that controls tabbed-mode specific UI.
@@ -479,11 +481,13 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
// TODO(twellington): Supply TabModelSelector as well and move initialization earlier.
if (DeviceFormFactor.isNonMultiDisplayContextOnTablet(mActivity)) {
+ boolean tabModel = ContextUtils.getAppSharedPreferences().getBoolean(
+ AlwaysIncognitoLinkInterceptor.PREF_ALWAYS_INCOGNITO, false);
AppMenuHandler appMenuHandler =
mAppMenuCoordinator == null ? null : mAppMenuCoordinator.getAppMenuHandler();
mEmptyBackgroundViewWrapper = new EmptyBackgroundViewWrapper(
mTabModelSelectorSupplier.get(),
- mTabCreatorManagerSupplier.get().getTabCreator(false), mActivity,
+ mTabCreatorManagerSupplier.get().getTabCreator(tabModel), mActivity,
appMenuHandler, mSnackbarManagerSupplier.get(), mOverviewModeBehaviorSupplier);
mEmptyBackgroundViewWrapper.initialize();
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java