Respect WebView max height

pull/208/head
M66B 2 years ago
parent eafc005367
commit ff5443c645

@ -1952,20 +1952,19 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
tvNoInternetBody.setVisibility(suitable || content ? View.GONE : View.VISIBLE); tvNoInternetBody.setVisibility(suitable || content ? View.GONE : View.VISIBLE);
grpDownloading.setVisibility(content ? View.GONE : View.VISIBLE); grpDownloading.setVisibility(content ? View.GONE : View.VISIBLE);
int height = properties.getHeight(message.id, 0); boolean show_full = properties.getValue("full", message.id);
if (height == 0) { if (show_full)
tvBody.setVisibility(View.GONE);
wvBody.setVisibility(View.GONE); wvBody.setVisibility(View.GONE);
} else { else {
boolean show_full = properties.getValue("full", message.id); int height = properties.getHeight(message.id, 0);
if (show_full) { if (height == 0)
wvBody.setVisibility(View.INVISIBLE); tvBody.setVisibility(View.GONE);
wvBody.setMinimumHeight(height); else {
} else {
tvBody.setVisibility(View.INVISIBLE); tvBody.setVisibility(View.INVISIBLE);
tvBody.setMinHeight(height); tvBody.setMinHeight(height);
} }
} }
vwRipple.setVisibility(View.GONE); vwRipple.setVisibility(View.GONE);
pbBody.setVisibility(View.GONE); pbBody.setVisibility(View.GONE);
@ -2572,7 +2571,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
wvBody = webView; wvBody = webView;
} }
webView.setMinimumHeight(height); webView.setMinimumHeight(dp60);
int maxHeight = (rv == null ? 0 : rv.getHeight() - rv.getPaddingTop()); int maxHeight = (rv == null ? 0 : rv.getHeight() - rv.getPaddingTop());
webView.init(height, maxHeight, size, position, force_light, webView.init(height, maxHeight, size, position, force_light,

@ -217,6 +217,12 @@ public class WebViewEx extends WebView implements DownloadListener, View.OnLongC
settings.setBlockNetworkImage(!show_images); settings.setBlockNetworkImage(!show_images);
} }
@Override
public void setMinimumHeight(int minHeight) {
super.setMinimumHeight(minHeight);
Log.i("Set min height=" + minHeight);
}
@Override @Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
if (legacy) { if (legacy) {
@ -230,6 +236,8 @@ public class WebViewEx extends WebView implements DownloadListener, View.OnLongC
int mh = getMeasuredHeight(); int mh = getMeasuredHeight();
Log.i("Measured height=" + mh + " last=" + height + "/" + maxHeight + " ch=" + getContentHeight()); Log.i("Measured height=" + mh + " last=" + height + "/" + maxHeight + " ch=" + getContentHeight());
if (mh > maxHeight)
setMeasuredDimension(getMeasuredWidth(), maxHeight);
if (mh == 0 && legacy) if (mh == 0 && legacy)
setMeasuredDimension(getMeasuredWidth(), height); setMeasuredDimension(getMeasuredWidth(), height);
} }

Loading…
Cancel
Save