Fixed scaling of inline images

pull/217/head
M66B 11 months ago
parent ae803e4719
commit 0bfd8bf015

@ -568,6 +568,9 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
float scale = (textSize == 0 ? 1.0f : size / (textSize * message_zoom / 100f)); float scale = (textSize == 0 ? 1.0f : size / (textSize * message_zoom / 100f));
boolean show_images = properties.getValue("images", message.id); boolean show_images = properties.getValue("images", message.id);
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
boolean inline = prefs.getBoolean("inline_images", false);
if (scale > 10) if (scale > 10)
return true; return true;
@ -578,11 +581,13 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
// Image size // Image size
Spanned spanned = (Spanned) tvBody.getText(); Spanned spanned = (Spanned) tvBody.getText();
for (ImageSpan img : spanned.getSpans(0, spanned.length(), ImageSpan.class)) { for (ImageSpan img : spanned.getSpans(0, spanned.length(), ImageSpan.class)) {
String source = img.getSource();
boolean embedded = (source != null && source.startsWith("cid:"));
Drawable d = img.getDrawable(); Drawable d = img.getDrawable();
int w = 0; int w = 0;
int h = 0; int h = 0;
if (img instanceof ImageSpanEx) { if (img instanceof ImageSpanEx) {
if (show_images) { if (show_images || (embedded && inline)) {
w = ((ImageSpanEx) img).getWidth(); w = ((ImageSpanEx) img).getWidth();
h = ((ImageSpanEx) img).getHeight(); h = ((ImageSpanEx) img).getHeight();
} else { } else {

Loading…
Cancel
Save