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:
@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -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.
|
||||
|
Reference in New Issue
Block a user