aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/network/SmileyImage.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/cgeo/geocaching/network/SmileyImage.java')
-rw-r--r--main/src/cgeo/geocaching/network/SmileyImage.java16
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);
+ }
+
}