diff options
Diffstat (limited to 'main/src/cgeo/geocaching/network/SmileyImage.java')
| -rw-r--r-- | main/src/cgeo/geocaching/network/SmileyImage.java | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/main/src/cgeo/geocaching/network/SmileyImage.java b/main/src/cgeo/geocaching/network/SmileyImage.java index ebac2bb..86baeaa 100644 --- a/main/src/cgeo/geocaching/network/SmileyImage.java +++ b/main/src/cgeo/geocaching/network/SmileyImage.java @@ -1,14 +1,21 @@ package cgeo.geocaching.network; import cgeo.geocaching.list.StoredList; +import cgeo.geocaching.utils.ImageUtils; +import cgeo.geocaching.utils.ImageUtils.LineHeightContainerDrawable; import org.apache.commons.lang3.tuple.ImmutablePair; import org.apache.commons.lang3.tuple.Pair; +import rx.Observable; + import android.graphics.Bitmap; import android.graphics.drawable.BitmapDrawable; import android.widget.TextView; +/** + * Specialized image class for fetching and displaying smileys in the log book. + */ public class SmileyImage extends HtmlImage { public SmileyImage(final String geocode, final TextView view) { @@ -20,10 +27,8 @@ public class SmileyImage extends HtmlImage { final Bitmap bitmap = loadResult.getLeft(); BitmapDrawable drawable; if (bitmap != null) { - final int lineHeight = (int) (view.getLineHeight() * 0.8); drawable = new BitmapDrawable(view.getResources(), bitmap); - final int width = drawable.getIntrinsicWidth() * lineHeight / drawable.getIntrinsicHeight(); - drawable.setBounds(0, 0, width, lineHeight); + drawable.setBounds(ImageUtils.scaleImageToLineHeight(drawable, view)); } else { drawable = null; @@ -31,4 +36,9 @@ public class SmileyImage extends HtmlImage { return new ImmutablePair<>(drawable, loadResult.getRight()); } + @Override + protected BitmapDrawable getContainerDrawable(final Observable<BitmapDrawable> drawable) { + return new LineHeightContainerDrawable(view, drawable); + } + } |
