diff options
author | Mangesh Ghiware <mghiware@google.com> | 2011-10-12 14:43:32 -0700 |
---|---|---|
committer | Mangesh Ghiware <mghiware@google.com> | 2011-10-12 15:36:31 -0700 |
commit | 67f45c29882e5f9400a38d5387fe474a42cbb620 (patch) | |
tree | e0f8d8772bb186d76f6325dc06d140c4b3b18961 /src/com/android/browser/BrowserSettings.java | |
parent | e1e4e1b2ad588f227872468cf7dbe51e647b565e (diff) | |
download | packages_apps_Browser-67f45c29882e5f9400a38d5387fe474a42cbb620.zip packages_apps_Browser-67f45c29882e5f9400a38d5387fe474a42cbb620.tar.gz packages_apps_Browser-67f45c29882e5f9400a38d5387fe474a42cbb620.tar.bz2 |
Add setting for configuring zoom level on double-tap.
Added a seek bar in Accessibility settings to configure the zoom level
on double-tap. The range is 75-125% with the default of 100% equal to
the display density.
Bug: 5312461
Change-Id: Iaf1b9f6f6659146db4031c5f819ef9cb55695b5c
Diffstat (limited to 'src/com/android/browser/BrowserSettings.java')
-rw-r--r-- | src/com/android/browser/BrowserSettings.java | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/com/android/browser/BrowserSettings.java b/src/com/android/browser/BrowserSettings.java index 145178b..f92e53b 100644 --- a/src/com/android/browser/BrowserSettings.java +++ b/src/com/android/browser/BrowserSettings.java @@ -95,6 +95,11 @@ public class BrowserSettings implements OnSharedPreferenceChangeListener, private static final int TEXT_ZOOM_START_VAL = 10; // The size of a single step in the text zoom range, in percent private static final int TEXT_ZOOM_STEP = 5; + // The initial value in the double tap zoom range + // This is what represents 100% in the SeekBarPreference range + private static final int DOUBLE_TAP_ZOOM_START_VAL = 5; + // The size of a single step in the double tap zoom range, in percent + private static final int DOUBLE_TAP_ZOOM_STEP = 5; private static BrowserSettings sInstance; @@ -248,6 +253,7 @@ public class BrowserSettings implements OnSharedPreferenceChangeListener, settings.setForceUserScalable(forceEnableUserScalable()); settings.setPluginState(getPluginState()); settings.setTextZoom(getTextZoom()); + settings.setDoubleTapZoom(getDoubleTapZoom()); settings.setAutoFillEnabled(isAutofillEnabled()); settings.setLayoutAlgorithm(getLayoutAlgorithm()); settings.setJavaScriptCanOpenWindowsAutomatically(!blockPopupWindows()); @@ -546,6 +552,15 @@ public class BrowserSettings implements OnSharedPreferenceChangeListener, return (percent - 100) / TEXT_ZOOM_STEP + TEXT_ZOOM_START_VAL; } + public int getAdjustedDoubleTapZoom(int rawValue) { + rawValue = (rawValue - DOUBLE_TAP_ZOOM_START_VAL) * DOUBLE_TAP_ZOOM_STEP; + return (int) ((rawValue + 100) * mFontSizeMult); + } + + static int getRawDoubleTapZoom(int percent) { + return (percent - 100) / DOUBLE_TAP_ZOOM_STEP + DOUBLE_TAP_ZOOM_START_VAL; + } + public SharedPreferences getPreferences() { return mPrefs; } @@ -579,6 +594,16 @@ public class BrowserSettings implements OnSharedPreferenceChangeListener, mPrefs.edit().putInt(PREF_TEXT_ZOOM, getRawTextZoom(percent)).apply(); } + public int getDoubleTapZoom() { + requireInitialization(); + int doubleTapZoom = mPrefs.getInt(PREF_DOUBLE_TAP_ZOOM, 5); + return getAdjustedDoubleTapZoom(doubleTapZoom); + } + + public void setDoubleTapZoom(int percent) { + mPrefs.edit().putInt(PREF_DOUBLE_TAP_ZOOM, getRawDoubleTapZoom(percent)).apply(); + } + // ----------------------------- // getter/setters for advanced_preferences.xml // ----------------------------- |