From aae99413fc59faba805a533380ecef0681093aba Mon Sep 17 00:00:00 2001 From: "jdduke@chromium.org" Date: Fri, 21 Feb 2014 20:53:26 +0000 Subject: [PATCH] [Android] Provide fallback scaling constants in ViewConfiguration Certain devices may lack the internal Android dimension lookups for MinScalingSpan and MinScalingTouchMajor. Provide sensible default backups for this case. BUG=345602 NOTRY=true Review URL: https://codereview.chromium.org/175493002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@252641 0039d316-1c4b-4281-b951-d872f2087c98 --- ui/android/java/res/values/dimens.xml | 8 ++++++++ ui/android/java/resource_map/org/chromium/ui/R.java | 2 ++ .../org/chromium/ui/gfx/ViewConfigurationHelper.java | 10 ++++++++-- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/ui/android/java/res/values/dimens.xml b/ui/android/java/res/values/dimens.xml index ef768b74e359d2..2c16c3fc129bec 100644 --- a/ui/android/java/res/values/dimens.xml +++ b/ui/android/java/res/values/dimens.xml @@ -15,4 +15,12 @@ 44dp 1px + + 27.0mm + 48.0dp + diff --git a/ui/android/java/resource_map/org/chromium/ui/R.java b/ui/android/java/resource_map/org/chromium/ui/R.java index 094313092c5843..309edc68d50d3c 100644 --- a/ui/android/java/resource_map/org/chromium/ui/R.java +++ b/ui/android/java/resource_map/org/chromium/ui/R.java @@ -73,5 +73,7 @@ public static final class dimen { public static int autofill_text_height; public static int autofill_text_divider_height; public static int color_button_height; + public static int config_minScalingSpan; + public static int config_minScalingTouchMajor; } } diff --git a/ui/android/java/src/org/chromium/ui/gfx/ViewConfigurationHelper.java b/ui/android/java/src/org/chromium/ui/gfx/ViewConfigurationHelper.java index 1026d014181a59..a6ef398abb91dc 100644 --- a/ui/android/java/src/org/chromium/ui/gfx/ViewConfigurationHelper.java +++ b/ui/android/java/src/org/chromium/ui/gfx/ViewConfigurationHelper.java @@ -12,6 +12,7 @@ import org.chromium.base.CalledByNative; import org.chromium.base.JNINamespace; +import org.chromium.ui.R; /** * This class facilitates access to ViewConfiguration-related properties, also @@ -100,14 +101,19 @@ private int getScaledDoubleTapSlop() { @CalledByNative private int getScaledMinScalingSpan() { final Resources res = mAppContext.getResources(); - final int id = res.getIdentifier("config_minScalingSpan", "dimen", "android"); + int id = res.getIdentifier("config_minScalingSpan", "dimen", "android"); + // Fall back to a sensible default if the internal identifier does not exist. + if (id == 0) id = res.getDimensionPixelSize(R.dimen.config_minScalingSpan); return res.getDimensionPixelSize(id); + } @CalledByNative private int getScaledMinScalingTouchMajor() { final Resources res = mAppContext.getResources(); - final int id = res.getIdentifier("config_minScalingTouchMajor", "dimen", "android"); + int id = res.getIdentifier("config_minScalingTouchMajor", "dimen", "android"); + // Fall back to a sensible default if the internal identifier does not exist. + if (id == 0) id = res.getDimensionPixelSize(R.dimen.config_minScalingTouchMajor); return res.getDimensionPixelSize(id); }