Implement WebSettings.{get|set}TextSize via {get|set}TextZoom.

TextSize is deprecated, so we wouldn't expect from WebViewProvider
implementations to re-implement it in some other way than Android WebView does
it. This also makes recently added TextSize.getValue method redundant.

Change-Id: Ia9d0c743424be0727be6d5df6c7da30514d621b7
This commit is contained in:
Mikhail Naganov
2012-08-07 18:26:52 +01:00
parent 071efcac33
commit 1202d66f78
2 changed files with 16 additions and 39 deletions

View File

@ -72,14 +72,6 @@ public abstract class WebSettings {
TextSize(int size) {
value = size;
}
/**
* @hide Only for use by WebViewProvider implementations
*/
public int getValue() {
return value;
}
int value;
}
@ -442,7 +434,7 @@ public abstract class WebSettings {
* Gets the text zoom of the page in percent.
*
* @return the text zoom of the page in percent
* @see #setTextSizeZoom
* @see #setTextZoom
*/
public synchronized int getTextZoom() {
throw new MustOverrideException();
@ -455,7 +447,7 @@ public abstract class WebSettings {
* @deprecated Use {@link #setTextZoom} instead.
*/
public synchronized void setTextSize(TextSize t) {
throw new MustOverrideException();
setTextZoom(t.value);
}
/**
@ -468,7 +460,20 @@ public abstract class WebSettings {
* @deprecated Use {@link #getTextZoom} instead.
*/
public synchronized TextSize getTextSize() {
throw new MustOverrideException();
TextSize closestSize = null;
int smallestDelta = Integer.MAX_VALUE;
int textSize = getTextZoom();
for (TextSize size : TextSize.values()) {
int delta = Math.abs(textSize - size.value);
if (delta == 0) {
return size;
}
if (delta < smallestDelta) {
smallestDelta = delta;
closestSize = size;
}
}
return closestSize != null ? closestSize : TextSize.NORMAL;
}
/**

View File

@ -649,34 +649,6 @@ public class WebSettingsClassic extends WebSettings {
return mTextSize;
}
/**
* @see android.webkit.WebSettings#setTextSize(android.webkit.WebSettingsClassic.TextSize)
*/
@Override
public synchronized void setTextSize(TextSize t) {
setTextZoom(t.value);
}
/**
* @see android.webkit.WebSettings#getTextSize()
*/
@Override
public synchronized TextSize getTextSize() {
TextSize closestSize = null;
int smallestDelta = Integer.MAX_VALUE;
for (TextSize size : TextSize.values()) {
int delta = Math.abs(mTextSize - size.value);
if (delta == 0) {
return size;
}
if (delta < smallestDelta) {
smallestDelta = delta;
closestSize = size;
}
}
return closestSize != null ? closestSize : TextSize.NORMAL;
}
/**
* Set the double-tap zoom of the page in percent. Default is 100.
* @param doubleTapZoom A percent value for increasing or decreasing the double-tap zoom.