Add option to force tablet UI: fix initialization of ChromeSharedPreferences (#1565)
fix tab strip display (#1421)
This commit is contained in:
@@ -8,34 +8,36 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../java/res/layout/recent_tabs_page.xml | 2 +-
|
||||
.../java/res/values-sw600dp/dimens.xml | 4 ++--
|
||||
chrome/android/java/res/values/dimens.xml | 6 ++++-
|
||||
.../browser/ChromeBaseAppCompatActivity.java | 3 +++
|
||||
.../chrome/browser/WarmupManager.java | 5 +++-
|
||||
.../settings/AccessibilitySettings.java | 13 ++++++++++
|
||||
.../ChromeAccessibilitySettingsDelegate.java | 19 +++++++++++++++
|
||||
.../chrome/browser/app/ChromeActivity.java | 4 +++-
|
||||
.../overlays/strip/StripLayoutHelper.java | 10 ++++++--
|
||||
.../strip/StripLayoutHelperManager.java | 6 ++++-
|
||||
.../strip/StripLayoutHelperManager.java | 5 +++-
|
||||
.../init/ChromeBrowserInitializer.java | 2 ++
|
||||
.../tabbed_mode/TabbedRootUiCoordinator.java | 4 +++-
|
||||
.../chrome/browser/ui/RootUiCoordinator.java | 5 +++-
|
||||
chrome/browser/preferences/BUILD.gn | 1 +
|
||||
.../preferences/ChromePreferenceKeys.java | 1 +
|
||||
.../preferences/ChromeSharedPreferences.java | 8 +++++++
|
||||
.../preferences/ChromeSharedPreferences.java | 12 ++++++++++
|
||||
.../LegacyChromePreferenceKeys.java | 1 +
|
||||
.../SingleTabSwitcherOnNtpMediator.java | 1 +
|
||||
.../AppHeaderCoordinator.java | 2 ++
|
||||
.../omnibox/LocationBarCoordinator.java | 2 +-
|
||||
.../strings/android_chrome_strings.grd | 7 ++++++
|
||||
.../java/res/layout/control_container.xml | 10 ++++----
|
||||
.../java/res/layout/toolbar_tablet.xml | 2 +-
|
||||
.../java/res/values-sw600dp/dimens.xml | 5 ++--
|
||||
.../toolbar/java/res/values/dimens.xml | 5 ++--
|
||||
.../toolbar/java/res/values/dimens.xml | 6 +++--
|
||||
.../browser/toolbar/ControlContainer.java | 2 +-
|
||||
.../toolbar/top/ToolbarControlContainer.java | 24 ++++++++++++++++++-
|
||||
.../browser/toolbar/top/ToolbarLayout.java | 5 +++-
|
||||
.../TabStripTransitionCoordinator.java | 2 +-
|
||||
components/BUILD.gn | 6 ++---
|
||||
.../tab_strip/HeightTransitionHandler.java | 2 ++
|
||||
.../TabStripTransitionCoordinator.java | 6 ++++-
|
||||
.../res/xml/accessibility_preferences.xml | 5 ++++
|
||||
.../AccessibilitySettingsDelegate.java | 11 +++++++++
|
||||
.../chromium/ui/base/DeviceFormFactor.java | 9 +++++++
|
||||
31 files changed, 157 insertions(+), 30 deletions(-)
|
||||
.../chromium/ui/base/DeviceFormFactor.java | 14 +++++++++++
|
||||
33 files changed, 175 insertions(+), 27 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/res/layout/custom_tabs_control_container.xml b/chrome/android/java/res/layout/custom_tabs_control_container.xml
|
||||
--- a/chrome/android/java/res/layout/custom_tabs_control_container.xml
|
||||
@@ -93,6 +95,26 @@ diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res
|
||||
<!-- Find in Page dimensions -->
|
||||
<dimen name="find_in_page_popup_width">375dp</dimen>
|
||||
<dimen name="find_in_page_popup_height">60dp</dimen>
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java
|
||||
@@ -51,6 +51,7 @@ import org.chromium.chrome.browser.metrics.UmaSessionStats;
|
||||
import org.chromium.chrome.browser.night_mode.GlobalNightModeStateProviderHolder;
|
||||
import org.chromium.chrome.browser.night_mode.NightModeStateProvider;
|
||||
import org.chromium.chrome.browser.night_mode.NightModeUtils;
|
||||
+import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
|
||||
import org.chromium.components.browser_ui.util.AutomotiveUtils;
|
||||
import org.chromium.ui.display.DisplaySwitches;
|
||||
import org.chromium.ui.display.DisplayUtil;
|
||||
@@ -123,6 +124,8 @@ public class ChromeBaseAppCompatActivity extends AppCompatActivity
|
||||
protected void attachBaseContext(Context newBase) {
|
||||
super.attachBaseContext(newBase);
|
||||
|
||||
+ ChromeSharedPreferences.warmUp();
|
||||
+
|
||||
// Make sure the "chrome" split is loaded before checking if ClassLoaders are equal.
|
||||
SplitChromeApplication.finishPreload(CHROME_SPLIT_NAME);
|
||||
ClassLoader chromeModuleClassLoader = ChromeBaseAppCompatActivity.class.getClassLoader();
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java b/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java
|
||||
@@ -232,7 +254,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java
|
||||
@@ -455,11 +455,15 @@ public class StripLayoutHelperManager
|
||||
@@ -455,7 +455,10 @@ public class StripLayoutHelperManager
|
||||
|
||||
mIsLayoutOptimizationsEnabled =
|
||||
ToolbarFeatures.isTabStripWindowLayoutOptimizationEnabled(true);
|
||||
@@ -244,11 +266,25 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
mHeight =
|
||||
mIsLayoutOptimizationsEnabled
|
||||
? toolbarManager.getTabStripHeightSupplier().get() / mDensity
|
||||
: mScrollableStripHeight;
|
||||
+
|
||||
mTopPadding = mHeight - mScrollableStripHeight;
|
||||
mDesktopWindowStateProvider = desktopWindowStateProvider;
|
||||
mStripVisibilityStateSupplier = new ObservableSupplierImpl<>(StripVisibilityState.UNKNOWN);
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrowserInitializer.java
|
||||
@@ -17,6 +17,7 @@ import org.chromium.base.library_loader.LibraryProcessType;
|
||||
import org.chromium.base.task.ChainedTasks;
|
||||
import org.chromium.base.task.TaskTraits;
|
||||
import org.chromium.chrome.browser.flags.ChromeSwitches;
|
||||
+import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
|
||||
import org.chromium.chrome.browser.profiles.ProfileManager;
|
||||
import org.chromium.chrome.browser.signin.SigninCheckerProvider;
|
||||
import org.chromium.components.background_task_scheduler.BackgroundTaskSchedulerFactory;
|
||||
@@ -107,6 +108,7 @@ public class ChromeBrowserInitializer {
|
||||
public void handlePreNativeStartupAndLoadLibraries(final BrowserParts parts) {
|
||||
ThreadUtils.checkUiThread();
|
||||
if (parts.isActivityFinishingOrDestroyed()) return;
|
||||
+ ChromeSharedPreferences.warmUp();
|
||||
ProcessInitializationHandler.getInstance().initializePreNative();
|
||||
ProcessInitializationHandler.getInstance().initializePreNativeLibraryLoad();
|
||||
try (TraceEvent e = TraceEvent.scoped("ChromeBrowserInitializer.preInflationStartup")) {
|
||||
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
|
||||
@@ -319,7 +355,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
|
||||
@JNINamespace("android::shared_preferences")
|
||||
public class ChromeSharedPreferences {
|
||||
public static final PreferenceKeyRegistry REGISTRY =
|
||||
@@ -23,6 +25,12 @@ public class ChromeSharedPreferences {
|
||||
@@ -23,6 +25,16 @@ public class ChromeSharedPreferences {
|
||||
LegacyChromePreferenceKeys.getPrefixesInUse())
|
||||
: null);
|
||||
|
||||
@@ -328,6 +364,10 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
|
||||
+ ChromeSharedPreferences.getInstance().readBoolean(
|
||||
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, false));
|
||||
+ }
|
||||
+
|
||||
+ public static void warmUp() {
|
||||
+ // intentionally empty
|
||||
+ }
|
||||
+
|
||||
/**
|
||||
* @return The //base SharedPreferencesManager singleton.
|
||||
@@ -343,17 +383,25 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
|
||||
ChromePreferenceKeys.FONT_USER_SET_FORCE_ENABLE_ZOOM,
|
||||
ChromePreferenceKeys.HISTORY_SHOW_HISTORY_INFO,
|
||||
ChromePreferenceKeys.HOMEPAGE_ENABLED,
|
||||
diff --git a/chrome/browser/single_tab/android/java/src/org/chromium/chrome/browser/single_tab/SingleTabSwitcherOnNtpMediator.java b/chrome/browser/single_tab/android/java/src/org/chromium/chrome/browser/single_tab/SingleTabSwitcherOnNtpMediator.java
|
||||
--- a/chrome/browser/single_tab/android/java/src/org/chromium/chrome/browser/single_tab/SingleTabSwitcherOnNtpMediator.java
|
||||
+++ b/chrome/browser/single_tab/android/java/src/org/chromium/chrome/browser/single_tab/SingleTabSwitcherOnNtpMediator.java
|
||||
@@ -41,6 +41,7 @@ import org.chromium.components.browser_ui.widget.displaystyle.HorizontalDisplayS
|
||||
import org.chromium.components.browser_ui.widget.displaystyle.UiConfig;
|
||||
import org.chromium.components.browser_ui.widget.displaystyle.UiConfig.DisplayStyle;
|
||||
import org.chromium.components.embedder_support.util.UrlUtilities;
|
||||
diff --git a/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/AppHeaderCoordinator.java b/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/AppHeaderCoordinator.java
|
||||
--- a/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/AppHeaderCoordinator.java
|
||||
+++ b/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/AppHeaderCoordinator.java
|
||||
@@ -30,6 +30,7 @@ import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
|
||||
import org.chromium.chrome.browser.lifecycle.SaveInstanceStateObserver;
|
||||
import org.chromium.chrome.browser.lifecycle.TopResumedActivityChangedObserver;
|
||||
import org.chromium.chrome.browser.ui.desktop_windowing.AppHeaderUtils.DesktopWindowHeuristicResult;
|
||||
+import org.chromium.ui.base.DeviceFormFactor;
|
||||
import org.chromium.ui.modelutil.PropertyModel;
|
||||
import org.chromium.url.GURL;
|
||||
import org.chromium.ui.InsetObserver;
|
||||
import org.chromium.ui.InsetsRectProvider;
|
||||
import org.chromium.ui.util.ColorUtils;
|
||||
@@ -238,6 +239,7 @@ public class AppHeaderCoordinator
|
||||
InsetObserver insetObserver,
|
||||
InsetsRectProvider insetsRectProvider,
|
||||
@DesktopWindowHeuristicResult int currentResult) {
|
||||
+ if (DeviceFormFactor.isForceTabletUI()) return DesktopWindowHeuristicResult.IN_DESKTOP_WINDOW;
|
||||
@DesktopWindowHeuristicResult int newResult;
|
||||
|
||||
assert insetObserver.getLastRawWindowInsets() != null
|
||||
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
||||
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
||||
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
||||
@@ -459,7 +507,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/res/values-sw600dp/dimens.xm
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/res/values/dimens.xml b/chrome/browser/ui/android/toolbar/java/res/values/dimens.xml
|
||||
--- a/chrome/browser/ui/android/toolbar/java/res/values/dimens.xml
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/res/values/dimens.xml
|
||||
@@ -10,8 +10,9 @@ found in the LICENSE file.
|
||||
@@ -10,8 +10,10 @@ found in the LICENSE file.
|
||||
<dimen name="toolbar_tab_count_text_size_2_digit">10dp</dimen>
|
||||
|
||||
<!-- Tab Strip Dimensions -->
|
||||
@@ -468,6 +516,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/res/values/dimens.xml b/chro
|
||||
+ <dimen name="tab_strip_height_cromite">0dp</dimen>
|
||||
+ <dimen name="tab_strip_height_tabletui">40dp</dimen>
|
||||
+ <dimen name="tab_strip_reserved_top_padding_cromite">0dp</dimen>
|
||||
+ <dimen name="tab_strip_reserved_top_padding_tabletui">2dp</dimen>
|
||||
|
||||
<dimen name="ntp_search_box_height">64dp</dimen>
|
||||
|
||||
@@ -547,48 +596,48 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
}
|
||||
|
||||
/** Triggered when the content view for the specified tab has changed. */
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/HeightTransitionHandler.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/HeightTransitionHandler.java
|
||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/HeightTransitionHandler.java
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/HeightTransitionHandler.java
|
||||
@@ -27,6 +27,7 @@ import org.chromium.chrome.browser.toolbar.top.ToolbarLayout;
|
||||
import org.chromium.chrome.browser.toolbar.top.tab_strip.TabStripTransitionCoordinator.TabStripHeightObserver;
|
||||
import org.chromium.chrome.browser.toolbar.top.tab_strip.TabStripTransitionCoordinator.TabStripTransitionDelegate;
|
||||
import org.chromium.ui.base.ViewUtils;
|
||||
+import org.chromium.ui.base.DeviceFormFactor;
|
||||
import org.chromium.ui.resources.dynamics.DynamicResourceReadyOnceCallback;
|
||||
|
||||
/**
|
||||
@@ -450,6 +451,7 @@ class HeightTransitionHandler {
|
||||
if (TabStripTransitionCoordinator.sHeightTransitionThresholdForTesting != null) {
|
||||
return TabStripTransitionCoordinator.sHeightTransitionThresholdForTesting;
|
||||
}
|
||||
+ if (DeviceFormFactor.isForceTabletUI()) return 0;
|
||||
return TRANSITION_THRESHOLD_DP;
|
||||
}
|
||||
}
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinator.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinator.java
|
||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinator.java
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinator.java
|
||||
@@ -151,7 +151,7 @@ public class TabStripTransitionCoordinator implements ComponentCallbacks, AppHea
|
||||
@@ -27,6 +27,7 @@ import org.chromium.chrome.browser.ui.desktop_windowing.AppHeaderState;
|
||||
import org.chromium.chrome.browser.ui.desktop_windowing.AppHeaderUtils;
|
||||
import org.chromium.chrome.browser.ui.desktop_windowing.DesktopWindowStateProvider;
|
||||
import org.chromium.chrome.browser.ui.desktop_windowing.DesktopWindowStateProvider.AppHeaderObserver;
|
||||
+import org.chromium.ui.base.DeviceFormFactor;
|
||||
import org.chromium.ui.util.TokenHolder;
|
||||
|
||||
/** Class used to manage tab strip visibility and height updates. */
|
||||
@@ -151,7 +152,10 @@ public class TabStripTransitionCoordinator implements ComponentCallbacks, AppHea
|
||||
mTabStripReservedTopPadding =
|
||||
controlContainerView()
|
||||
.getResources()
|
||||
- .getDimensionPixelSize(R.dimen.tab_strip_reserved_top_padding);
|
||||
+ .getDimensionPixelSize(R.dimen.tab_strip_reserved_top_padding_cromite);
|
||||
+ .getDimensionPixelSize(
|
||||
+ DeviceFormFactor.isForceTabletUI()
|
||||
+ ? R.dimen.tab_strip_reserved_top_padding_tabletui
|
||||
+ : R.dimen.tab_strip_reserved_top_padding_cromite);
|
||||
|
||||
mOnLayoutChangedListener =
|
||||
(view, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) -> {
|
||||
diff --git a/components/BUILD.gn b/components/BUILD.gn
|
||||
--- a/components/BUILD.gn
|
||||
+++ b/components/BUILD.gn
|
||||
@@ -71,7 +71,7 @@ if (is_ios) {
|
||||
|
||||
# Omit Lacros because it allows //components to depend on //chrome, which in
|
||||
# turn depends on //extensions.
|
||||
-if (!is_chromeos_lacros) {
|
||||
+if (!is_chromeos_lacros && !is_android) {
|
||||
disallowed_extension_deps_ = [
|
||||
# Components should largely not depend on //extensions. Since // extensions
|
||||
# is not a component target and is linked with //chrome, depending on most
|
||||
@@ -877,7 +877,7 @@ test("components_unittests") {
|
||||
# On other platforms, no components should depend on Chrome.
|
||||
# Since //chrome depends on //extensions, we also only assert_no_deps on
|
||||
# extensions targets for non-lacros builds.
|
||||
- if (!is_chromeos_lacros) {
|
||||
+ if (!is_chromeos_lacros && !is_android) {
|
||||
assert_no_deps = [ "//chrome/*" ]
|
||||
assert_no_deps += disallowed_extension_deps_
|
||||
}
|
||||
@@ -1170,7 +1170,7 @@ if (use_blink) {
|
||||
# dependency. On other platforms, no components should depend on Chrome.
|
||||
# Since //chrome depends on //extensions, we also only assert_no_deps on
|
||||
# extensions targets for non-lacros builds.
|
||||
- if (!is_chromeos_lacros) {
|
||||
+ if (!is_chromeos_lacros && !is_android) {
|
||||
assert_no_deps = [ "//chrome/*" ]
|
||||
assert_no_deps += disallowed_extension_deps_
|
||||
}
|
||||
diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||
--- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||
+++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||
@@ -639,7 +688,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui
|
||||
/** See {@link #setIsTabletForTesting(boolean)}. */
|
||||
private static Boolean sIsTabletForTesting;
|
||||
|
||||
+ private static boolean mForceTabletUI = true;
|
||||
+ private static boolean mForceTabletUI = false;
|
||||
+ public static void setForceTabletUI(boolean forceTabletUI) {
|
||||
+ mForceTabletUI = forceTabletUI;
|
||||
+ }
|
||||
@@ -650,7 +699,15 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui
|
||||
/**
|
||||
* Each activity could be on a different display, and this will just tell you whether the
|
||||
* display associated with the application context is "tablet sized". Use {@link
|
||||
@@ -73,6 +81,7 @@ public class DeviceFormFactor {
|
||||
@@ -43,6 +51,7 @@ public class DeviceFormFactor {
|
||||
@CalledByNative
|
||||
@Deprecated
|
||||
public static boolean isTablet() {
|
||||
+ if (mForceTabletUI) return true;
|
||||
if (sIsTabletForTesting != null) {
|
||||
return sIsTabletForTesting;
|
||||
}
|
||||
@@ -73,6 +82,7 @@ public class DeviceFormFactor {
|
||||
* E.g. http://developer.samsung.com/samsung-dex/testing
|
||||
*/
|
||||
public static boolean isNonMultiDisplayContextOnTablet(Context context) {
|
||||
@@ -658,4 +715,36 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui
|
||||
return detectScreenWidthBucket(context) >= SCREEN_BUCKET_TABLET;
|
||||
}
|
||||
|
||||
@@ -108,6 +118,7 @@ public class DeviceFormFactor {
|
||||
* @return The screen width bucket the device is in (see constants at the top of this class).
|
||||
*/
|
||||
private static int detectScreenWidthBucket(Context context) {
|
||||
+ if (mForceTabletUI) return SCREEN_BUCKET_TABLET;
|
||||
return context.getResources().getInteger(R.integer.min_screen_width_bucket);
|
||||
}
|
||||
|
||||
@@ -115,6 +126,7 @@ public class DeviceFormFactor {
|
||||
ThreadUtils.assertOnUiThread();
|
||||
Context context = windowAndroid.getContext().get();
|
||||
if (context == null) return 0;
|
||||
+ if (mForceTabletUI) return SCREEN_BUCKET_TABLET;
|
||||
return context.getResources().getInteger(R.integer.min_screen_width_bucket);
|
||||
}
|
||||
|
||||
@@ -124,6 +136,7 @@ public class DeviceFormFactor {
|
||||
*/
|
||||
@UiThread
|
||||
public static int getNonMultiDisplayMinimumTabletWidthPx(Context context) {
|
||||
+ if (mForceTabletUI) return 0;
|
||||
return getMinimumTabletWidthPx(DisplayAndroid.getNonMultiDisplay(context));
|
||||
}
|
||||
|
||||
@@ -132,6 +145,7 @@ public class DeviceFormFactor {
|
||||
* layout.
|
||||
*/
|
||||
public static int getMinimumTabletWidthPx(DisplayAndroid display) {
|
||||
+ if (mForceTabletUI) return 0;
|
||||
return DisplayUtil.dpToPx(display, DeviceFormFactor.MINIMUM_TABLET_WIDTH_DP);
|
||||
}
|
||||
}
|
||||
--
|
||||
|
||||
Reference in New Issue
Block a user